1. 程式人生 > 其它 >達夢資料庫使用者管理和表空間管理

達夢資料庫使用者管理和表空間管理

1. 連線客戶端

linux作業系統中,通過disql命令,連線至dm客戶端。


上圖中使用的使用者為資料庫例項初始化時預設建立的dba使用者,使用者名稱為SYSDBA,密碼為SYSDBA。需要注意的是,如果資料庫帶有特殊符號,則需要用\”\”將密碼包起來,如


2. 使用者管理

建立新使用者,並指定預設表空間,被指定的表空間必須存在

create user "dmtest" identified by "dmtest123456" default tablespace main ;


修改使用者預設表空間,修改後所指定的表空間必須先被建立

alter user "dmtest" default tablespace "testone" ;


給使用者賦予publicresource角色許可權,使使用者對資料庫有操作許可權


查詢當前可以賦予使用者的角色

select * from session_roles ;


查詢可以賦給使用者的系統操作許可權

select * from DBA_SYS_PRIVS ;


賦予使用者在指定表的指定許可權

grant select on table dmtest.person to dmtest ;

grant update,delete,insert on table dmtest.person to dmtest ;


回收使用者在指定表上的所有許可權

revoke all privileges on table dmtest.person from dmtest ;


許可權轉授,使使用者可以將相依的許可權賦予其它使用者,賦權的時候指定with admin option (系統許可權) with grant option (物件許可權)

grant create table to dmtest with admin option ;


查詢當前使用者作為物件擁有者、授權者或被授權者的資料庫物件許可權

select * from user_tab_privs ;

   

查詢當前使用者擁有的角色

select * from user_role_privs ;


查詢當前使用者擁有的系統許可權

select * from user_sys_privs ;


檢視當前資料庫所擁有的使用者

select * from dba_users ;


檢視所有物件被賦予的許可權

select u.username,a.* from SYS.SYSAUTH$ a,dba_users u where u.user_id=a.grantee#;


刪除使用者

drop user dmtest ;

當該使用者模式存在資料時,必須指定關鍵字cascade


3. 表空間管理

建立表空間,並指定兩個資料檔案

create tablespace "testtwo" datafile '/database/dm8/myinst/dm8/data/DAMENG/testtwo1.DBF' size 64 , '/database/dm8/myinst/dm8/data/DAMENG/testtwo2.DBF' size 64 ;


修改表空間自動擴充套件屬性

alter tablespace "testtwo" datafile '/database/dm8/myinst/dm8/data/DAMENG/testtwo1.DBF' autoextend on ;


給表空間新增資料檔案 初始64MB 自動擴充套件 每次擴充套件5MB 最大100MB

alter tablespace "testtwo" add datafile '/database/dm8/myinst/dm8/data/DAMENG/testtwo3.DBF' size 64 autoextend on next 5 maxsize 100 ;


修改表空間名字

alter tablespace "testtwo" rename to "newtesttwo" ;

修改表空間資料檔案路徑, 重命名錶空間資料檔案時,表空間必須處於 OFFLINE 狀態,修改成功後再將表空間修改為 ONLINE 狀態

alter tablespace "newtesttwo" offline;

alter tablespace " newtesttwo " rename datafile ' testtwo1.DBF' to '/database/dm8/myinst/dm8/data/ testtwo1.DBF' ;

alter tablespace " newtesttwo " online;


刪除表空間

drop tablespace "newtesttwo" ;