国产数据库的未来!
DM达梦数据库日常运维命令
关键字:DM V8、数据库、常用SQL、日常运维命令

1.数据库自身信息
1.1 查询实例信息
SQL> select name inst_name from v$instance;

行号 INST_NAME


1 DMSERVER

已用时间: 11.211(毫秒). 执行号:15.

1.2 查询数据库当前状态
SQL> select status$ from v$instance;

行号 STATUS$


1 OPEN

1.3 查询DB_MAGIC
SQL> select db_magic from v$rlog;

行号 DB_MAGIC


1 1040931148

1.4 查询是否归档
SQL> select arch_mode from v$database;

行号 ARCH_MODE


1 N

1.5 查询授权截止有效期
SQL> select EXPIRED_DATE from v$license;

行号 EXPIRED_DATE


1 2021-06-01

1.6 查看等待情况
SQL> select class_name,total_waits count from v$wait_class;
未选定行

已用时间: 116.087(毫秒). 执行号:27.

1.7 查看数据库配置端口
SQL> select para_name,para_value from v$dm_ini where para_name like ‘%PORT%’;

行号 PARA_NAME PARA_VALUE


1 PORT_NUM 5236
2 ELOG_REPORT_LINK_SQL 0
3 DFS_HUGE_SUPPORT 1
4 EXTERNAL_JFUN_PORT 6363
5 EXTERNAL_AP_PORT 4236
6 DCRS_PORT_NUM 6236
7 AP_PORT_NUM 0
8 DW_PORT 0
9 DCP_PORT_NUM 5237
10 HA_OTHER_INST_PORT 65534
11 HA_INST_CHECK_PORT 65534

11 rows got

已用时间: 96.994(毫秒). 执行号:8.

1.8 查询数据库最大连接数
SQL> select SF_GET_PARA_VALUE(2,‘MAX_SESSIONS’);

行号 SF_GET_PARA_VALUE(2,‘MAX_SESSIONS’)


1 100

已用时间: 1.961(毫秒). 执行号:5.

1.9 查询命令执行计划
SQL> explain select * from test_table;

1 #NSET2: [0, 1, 56]
2 #PRJT2: [0, 1, 56]; exp_num(2), is_atom(FALSE)
3 #CSCN2: [0, 1, 56]; INDEX33555607(TEST_TABLE)

已用时间: 3.655(毫秒). 执行号:0.

1.10 查询用户密码限制登录次数和密码过期天数
SQL> select u.username,p.FAILED_NUM,p.life_time from SYSUSERS p,dba_users u where p.FAILED_NUM not in (‘0’) order by 1,2 ;

行号 USERNAME FAILED_NUM LIFE_TIME


1 SYS 3 0
2 SYSAUDITOR 3 0
3 SYSDBA 3 0
4 SYSSSO 3 0
5 TEST 3 0

已用时间: 12.079(毫秒). 执行号:66.

注释:life_time为0,表示不限制密码过期天数

1.11 查询数据库字符集
SQL> select SF_GET_UNICODE_FLAG();

行号 SF_GET_UNICODE_FLAG()


1 0

已用时间: 0.321(毫秒). 执行号:38.
SQL> select UNICODE ();

行号 UNICODE()


1 0

已用时间: 0.288(毫秒). 执行号:39.
注释:0 表示 GB18030,1 表示 UTF-8,2 表示 EUC-KR

1.12 修改密码策略
SQL> SP_SET_PARA_VALUE(1,‘PWD_POLICY’,3);
DMSQL 过程已成功完成
已用时间: 10.188(毫秒). 执行号:7.

系统支持的口令策略有:
0无策略
1禁止与用户名相同
2口令长度不小于9
4至少包含一个大写字母(A-Z)
8至少包含一个数字(0-9)
16至少包含一个标点符号(英文输入法状态下,除”和空格外的所有符号)

口令策略可单独应用,也可组合应用。比如我们即要求禁止用户名与密码相同,又要求口令至少包含一个大写字母,则设置口令策略为1+4=5即可。

1.13 查看密码策略
SQL> select * from v$dm_ini a where a.PARA_NAME = ‘PWD_POLICY’;

行号 PARA_NAME PARA_VALUE MIN_VALUE MAX_VALUE MPP_CHK SESS_VALUE FILE_VALUE


       DESCRIPTION             PARA_TYPE
       ----------------------- ---------

1 PWD_POLICY 2 0 31 N 2 2
Flag of password policy SYS

