DM达梦数据库常用命令整理

发表时间
评论 没有

说明: 主要对DM V8数据库,常用SQL命令进行整理,方便日后进行查找,以及对状态结果是否正确的确认。命令设计的均为简单的命令,即查询,创建,定义等方式成功即可,不涉及复杂的限制参数,参考条件等。此次使用的为DM V8单实例数据库,不涉及特殊模式下,个别特殊命令的查询。

数据库自身信息

  1. 查询实例信息
SQL> select name inst_name from v$instance;
行号     INST_NAME
---------- ---------
1          DMSERVER
已用时间: 11.211(毫秒). 执行号:15.
  1. 查询数据库当前状态
SQL> select status$ from v$instance;
行号     STATUS$
---------- -------
1          OPEN
  1. 查询DB_MAGIC
SQL> select db_magic from v$rlog;
行号     DB_MAGIC            
---------- --------------------
1          1040931148
  1. 查询是否归档
SQL> select arch_mode from v$database;
行号     ARCH_MODE
---------- ---------
1          N
  1. 查询授权截止有效期
SQL> select EXPIRED_DATE  from v$license;
行号     EXPIRED_DATE                                                                                        
---------- ------------------
1          2021-06-01
  1. 查看等待情况
SQL> select class_name,total_waits count from v$wait_class;
未选定行
已用时间: 116.087(毫秒). 执行号:27.
  1. 查看数据库配置端口
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. 查询数据库最大连接数
SQL> select SF_GET_PARA_VALUE(2,'MAX_SESSIONS');
行号     SF_GET_PARA_VALUE(2,'MAX_SESSIONS')
---------- -----------------------------------
1          100
已用时间: 1.961(毫秒). 执行号:5.
  1. 查询命令执行计划
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. 查询用户密码限制登录次数和密码过期天数
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. 查询数据库字符集
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. 修改密码策略
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. 查看密码策略
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. 查看每个用户的密码策略
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.

数据库文件/空间信息

  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.
  1. 查看控制文件
SQL> select para_value name from v$dm_ini where para_name='CTL_PATH';
行号     NAME                      
---------- --------------------------
1          /dmdbms/data/DAMENG/dm.ctl
已用时间: 31.907(毫秒). 执行号:11.
  1. 查询日志文件
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
  1. 查询数据库占用空间
    注释:默认为M为单位
SQL> select sum(bytes/1024/1024)|| 'M' from dba_data_files;
行号     SUM(BYTES/1024/1024)||'M'
---------- -------------------------
1          289M
  1. 查询数据文件位置
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
  1. 查询表空间大小
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
  1. 查看表空间使用情况
SQL>  select t1.NAME tablespace_name,
    t2.FREE_SIZE*SF_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 V$TABLESPACE t1, V$DATAFILE 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
  1. 查询当前用户模式
SQL> SELECT SYS_CONTEXT ('userenv', 'current_schema') FROM DUAL;
行号     SYS_CONTEXT('userenv','current_schema')
---------- ---------------------------------------
1          SYSDBA
已用时间: 79.134(毫秒). 执行号:6.

数据库用户/角色信息

  1. 查询数据库有哪些用户
SQL> select username from dba_users;
行号     USERNAME  
---------- ----------
1          SYSDBA
2          SYS
3          SYSSSO
4          SYSAUDITOR
已用时间: 9.740(毫秒). 执行号:6.
  1. 查询数据库用户信息
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
  1. 查看数据库对象
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
  1. 查询用户对象
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.
  1. 查看角色类型
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.
  1. 查看用户的角色和权限
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.

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

数据库运维信息

  1. 创建表空间
    注释:默认大小为M
SQL> create tablespace TEST datafile '/home/dmdba/opt/dmdbms/data/DAMENG/TEST.DBF' size 50;
操作已执行
已用时间: 15.041(毫秒). 执行号:28.
  1. 查询总表数量
SQL> select count(*) from dba_tables;
行号     COUNT(*)            
---------- --------------------
1          363
  1. 关闭数据库
SQL> shutdown normal;  关闭数据库
SQL> shutdown immediate;  正常方式关闭数据库
SQL> shutdown abort;  立即方式关闭数据库。数据库并不立即关闭,而是在执行某些清除工作后才关闭(终止会话、释放会话资源),需要10到20S。
  1. 创建用户
SQL> create user test1 identified by 123456789 default tablespace test;
操作已执行
已用时间: 13.383(毫秒). 执行号:36.

数据库表/列/视图信息

  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
  1. 查询表的大小
    注释:页数,默认8KB大小
SQL> SELECT TABLE_USED_SPACE ('SYS','SYSOBJECTS') ;
行号     TABLE_USED_SPACE('SYS','SYSOBJECTS')
---------- ------------------------------------
1          160
  1. 创建新表
SQL> create table tests ( id char not null) ;
操作已执行
已用时间: 97.526(毫秒). 执行号:16.
  1. 增加表的列
SQL> alter table test_rename add ids int;
操作已执行
已用时间: 76.447(毫秒). 执行号:8.
  1. 删除表的列
SQL> alter table test_table drop ids;
操作已执行
已用时间: 107.795(毫秒). 执行号:10.
  1. 重命名表名
SQL> alter table tests rename to test_rename;
操作已执行
已用时间: 128.985(毫秒). 执行号:26.
  1. 增加表注释
SQL> comment on table test_rename is 'AAAAAAA';
操作已执行
已用时间: 52.596(毫秒). 执行号:37.
  1. 查询表注释
SQL> select comments from user_tab_comments where table_name = 'TEST_RENAME';
行号     COMMENTS
---------- --------
1          AAAAAAA
已用时间: 2.094(毫秒). 执行号:39.
  1. 增加列注释
SQL> comment on column test_rename.id is 'Primary'; 
操作已执行
已用时间: 5.780(毫秒). 执行号:40.
  1. 查询列注释
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.
  1. 创建视图
    bc. SQL> create view v_test as select C1,C2 from T1 where C3=‘r’;
    操作已执行
    已用时间: 123.383(毫秒). 执行号:12.

作者
分类 电脑网络

评论

本文评论功能已关闭。

← 较早的 较新的 →

相关文章