1.達夢資料庫使用者說明
使用者用來連接配接資料庫并進行相關操作。除了使用者的概念,還有權限和角色兩個概念。權限制執行特定類型的SQL指令或者通路其他模式對象的權利,它用于限制使用者執行的操作。将相同權限的使用者組織在一起,一組相同權限的使用者成為角色。角色是特定權限的集合。 資料庫管理預定角色一般為 DBA、PUBLIC、RESOURCE。達夢資料庫建立使用者的文法為:
CREATE USER <使用者名>IDENTIFIED<身份驗證模式> [PASSWORD_POLICY <密碼政策>][<鎖定子 句>][<存儲加密密鑰>][<空間限制子句>][<隻讀标志>][<資源限制子句>][<允許 IP 子句>][<禁止 IP 子句>][<允許時間子句>][<禁止時間子句>][< TABLESPACE 子句>]; <身份驗證模式> ::= <資料庫身份驗證模式>|<外部身份驗證模式> <資料庫身份驗證模式> ::= BY <密碼> <外部身份驗證模式> ::= EXTERNALLY | EXTERNALLY AS <使用者 DN> <密碼政策> ::= 密碼政策項的任意組合 <鎖定子句> ::= ACCOUNT LOCK | ACCOUNT UNLOCK <存儲加密密鑰> ::= ENCRYPT BY <密碼> <空間限制子句> ::= DISKSPACE LIMIT <空間大小>| DISKSPACE UNLIMITED <隻讀标志> ::= READ ONLY | NOT READ ONLY <資源限制子句> ::= LIMIT <資源設定項>{,<資源設定項>} <資源設定項> ::= SESSION_PER_USER <參數設定>| CONNECT_IDLE_TIME <參數設定>| CONNECT_TIME <參數設定>| CPU_PER_CALL <參數設定>| CPU_PER_SESSION <參數設定>| MEM_SPACE <參數設定>| READ_PER_CALL <參數設定>| READ_PER_SESSION <參數設定>| FAILED_LOGIN_ATTEMPS <參數設定>| PASSWORD_LIFE_TIME <參數設定>| PASSWORD_REUSE_TIME <參數設定>| PASSWORD_REUSE_MAX <參數設定>| PASSWORD_LOCK_TIME <參數設定>| PASSWORD_GRACE_TIME <參數設定> <參數設定> ::=<參數值>| UNLIMITED <允許 IP 子句> ::= ALLOW_IP <IP 項>{,<IP 項>} <禁止 IP 子句> ::= NOT_ALLOW_IP <IP 項>{,<IP 項>} <IP 項> ::= <具體 IP>|<網段> <允許時間子句> ::= ALLOW_DATETIME <時間項>{,<時間項>} <禁止時間子句> ::= NOT_ALLOW_DATETIME <時間項>{,<時間項>} <時間項> ::= <具體時間段> | <規則時間段> <具體時間段> ::= <具體日期><具體時間> TO <具體日期><具體時間> <規則時間段> ::= <規則時間标志><具體時間> TO <規則時間标志><具體時間> <規則時間标志> ::= MON | TUE | WED | THURS | FRI | SAT | SUN <TABLESPACE 子句> ::=DEFAULT TABLESPACE <表空間名> |
在實際的使用中,大部分為預設值。在建立使用者時,一般要指定使用者名、密碼、資源限制、預設表空間和權限。達夢資料庫使用者名步區分大小寫,在資料庫裡面統一儲存為大寫。使用者建立如果沒有指定預設表空間, 預設使用MAIN空間,并且使用者密碼要滿足密碼政策。PWD_POLICY參數控制,改參數設定的政策如下:
- 0 無政策
- 1 禁止與使用者名相同
- 2 密碼長度不小于9
- 4 至少包含一個大寫字母(A-Z)
- 8 至少包含一個數字(0-9)
- 16 至少包含一個标點符号(英文輸入法狀态下,除“和空格外的所有符号)
密碼政策可單獨應用,也可組合應用。組合應用時,如需要應用政策2和4,則設定密碼政策為2+4=6即可。
除了在建立使用者語句中指定該使用者的密碼政策,DM的INI參數PWD_POLICY可以指定系統的預設密碼政策,其參數值的設定規則與PASSWORD
POLICY子句一緻,預設值為2。若在建立使用者時沒有使用PASSWORD POLICY子句指定使用者的密碼政策,則使用系統的預設密碼政策。
系統管理者可通過查詢V$PARAMETER動态視圖查詢PWD_POLICY的目前值。
|
2.檢視使用者相關的資訊
以下試圖可以檢視使用者的相關資訊
select * from dba_roles; 顯示角色的試圖 select * from dba_tab_privs; select username,user_id,account_status from dba_users; 顯示系統使用者 |
3. 使用者操作示範
1.建立使用者
SQL> SQL> create user suys identified by "dameng123"; 操作已執行 已用時間: 5.063(毫秒). 執行号:51906. SQL> |
2.使用者授權
SQL> SQL> grant public,resource to suys; 操作已執行 已用時間: 3.372(毫秒). 執行号:51907. SQL> SQL> select USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users; 行号 USERNAME ACCOUNT_STATUS DEFAULT_TABLESPACE TEMPORARY_TABLESPACE ---------- ---------- -------------- ------------------ -------------------- 1 SYSSSO OPEN SYSTEM TEMP 2 SYSDBA OPEN MAIN TEMP 3 SUYS OPEN MAIN TEMP 4 SYS OPEN SYSTEM TEMP 5 SYSAUDITOR OPEN SYSTEM TEMP 已用時間: 5.089(毫秒). 執行号:51910. SQL> SQL> |
可以看到使用者建立的時候,沒有指定預設表空間,那麼使用MAIN空間。 3.使用者連接配接
SQL> conn suys/dameng123 伺服器[LOCALHOST:5236]:處于普通打開狀态 登入使用時間 : 3.349(ms) SQL> SQL> select user(); 行号 USER() ---------- ------ 1 SUYS 已用時間: 1.782(毫秒). 執行号:52000. SQL> SQL> |
如果使用者包含特殊字元,需要使用雙引号将密碼包含進來,同時外層再使用單引号進行轉移,具體例子如下:
[[email protected] mnt]$ [[email protected] mnt]$ disql suys/'"dameng123"'@192.168.56.160:5236 伺服器[192.168.56.160:5236]:處于普通打開狀态 登入使用時間 : 1.131(ms) disql V8 SQL> |