达梦常用语句

时间:2024-11-11 15:36:02

1. 查询表空间

SQL> select * from V$TABLESPACE;

2. 模式查询

SQL> SELECT * FROM dba_segments;

通过系统视图查找,速度会慢很多 (7.1.4.6之前的版本不支持)

SQL> SELECT object_name from all_objects where object_type = 'SCH';

3. 查询表

SQL> select * from dba_tables where tablespace_name='%s';   //根据表空间名,大小写敏感
SQL> SELECT * FROM SYSOBJECTS WHERE schid = (SELECT object_id from all_objects where object_name = '%s' 
     and object_type = 'SCH') and (SUBTYPE$ = 'UTAB' or SUBTYPE$ = 'STAB'); 
     //根据模式名字,借助公共属性模式ID。UTAB用户表,STAB系统表

4. 关闭数据库

SQL> shutdown normal;

正常方式关闭数据库

SQL> shutdown immediate;

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

SQL> shutdown abort;

直接关闭数据库。正在访问数据库的会话会被突然终止,如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间

5. 用户和模式
用户(user):用来连接数据库访问数据库
模式(schema):模式对象是数据库数据的逻辑结构
关系:模式跟用户在oracle 是一对一的关系,db2 一个用户可以对应多个模式,dm也是一对多(mysql中没有模式概念)

6. 模式规则

  • 在同一模式下不能存在同名对象,但在不同模式中的对象名称可以相同
  • 新建表时候,可以指定表空间。如果不指定,则默认保存到MAIN
  • 用户可以直接访问其他模式对象,但如果要要访问其他模式对象,则必须具有对象权限
  • 当用户要访问其他模式对象时,必须附加模式名作后缀()

7. 表空间
dm的表空间模仿oracle的表空间
同一表空间下可以存在同名对象

SQL> alter tablespace "%s" offline;     //表空间脱机
SQL> alter tablespace "%s" online;

8. 模式切换

SQL> SELECT SYS_CONTEXT ('userenv', 'current_schema') FROM DUAL;    //当前模式
SQL> SET SCHEMA "SYSDBA";   //大小写敏感
SQL> ALTER SESSION SET CURRENT_SCHEMA = "SYSDBA";   //非常安全的一个方式

9. 数据大小

SQL> SELECT SUM(bytes) from dba_data_files; //数据库占用空间(kb为单位)
SQL> SELECT * from v$datafile; //数据库读写占用
SQL> SELECT TABLE_USED_SPACE('SYSDBA', 'D') * 1024; //表大小,大小写敏感

10. 归档模式

SQL> select arch_mode from v$database; //归档是否打开
SQL> select * from V$DM_ARCH_INI;  //归档信息

11. 实例名

SQL> select distinct value from v$parameter; 

12. 其他

SQL> select * from SYSTABLECOMMENTS;    //查询系统视图
SQL> select count(*) from dba_tables;
SQL> select * from user_tables;
SQL> select * from dba_tablespaces;
SQL> select * from user_tablespaces;
SQL> SELECT * from all_objects;
SQL> select * from dba_objects;
SQL> select * from user_objects;
SQL> select * from dba_users;

13. 特殊字符
“:默认处理方式是在”前加一个”作为标识
命令参数大小写:应用\”\”,否则它自动小写变大写。需要转义的字符加\

14. text数据类型
查找的时候不能用’=’号,要用link