已用时间: 16.146(毫秒). 执行号:4.

1.14 查看每个用户的密码策略
SQL> select username,password_versions,account_status from dba_users;

行号 USERNAME PASSWORD_VERSIONS ACCOUNT_STATUS


1 SYSDBA 0 OPEN
2 SYS 0 OPEN
3 TEST12345 3 OPEN
4 TEST 2 OPEN
5 SYSSSO 0 OPEN
6 SYSAUDITOR 0 OPEN

6 rows got

已用时间: 185.814(毫秒). 执行号:11.

2.数据库文件/空间信息
2.1 查询归档信息
SQL> select * from v$dm_arch_ini;

行号 ARCH_NAME ARCH_TYPE ARCH_DEST ARCH_FILE_SIZE


       ARCH_SPACE_LIMIT ARCH_HANG_FLAG ARCH_TIMER_NAME ARCH_IS_VALID ARCH_WAIT_APPLY
       ---------------- -------------- --------------- ------------- ---------------
       ARCH_INCOMING_PATH ARCH_CURR_DEST                         
       ------------------ ---------------------------------------

1 ARCHIVE_LOCAL1 LOCAL /home/dmdba/opt/dmdbms/data/DAMENG/arch 128
5000 1 NULL Y NULL
NULL /home/dmdba/opt/dmdbms/data/DAMENG/arch

已用时间: 0.565(毫秒). 执行号:12.

2.2 查看控制文件
SQL> select para_value name from v$dm_ini where para_name=‘CTL_PATH’;

行号 NAME


1 /dmdbms/data/DAMENG/dm.ctl

已用时间: 31.907(毫秒). 执行号:11.

2.3 查询日志文件
SQL> select GROUP_ID ,FILE_ID,PATH,CLIENT_PATH from v$rlogfile;

行号 GROUP_ID FILE_ID PATH CLIENT_PATH


1 2 0 /home/dmdba/opt/dmdbms/data/DAMENG/DAMENG01.log DAMENG01.log
2 2 1 /home/dmdba/opt/dmdbms/data/DAMENG/DAMENG02.log DAMENG02.log

2.4 查询数据库占用空间
注释:默认为M为单位

SQL> select sum(bytes/1024/1024)|| ‘M’ from dba_data_files;

行号 SUM(BYTES/1024/1024)||‘M’


1 289M

2.5 查询数据文件位置
SQL> select GROUP_ID , ID ,path,STATUS$ from v$datafile;

行号 GROUP_ID ID PATH STATUS$


1 0 0 /home/dmdba/opt/dmdbms/data/DAMENG/SYSTEM.DBF 1
2 1 0 /home/dmdba/opt/dmdbms/data/DAMENG/ROLL.DBF 1
3 3 0 /home/dmdba/opt/dmdbms/data/DAMENG/TEMP.DBF 1
4 4 0 /home/dmdba/opt/dmdbms/data/DAMENG/MAIN.DBF 1

2.6 查询表空间大小
SQL> select FILE_NAME,FILE_ID,TABLESPACE_NAME,BYTES/1024/1024||‘M’ from dba_data_files;

行号 FILE_NAME FILE_ID TABLESPACE_NAME BYTES/1024/1024||‘M’


1 /home/dmdba/opt/dmdbms/data/DAMENG/SYSTEM.DBF 0 SYSTEM 23M
2 /home/dmdba/opt/dmdbms/data/DAMENG/TEST.DBF 0 TEST 50M
3 /home/dmdba/opt/dmdbms/data/DAMENG/MAIN.DBF 0 MAIN 128M
4 /home/dmdba/opt/dmdbms/data/DAMENG/TEMP.DBF 0 TEMP 10M
5 /home/dmdba/opt/dmdbms/data/DAMENG/ROLL.DBF 0 ROLL 128M

2.7 查看表空间使用情况
SQL> select t1.NAME tablespace_name,
t2.FREE_SIZESF_GET_PAGE_SIZE()/1024/1024 ||‘M’ free_space,
t2.TOTAL_SIZE
SF_GET_PAGE_SIZE()/1024/1024 ||‘M’ total_space,
t2.FREE_SIZE*100/t2.total_size “% FREE”
from VTABLESPACEt1,VTABLESPACE t1, VTABLESPACEt1,VDATAFILE t2 where t1.ID=t2.GROUP_ID;

行号 TABLESPACE_NAME FREE_SPACE TOTAL_SPACE % FREE


