OracleDBA之使用者管理

2022-11-24 18:41:55 字數 3219 閱讀 2453

1.使用者的建立

在oracle資料庫建立資料庫用create user語句來實現,一般是具有dba的許可權才能實現。

demo:

sql> create user username identified by userpassword;

sql>使用者已建立。(在建立使用者時使用者密碼必須以字母開頭,否則無法建立使用者)

2.修改密碼

給使用者修改密碼:

如果給自己修改密碼可以用

1 sql>password 即可;

給別人修改密碼必須有資料庫dba許可權或者系統的alter user許可權

1  sql> alter user 使用者名稱 identified by 新密碼;

3.刪除使用者:

需要有資料庫dba許可權或者drop user 許可權

1  demo: sql> drop user 使用者名稱 【cascade】 cascade在刪除使用者的同時把使用者所建立的表也一併刪除;

4.賦許可權

建立的使用者是沒有任何許可權的,需要給他賦予一些運算元據庫的一一些許可權給使用者賦許可權用關鍵字grant, **使用者的許可權用revoke

給使用者賦予連線資料庫的許可權:

sql>grant connect to 使用者名稱;

系統許可權的傳遞性設定:

sql>grant connect to 使用者名稱 with admin option;

oracle資料庫中的許可權包括系統許可權和物件許可權

系統許可權:使用者對資料庫的相關許可權;如:建立資料庫,刪除資料庫,建立和刪除使用者;

物件許可權:使用者對其資料物件的操作許可權,資料物件如表,檢視,函式,過程等:

5.oracle 中的角色:

角色的概念:角色是多種許可權的組合包括 預定義角色和自定義角色,如connect許可權,dba許可權,resource許可權等;

connect許可權是賦予使用者連線資料庫的許可權,dab許可權是資料庫的最高許可權,resource 許可權是賦予使用者使用資料庫儲存資源的許可權即建立和操作表的許可權;

物件的許可權:select, insert, update, delete, all(包含上述的四個), create index ……常用的是對錶的操作賦予使用者物件許可權的語法如下:

1 grant 許可權 on 表名 to 使用者名稱; demo: grant select on emp to ludashi;

把scott下的表的select物件許可權賦予li;

sql>grant select on emp to li;

sql>conn li/li;

sql>select * from scott.emp; --查詢scott下的emp表,必須為scott.emp才可以查詢成功。這涉及到“方案”的概念。

如果是dba使用者,把使用者scott的下的emp表的select物件許可權賦給li使用者:

sql>grant select on scott.emp to li;(方案名.表名);

設定使用者許可權的可傳遞性:

sql>grant select on emp to li with grant option; --li使用者可以把別人賦給他的許可權在賦給其他人;

6.**使用者許可權:

revoke 許可權 on 表名 from 使用者名稱;

scott使用者撤回他賦給li使用者的select許可權:

1 revoke select on emp from li;

sys使用者撤回scott使用者把自己的emp表的select許可權賦給li;

revoke select on scott.emp from li;

desc命令: desc 表名;顯示錶結構;

7.oracle許可權的**傳遞問題:

系統角色的**問題(如connect,resources等):

sys使用者:--把連線資料庫的角色賦給test1,並設定為可傳遞性;

sql>grant connect to test1 with admin option;

test1使用者:--test1把連線資料庫的許可權傳遞給test2

sql>grant connect to test2;

test1和test2都可以連線資料庫,即test1把連線資料庫的許可權傳遞給了test2;

sys使用者:--sys使用者**test1連線資料庫的許可權

sql>revoke connect from test1;

把test1使用者的許可權**後test1,無法連線資料庫。

可對於系統角色來說**test1角色的同時,傳遞給test2的角色仍然存在;

8.許可權的**問題:

sys使用者:--sys使用者把方案scott下的emp表的select許可權賦給test1,並設定為可傳遞性;

sql>grant select on scott.emp to test1 with grant option;

test1使用者:把對emp表的select的許可權賦給test2;

sql>grant select on scott.emp to test2;

sys使用者:--**test1的select的許可權

sql>revoke select on scott.emp from test1;

在**test1的select許可權的同時也把test2的許可權**了;

9.profile使用者許可權管理:

oracle設定使用者登入次數,登入失敗幾次後自動locked使用者;

sys>使用者:create profile建立配置檔案;設定密碼錯誤三次後密碼被鎖兩天的配置檔案, 名字為filename;

sql> create profile filename limit failed_login_attempts 3 password_lock_time 2;

sql>alter user username profile filename;

使用者解鎖:

sql> alter user username account unlock;

oracle 設定使用者密碼的過期時間,即密碼的有效期;

sys使用者:建立配置檔案filename 設定密碼的過期時間是10天,寬限日是兩天;

OracleDBA之使用者管理

1.使用者的建立 在oracle資料庫建立資料庫用create user語句來實現,一般是具有dba的許可權才能實現。demo sql create user username identified by userpassword sql 使用者已建立。在建立使用者時使用者密碼必須以字母開頭,否則無...