达梦数据库是全自研的国产数据库产品,目前已经推出到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;