1 SYSTEM 17M 24M 74
2 MAIN 120M 128M 94
3 TEMP 9M 10M 99
4 ROLL 119M 128M 93

2.8 查询当前用户模式
SQL> SELECT SYS_CONTEXT (‘userenv’, ‘current_schema’) FROM DUAL;

行号 SYS_CONTEXT(‘userenv’,‘current_schema’)


1 SYSDBA

已用时间: 79.134(毫秒). 执行号:6.

3.数据库用户/角色信息
3.1 查询数据库有哪些用户
SQL> select username from dba_users;

行号 USERNAME


1 SYSDBA
2 SYS
3 SYSSSO
4 SYSAUDITOR

已用时间: 9.740(毫秒). 执行号:6.

3.2 查询数据库用户信息
SQL> select username,user_id,default_tablespace,profile from dba_users;

行号 USERNAME USER_ID DEFAULT_TABLESPACE PROFILE


1 SYSDBA 50331649 MAIN /home/dmdba/opt/dmdbms/data/DAMENG/MAIN.DBF
2 SYS 50331648 SYSTEM /home/dmdba/opt/dmdbms/data/DAMENG/SYSTEM.DBF
3 SYSSSO 50331651 SYSTEM /home/dmdba/opt/dmdbms/data/DAMENG/SYSTEM.DBF
4 SYSAUDITOR 50331650 SYSTEM /home/dmdba/opt/dmdbms/data/DAMENG/SYSTEM.DBF

3.3 查看数据库对象
SQL> select t2.name owner,t1.subtype$ object_type,t1.valid status,count(1) count# from sysobjects t1,sysobjects t2 where t1.schid=t2.id and t1.schid!=0 group by t2.name,t1.subtype$,t1.valid;

行号 OWNER OBJECT_TYPE STATUS COUNT#


1 SYS INDEX Y 287
2 DEM INDEX Y 149
3 CTISYS STAB Y 1
4 CTISYS CONS Y 1
5 CTISYS INDEX Y 1
6 SYSSSO STAB Y 8
7 SYSSSO CONS Y 9
8 SYSSSO INDEX Y 9
9 SYSAUDITOR STAB Y 4
10 SYSAUDITOR CONS Y 2
11 SYSAUDITOR INDEX Y 5

3.4 查询用户对象
select * from user_objects;

行号 OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE


       CREATED                                                                                             
       ----------------------------------------------------------------------------------------------------
       LAST_DDL_TIME                                                                                       
       ----------------------------------------------------------------------------------------------------
       TIMESTAMP                                                                                           
       ----------------------------------------------------------------------------------------------------
       STATUS TEMPORARY GENERATED SECONDARY NAMESPACE EDITION_NAME
       ------ --------- --------- --------- --------- ------------

312 ADMIN_AUDIT_SQL NULL 1287 NULL TABLE
2020-08-20 18:07:18.521000
2020-08-20 18:07:18.000000
2020-08-20 18:07:18.521000
VALID N N NULL NULL NULL

312 rows got

已用时间: 793.928(毫秒). 执行号:55.

3.5 查看角色类型
SQL> select * from dba_roles;

行号 ROLE PASSWORD_REQUIRED AUTHENTICATION_TYPE


1 DBA NULL NULL
2 DB_AUDIT_ADMIN NULL NULL
3 DB_AUDIT_OPER NULL NULL
4 DB_AUDIT_PUBLIC NULL NULL
5 DB_AUDIT_SOI NULL NULL
6 DB_AUDIT_VTI NULL NULL
7 DB_POLICY_ADMIN NULL NULL

7 rows got

已用时间: 5.827(毫秒). 执行号:9.

3.6 查看用户的角色和权限
SQL> select * from SYS.DBA_ROLE_PRIVS ;

行号 GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE


1 SYSDBA DBA Y NULL
2 DBA VTI Y NULL
3 SYSDBA SYS_ADMIN N NULL
4 SYSDBA SOI Y NULL
5 TEST SOI N NULL
6 SYSDBA RESOURCE Y NULL
7 SYSDBA PUBLIC Y NULL
8 TEST PUBLIC N NULL
9 DB_POLICY_ADMIN DB_POLICY_VTI Y NULL
10 SYSSSO DB_POLICY_SOI Y NULL
11 SYSSSO DB_POLICY_PUBLIC Y NULL

行号 GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE


