ORACLE使用者管理與許可權設定
建立使用者:
CREATE USER user_name
IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace_name]
[TEMPORARY TABLESPACE tablespace_name]
[QUOTA ... ON tablespace_name] --設定磁碟空間配額
[PASSWORD EXPIRE]--密碼過期,使用者登入時,提示使用者改密碼
[ACCOUNT LOCK|UNLOCK]--設定使用者是否鎖定
unlimited tablespace 許可權,可以忽略磁碟空間配額
建立時,需要有管理員許可權。
SQL> create user hh
2 identified by abc;
剛建立的使用者沒有任何許可權,也無法登入,這裡為方便操作,給其先授權,讓
其能登入。
SQL> grant create session to hh;
使用者登入:
1、在作業系統提示符下:
[oracle@t184 ~]$ sqlplus user_name/password
如:
[oracle@t184 ~]$ sqlplus hh/abc
2、在sqlplus環境下:
SQL> connect user_name/password
如:
SQL> connect hh/abc;
注:對於SYS使用者登入時要在末尾加AS SYSDBA,如:
SQL> connect sys/oracle as sysdba
[oracle@t184 ~]$ uniread sqlplus sys/oracle as sysdba
檢視當前使用者:
SQL> show user;
如果是空的話,表示當前沒使用者連線。
使用者的認證方式:
1、普通使用者密碼存放在資料庫中。可採用密碼認證和作業系統認證。
但作業系統認證比較麻煩,故很少使用。
所以普通一般採用密碼認證,使用這種方式登入
sqlplus user_name/password
2、SYSDBA 的密碼不存放在資料庫中,而放在密碼檔案中。
密碼檔案:$ORACLE_HOME/dbs/orapw+SID
SYS使用者的認證方式也有:作業系統認證和密碼檔案認證,預設操作系
統認證是開啟的。所以經常有 sqlplus "/as sysdba" (作業系統認證)
如果採用密碼檔案認證 sqlplus user_name/password as sysdba
可以嘗試,取消作業系統認證
vim $ORACLE_HOME/network/admin/sqlnet.ora 新增一行
SQLNET.AUTHENTICATION_SERVICES=(NONE)
SYSDBA使用者密碼丟失的處理:
方法一:開啟作業系統認證
vim $ORACLE_HOME/network/admin/sqlnet.ora 新增一行(如有修改)
SQLNET.AUTHENTICATION_SERVICES=(ALL)
方法二:重建密碼檔案
orapwd file=$ORACLE_HOME/dbs/orapwocp password=abcd entries=5
修改使用者密碼
ALTER USER user_name IDENTIFIED BY password
SQL> alter user hh identified by oracle;
管理員使用者可以修改其它使用者密碼,其他使用者只能修改自己的。
給使用者分配磁碟配額
ALTER USER user_name QUOTA ... ON tablespace_name
SQL> alter user hh quota 10m on users;
授權:
ORACLE許可權分為兩種型別:系統許可權和物件許可權
授予系統許可權:
GRANT 許可權名 TO 使用者名稱 [WITH ADMIN OPTION]
許可權名可以檢視資料字典:system_privilege_map
SQL> GRANT CREATE TABLE TO HH ;
收回(取消)許可權:
REVOKE 許可權名 FROM 使用者名稱
檢視系統的使用者許可權:
1、使用者自己
SQL> select * from session_privs;
2、管理員(dba_sys_privs)
SQL> select * from dba_sys_privs where grantee='HH';
物件許可權管理
物件許可權:是對特定的物件所具有的許可權,物件許可權有:
物件許可權 表檢視序列 過程
修改(alter) * *
刪除(delete) * *
執行(execute) *
索引(index) *
插入(insert) * *
關聯(reference) * *
選擇(select) * * *
更新(update) * *
物件授權:
GRANT privs_name ON object_name TO user_name
[WITH GRANT OPTION];
SQL> grant update on scott.emp to hh;
物件許可權回收:
REVOKE privs_name ON object_name FROM user_name;
SQL> revoke update on scott.emp from hh;
注:物件許可權的回收是級聯的。
檢視使用者的物件許可權(DBA_TAB_PRIVS):
DBA查:
SQL> select GRANTEE,OWNER,TABLE_NAME,GRANTOR,PRIVILEGE
from dba_tab_privs where grantee='HH';
使用者自己查:
SQL> select GRANTEE,OWNER,TABLE_NAME,GRANTOR,PRIVILEGE
2 from user_tab_privs;
授予SYSDBA許可權:
SQL> grant sysdba to h2;
注:授予SYSDBA許可權後,使用者在登入時還要注意,如果不以as sysdba
登入,仍然是普通使用者,而非SYSDBA。
檢視當前系統有哪些SYSDBA
SQL> SELECT * FROM V_$PWFILE_USERS;
角色
許可權的集合,主要是方便許可權和管理與維護。
建立角色
CREATE ROLE role_name [IDENTIFIED BY password]
SQL> create role t1;
SQL> create role t2 identified by abcd;
為角色授權
GRANT priv_name TO role_name
SQL> grant create session to t1,t2;
SQL> grant create table to t1;
SQL> grant create view to t2;
將角色授予使用者
SQL> grant t1,t2 to hh;
DBA使用者檢視使用者許可權:
1、檢視直接授權
SQL> select * from dba_sys_privs where grantee='HH';
2、檢視該使用者授予哪些角色(DBA_ROLE_PRIVS)
SQL> SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='HH';
3、檢視角色有哪些許可權(ROLE_SYS_PRIVS)
SQL> select * from role_sys_privs where role in ('T1','T2');
ORACLE 為了方便使用者的使用提供了兩個預設角色:CONNECT,RESOURCE。
為了使使用者更快的工作起來,可將這兩個角色授予使用者。但之後要仔細稽核
其許可權。
使用者許可權=單個授予+角色繼承(角色授予)
CREATE USER user_name
IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace_name]
[TEMPORARY TABLESPACE tablespace_name]
[QUOTA ... ON tablespace_name] --設定磁碟空間配額
[PASSWORD EXPIRE]--密碼過期,使用者登入時,提示使用者改密碼
[ACCOUNT LOCK|UNLOCK]--設定使用者是否鎖定
unlimited tablespace 許可權,可以忽略磁碟空間配額
建立時,需要有管理員許可權。
SQL> create user hh
2 identified by abc;
剛建立的使用者沒有任何許可權,也無法登入,這裡為方便操作,給其先授權,讓
其能登入。
SQL> grant create session to hh;
使用者登入:
1、在作業系統提示符下:
[oracle@t184 ~]$ sqlplus user_name/password
如:
[oracle@t184 ~]$ sqlplus hh/abc
2、在sqlplus環境下:
SQL> connect user_name/password
如:
SQL> connect hh/abc;
注:對於SYS使用者登入時要在末尾加AS SYSDBA,如:
SQL> connect sys/oracle as sysdba
[oracle@t184 ~]$ uniread sqlplus sys/oracle as sysdba
檢視當前使用者:
SQL> show user;
如果是空的話,表示當前沒使用者連線。
使用者的認證方式:
1、普通使用者密碼存放在資料庫中。可採用密碼認證和作業系統認證。
但作業系統認證比較麻煩,故很少使用。
所以普通一般採用密碼認證,使用這種方式登入
sqlplus user_name/password
2、SYSDBA 的密碼不存放在資料庫中,而放在密碼檔案中。
密碼檔案:$ORACLE_HOME/dbs/orapw+SID
SYS使用者的認證方式也有:作業系統認證和密碼檔案認證,預設操作系
統認證是開啟的。所以經常有 sqlplus "/as sysdba" (作業系統認證)
如果採用密碼檔案認證 sqlplus user_name/password as sysdba
可以嘗試,取消作業系統認證
vim $ORACLE_HOME/network/admin/sqlnet.ora 新增一行
SQLNET.AUTHENTICATION_SERVICES=(NONE)
SYSDBA使用者密碼丟失的處理:
方法一:開啟作業系統認證
vim $ORACLE_HOME/network/admin/sqlnet.ora 新增一行(如有修改)
SQLNET.AUTHENTICATION_SERVICES=(ALL)
方法二:重建密碼檔案
orapwd file=$ORACLE_HOME/dbs/orapwocp password=abcd entries=5
修改使用者密碼
ALTER USER user_name IDENTIFIED BY password
SQL> alter user hh identified by oracle;
管理員使用者可以修改其它使用者密碼,其他使用者只能修改自己的。
給使用者分配磁碟配額
ALTER USER user_name QUOTA ... ON tablespace_name
SQL> alter user hh quota 10m on users;
授權:
ORACLE許可權分為兩種型別:系統許可權和物件許可權
授予系統許可權:
GRANT 許可權名 TO 使用者名稱 [WITH ADMIN OPTION]
許可權名可以檢視資料字典:system_privilege_map
SQL> GRANT CREATE TABLE TO HH ;
收回(取消)許可權:
REVOKE 許可權名 FROM 使用者名稱
檢視系統的使用者許可權:
1、使用者自己
SQL> select * from session_privs;
2、管理員(dba_sys_privs)
SQL> select * from dba_sys_privs where grantee='HH';
物件許可權管理
物件許可權:是對特定的物件所具有的許可權,物件許可權有:
物件許可權 表檢視序列 過程
修改(alter) * *
刪除(delete) * *
執行(execute) *
索引(index) *
插入(insert) * *
關聯(reference) * *
選擇(select) * * *
更新(update) * *
物件授權:
GRANT privs_name ON object_name TO user_name
[WITH GRANT OPTION];
SQL> grant update on scott.emp to hh;
物件許可權回收:
REVOKE privs_name ON object_name FROM user_name;
SQL> revoke update on scott.emp from hh;
注:物件許可權的回收是級聯的。
檢視使用者的物件許可權(DBA_TAB_PRIVS):
DBA查:
SQL> select GRANTEE,OWNER,TABLE_NAME,GRANTOR,PRIVILEGE
from dba_tab_privs where grantee='HH';
使用者自己查:
SQL> select GRANTEE,OWNER,TABLE_NAME,GRANTOR,PRIVILEGE
2 from user_tab_privs;
授予SYSDBA許可權:
SQL> grant sysdba to h2;
注:授予SYSDBA許可權後,使用者在登入時還要注意,如果不以as sysdba
登入,仍然是普通使用者,而非SYSDBA。
檢視當前系統有哪些SYSDBA
SQL> SELECT * FROM V_$PWFILE_USERS;
角色
許可權的集合,主要是方便許可權和管理與維護。
建立角色
CREATE ROLE role_name [IDENTIFIED BY password]
SQL> create role t1;
SQL> create role t2 identified by abcd;
為角色授權
GRANT priv_name TO role_name
SQL> grant create session to t1,t2;
SQL> grant create table to t1;
SQL> grant create view to t2;
將角色授予使用者
SQL> grant t1,t2 to hh;
DBA使用者檢視使用者許可權:
1、檢視直接授權
SQL> select * from dba_sys_privs where grantee='HH';
2、檢視該使用者授予哪些角色(DBA_ROLE_PRIVS)
SQL> SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='HH';
3、檢視角色有哪些許可權(ROLE_SYS_PRIVS)
SQL> select * from role_sys_privs where role in ('T1','T2');
ORACLE 為了方便使用者的使用提供了兩個預設角色:CONNECT,RESOURCE。
為了使使用者更快的工作起來,可將這兩個角色授予使用者。但之後要仔細稽核
其許可權。
使用者許可權=單個授予+角色繼承(角色授予)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28894640/viewspace-1061105/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 使用者管理和許可權設定MySql
- Oracle 使用者許可權管理與常用許可權資料字典列表Oracle
- ubuntu 許可權管理設定Ubuntu
- Oracle使用者許可權管理Oracle
- 【許可權管理】Oracle中檢視、回收使用者許可權Oracle
- Oracle使用者與許可權Oracle
- Oracle11g 使用者與許可權管理Oracle
- Oracle使用者角色許可權管理Oracle
- Oracle使用者、許可權、角色管理Oracle
- MySQL 使用者管理與許可權管理MySql
- MongoDB 使用者與許可權管理MongoDB
- MySQL使用者與許可權管理MySql
- 【使用者管理】oracle使用者、角色、許可權管理Oracle
- oracle 許可權管理Oracle
- Oracle使用者、許可權、角色管理【轉】Oracle
- NAS使用者許可權的設定
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- MongoDB使用者許可權管理,設定密碼並連線MongoDB密碼
- RabbitMQ使用教程(二)RabbitMQ使用者管理,角色管理及許可權設定MQ
- 使用者許可權設計(三)——通用資料許可權管理系統設計
- oracle使用者許可權Oracle
- oracle 使用者許可權Oracle
- 如何設定許可權?
- 適配懸浮窗許可權與系統設定修改許可權
- mysql使用者許可權管理MySql
- 使用者物件許可權管理物件
- 選單許可權和按鈕許可權設定
- Oracle ERP許可權管理Oracle
- windows10管理員許可權怎麼設定_win10電腦設定管理員許可權的步驟WindowsWin10
- Oracle使用者及角色的許可權管理[Oracle基礎]Oracle
- Oracle 定義者許可權與呼叫者許可權(AUTHID CURRENT_USER)Oracle
- 使用者許可權 plsql OracleSQLOracle
- 如何使用Linux使用者身份與程式許可權的設定?Linux
- Atitit godaddy 檔案許可權 root許可權設定Go
- 使用者管理及操作許可權設定驗證寫出新思路
- windows10許可權怎麼設定_win10設定使用者許可權的方法WindowsWin10
- MySQL 使用者及許可權管理?MySql
- MySQL使用者及許可權管理MySql