達夢數據庫是全自研的國產數據庫產品,目前已經推出到DM8版本,並且有實時主備、讀寫分離、MPP、DSC的高可用架構,可以滿足不同的應用場景需求。達夢因其完全自主產權和對Oracle的高度兼容性,許多企業都在使用。本文整理了日常的達夢數據庫運維經驗,僅供參考。
一、數據庫管理
1、查看數據庫名和啟動狀態
select NAME,CREATE_TIME,ARCH_MODE,STATUS$,ROLE$ from v$database;
STATUS$實例狀態:1:啟動;2:啟動,redo 完成;3:MOUNT; 4:打開;5:掛起; 6:關閉
2、查看實例名(查看參數)
select * from v$dm_ini where PARA_NAME ='INSTANCE_NAME';
3、查看當前數據庫連接數情況
select count(*) from v$sessions;
4、查看當前所有連接數據庫session等待事件
select * from v$session_event;
5、數據庫session正在執行的sql
select sess_id,user_name,sql_text,state,trx_id from v$sessions where user_name !='SYSDBA';
----sql_text為當前會話正在執行的sql,trx_id為事務ID
二、表空間管理
1、查看表空間使用情況
select a.tablespace_name,
a.total_mb,
round(b.free_mb, 2) free_mb,
TO_CHAR(ROUND((a.total_mb - b.free_mb) / a.total_mb * 100, 2),
'990.99') || '%' "usage %"
from (select tablespace_name, sum(bytes) / 1024 / 1024 total_mb
from dba_data_files
group by tablespace_name) a,
(select tablespace_name, sum(bytes) / 1024 / 1024 free_mb
from dba_free_space
group by tablespace_name) b,
dba_tablespaces d
where a.tablespace_name = b.tablespace_name(+)
and a.tablespace_name = d.tablespace_name(+)
order by 4 desc;
2、查詢表空間及數據文件路徑 命令與oracle類似:dba_tablespace,dba_data_files,v$datafile
select FILE_NAME,TABLESPACE_NAME,BYTES/1024/1024,AUTOEXTENSIBLE from dba_data_files;
3、表空間擴容
表空間擴容有兩種方式,一種是給本來的數據文件擴容,另一種是給表空間增加數據文件。
ALTER TABLESPACE <TABLESPACE_NAME> ADD DATAFILE 'xxx' SIZE 10240 ;
ALTER TABLESPACE <TABLESPACE_NAME> RESIZE DATAFILE 'XXX' TO 10240;
三、用戶管理
1、創建用戶
create user <USERNAME> identified by "<PASSWORD>" default tablespace <TABLESPACE_NAME>;
2、查看用戶狀態
select * from dba_users;
3、修改用戶密碼
alter user <USERNAME> identified by "<PASSWORD>" ;
4、限制用戶連接數為200
alter user <USERNAME> limit session_per_user 200;