一、Oracle介绍
Oracle學習筆記
一、 Oracle介紹
?
Oracle 認證
初級:OCA:Oracle Certificated Associate?
中級:OCP:Oracle Certificated Professional
高級:OCM:Oracle Certificated Master
?
Oracle安裝完畢會自動生成 sys 用戶和 system 用戶,
?
我的電腦---管理----服務---OracleOraHome90MYORA1----右鍵啟動
---OracleOraHome90TNSListener----右鍵啟動
登錄sql-plus
用戶名:scott
密碼:tiger
字符串:默認實例 myOra1
?
sql-plus常用命令:
show user; -- 顯示當前用戶
exit; -- 退出sqlPlus
set linesize 120; --設置行字符數
set pagesize 8; --設置分頁
spool --向指定文件中輸入內容
切換用戶:conn system/manager
?
修改密碼:passw 回車—給自己修改密碼
給別人修改密碼: passw xiaoming(用戶名)
--如果給別人修改密碼需要有dba的權限或者擁有alter user的權限
編輯文件:edit
?
?
創建用戶:需要有sys或者system用戶權限,否則提示權限不足
create user xiaoming identified by m123;
?
說明:創建的用戶是沒有權限的,甚至連登錄數據庫的權限都沒有,需要為其指定相應的權限。給一個用戶賦予權限的命令是:grant,回收權限使用命令revoke
?
?
刪除用戶:一般以dba的身份刪除某個用戶,如果用其他用戶刪除用戶需要具有drop user權限;
在刪除用戶時如果該用戶已經有表了,需要帶cascade參數,用來指定該用戶創建的表級聯刪除。
命令:drop user 用戶名 [cascade]
?
權限:
在Oracle中,權限分為數據庫權限和對象權限。
系統權限包括登錄數據庫,建庫,建表,建存儲過程,建索引等;(大概有140多個)
對象權限:用戶對其他用戶的數據對象訪問/操作的權限;(大概有25個)
例如用戶訪問其他用戶的表、視圖等操作的權限;
?
數據對象:表、存儲過程、觸發器、視圖、序列、同義詞等。
?
角色:
在Oracle中,權限太多一一分配會很累,所以提出一種內置多種基本權限的集合,稱為角色;
比如:connect是一種角色,里面包含7中權限;
角色分為:自定義角色和預定義角色
預定義角色:系統內置的
自定義角色:用戶自己定義的角色
授權舉例:grant connect to xiaoming;--授權成功
常見角色介紹:
connect:連接數據庫的權限
dba:權限很高,不可輕易授予
resource:可以在任何的 表空間 建表
?
如果想要給xiaoming授予創建表的權限,需要切換到system用戶:
conn system/manager;
grant resourec to xiaoming;
--授權成功
create table user( userId varchar(30), userName varchar2(30) )
--創建成功
select * from test; -- 空的
使用desc命令查看表結構:
desc test;
列出表結構,字段名稱,是否為空,類型
?
如何讓xiaoming有可以查詢scoot的emp表的權限?
grant select on emp to xiaoming;
--授權成功
?
conn xiaoming/m1234;
select * from scoot.emp;
其中,scott.emp稱為方案。
方案:每個用戶都有一個對應的邏輯空間,稱為方案。
?
如何讓xiaoming有可以修改scoot的emp表的權限?
grant update on emp to xiaoming;
--授權成功;
說明:select, update, insert, delete,這些權限統稱為all
為了方便,可以直接授予:grant all an emp to xiaoming;
也就是對emp這張表的所有操作權限都授予給了xiaoming
?
如何收回權限?
scott希望收回xiaoming對emp表的查詢權限;
revoke select on emp from xiaoming;
?
權限
如果出了授予權限之外,還希望xiaoming具有把這個對象權限授予給其他用戶的權限,就要在grant命令后面加上:with grant option
grant select on emp to xiaoming with grant option
?
如果希望把系統權限授予給其他用戶,就要在grant命令后面加上:with admin option
grant select on emp to xiaohong with grant admin option;
?
問題:scott用戶把權限授給了xiaoming,小明又把select權限授予給了xiaohong,如果scott把xiaoming的權限給回收了,那么xiaohong怎么樣?
conn scott/m123;
create user xiaoming identified by m123;
grant connect to xiaoming;
grant all on emp to xiaoming;
conn xiaoming/m123;
create user xiaohong identified by m123;
grant connect to xiaohong;
grant selecet on emp to xiaohong;
conn scott/m123;
revoke select on emp from xiaoming;
conn xiaohong/m123;
select * from scott.emp;
----出錯,無法執行,證明:權限級聯回收了。
級聯回收管理權限。誅連九族。
?
轉載于:https://www.cnblogs.com/fanyong/archive/2013/01/31/2888219.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的一、Oracle介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL函数大全
- 下一篇: 手工打造迅雷9超精简版