12 SYSSSO DB_POLICY_OPER Y NULL
13 SYSSSO DB_POLICY_ADMIN Y NULL
14 DB_AUDIT_ADMIN DB_AUDIT_VTI Y NULL
15 SYSAUDITOR DB_AUDIT_SOI Y NULL
16 SYSAUDITOR DB_AUDIT_PUBLIC Y NULL
17 SYSAUDITOR DB_AUDIT_OPER Y NULL
18 SYSAUDITOR DB_AUDIT_ADMIN Y NULL

18 rows got

已用时间: 4.989(毫秒). 执行号:48.

3.7 表空间脱机/在线
SQL> alter tablespace “TEST” offline;
操作已执行
已用时间: 280.323(毫秒). 执行号:4.
SQL> alter tablespace “TEST” online;
操作已执行
已用时间: 121.133(毫秒). 执行号:5.

4.数据库运维信息
4.1 创建表空间
注释:默认大小为M

SQL> create tablespace TEST datafile ‘/home/dmdba/opt/dmdbms/data/DAMENG/TEST.DBF’ size 50;
操作已执行
已用时间: 15.041(毫秒). 执行号:28.

4.2 查询总表数量
SQL> select count(*) from dba_tables;

行号 COUNT(*)


1 363

4.3 关闭数据库
SQL> shutdown normal; 关闭数据库
SQL> shutdown immediate; 正常方式关闭数据库
SQL> shutdown abort; 立即方式关闭数据库。数据库并不立即关闭,而是在执行某些清除工作后才关闭(终止会话、释放会话资源),需要10到20S。

4.4 创建用户
SQL> create user test1 identified by 123456789 default tablespace test;
操作已执行
已用时间: 13.383(毫秒). 执行号:36.

5.数据库表/列/视图信息
5.1 查询当前用户所有表
SQL> select table_name,tablespace_name from user_tables;

行号 TABLE_NAME TABLESPACE_NAME


1 ##PLAN_TABLE TEMP
2 ##HISTOGRAMS_TABLE TEMP
3 ADMIN_ROLE MAIN
4 ADMIN_SYS_CONFIG MAIN
5 ADMIN_USER MAIN
6 ADMIN_AUDIT MAIN
7 ADMIN_AUDIT_SQL MAIN
8 DBTOOL_DTS_TRANSFORM MAIN
9 DBTOOL_DTS_TRANSFORM_EXECUTE MAIN

5.2 查询表的大小
注释:页数,默认8KB大小

SQL> SELECT TABLE_USED_SPACE (‘SYS’,‘SYSOBJECTS’) ;

行号 TABLE_USED_SPACE(‘SYS’,‘SYSOBJECTS’)


1 160

5.3 创建新表
SQL> create table tests ( id char not null) ;
操作已执行
已用时间: 97.526(毫秒). 执行号:16.

5.4 增加表的列
SQL> alter table test_rename add ids int;
操作已执行
已用时间: 76.447(毫秒). 执行号:8.

5.5 删除表的列
SQL> alter table test_table drop ids;
操作已执行
已用时间: 107.795(毫秒). 执行号:10.

5.6 重命名表名
SQL> alter table tests rename to test_rename;
操作已执行
已用时间: 128.985(毫秒). 执行号:26.

5.7 增加表注释
SQL> comment on table test_rename is ‘AAAAAAA’;
操作已执行
已用时间: 52.596(毫秒). 执行号:37.

5.8 查询表注释
SQL> select comments from user_tab_comments where table_name = ‘TEST_RENAME’;

行号 COMMENTS


1 AAAAAAA

已用时间: 2.094(毫秒). 执行号:39.

5.8 增加列注释
SQL> comment on column test_rename.id is ‘Primary’;
操作已执行
已用时间: 5.780(毫秒). 执行号:40.

5.9 查询列注释
SQL> select * from user_col_comments where owner = ‘SYSDBA’ and table_name = ‘TEST_RENAME’ and column_name = ‘ID’;

行号 OWNER TABLE_NAME COLUMN_NAME COMMENTS


1 SYSDBA TEST_RENAME ID Primary

已用时间: 66.837(毫秒). 执行号:48.

5.10 创建视图
SQL> create view v_test as select C1,C2 from T1 where C3=‘r’;
操作已执行
已用时间: 123.383(毫秒). 执行号:12.

邮箱:286397146@qq.com
昵称:A这货不是DBA
人生短暂,何须惨淡!
欢迎指正,共同学习!

Logo

一站式 AI 云服务平台

更多推荐