達夢資料庫使用者管理和表空間管理
1. 連線客戶端
linux作業系統中,通過disql命令,連線至dm客戶端。
上圖中使用的使用者為資料庫例項初始化時預設建立的dba使用者,使用者名稱為SYSDBA,密碼為SYSDBA。需要注意的是,如果資料庫帶有特殊符號,則需要用\”\”將密碼包起來,如
2. 使用者管理
建立新使用者,並指定預設表空間,被指定的表空間必須存在
create user "dmtest" identified by "dmtest123456" default tablespace main ;
修改使用者預設表空間,修改後所指定的表空間必須先被建立
alter user "dmtest" default tablespace "testone" ;
給使用者賦予public和resource角色許可權,使使用者對資料庫有操作許可權
查詢當前可以賦予使用者的角色
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" ;