达梦数据库常用知识分享 | |
---|---|
水平分区表有以下四种类型
(1)范围分区:分区列是数字或日期类型。例1,数据表中某列是年龄,范围为0~120,那么可以按年龄分区,设置不同年龄的数据在不同子表中。例2,数据表中某列是年,范围为’1900-01-01’ 最新,那么可以设置不同时期的数据在不同的子表中。
(2)列表分区:分区列是字符串类型。例如:数据表中某列是地区,如,北京、上海、广州、深圳等,那么可以设置不同地区的数据在不同的子表中。
(3)哈希分区:分区列没有限制。当列的值没有合适的分类条件时,建议使用。哈希分区是通过指定分区编号来均匀分布数据的一种分区类型,因为通过在I/O 设备上进行散列分区,使得这些分区大小一致。
(4)间隔分区:实际上是范围分区的一个扩展。以一个区间分区表为“起点”,并在定义中增加了一个规则(即间隔),使数据库知道将来如何增加分区,在数据插入的时候,如果没有适合该数据的分区,数据库会自动创建一个新的分区。
(5)组合分区:也称为多级分区表。如果一次分区不能精确地对数据分类,则可以进行多级分区。达梦最多支持八级多级分区
达梦数据库模式
普通模式(normal): 用户可以正常的访问数据库,操作没有限制
主库模式(primary):用户可以正常访问数据库,对数据库对象的修改强制生成 redo 日志,在归档有效的时候,发送 redo 日志到备库。
备库模式(standby): 接收主库发送过业的 redo 日志并重做日志,数据库对用户只读。
达梦数据库常用语句
1.建表空间和查询表空间
create tablespace <表空间名> DATAFILE ‘/路径/TBS01.DBF’ size 64 AUTOEXTEND on NEXT 2 MAXSIZE 10240;
路径可以自定义,默认建在/dm8/data/DAMENG
select * from dba_tablespaces;
2.建模式和查询模式
create schema<模式名> AUTHORIZATION <用户>;
select * from SYSOBJECTS t where t.“TYPE$” =‘SCH’;
3.建表和查询表
create table 表名 (字段名 类型,字段名 类型) TABLESPACE TBS;
SELECT * FROM 表名;
4.连接数据库和关闭数据库
cd /dm8/tool
./manager
cd /dm8/bin
./disql 用户名/密码:端口号
正常方式关闭数据库
SQL> exit;
SQL> shutdown immediate;
立即方式关闭数据库。数据库并不立即关闭,而是在执行某些清除工作后才关闭(终止会话、释放会话资源)。需要10到20S
SQL> shutdown abort;
直接关闭数据库。正在访问数据库的会话会被突然终止,如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间
5.用户和模式
用户(user):用来连接数据库访问数据库
模式(schema):模式对象是数据库数据的逻辑结构
关系:模式跟用户在oracle 是一对一的关系,db2 一个用户可以对应多个模式,dm也是一对多(mysql中没有模式概念)
6.模式规则
在同一模式下不能存在同名对象,但在不同模式中的对象名称可以相同
新建表时候,可以指定表空间。如果不指定,则默认保存到MAIN
用户可以直接访问其他模式对象,但如果要要访问其他模式对象,则必须具有对象权限
当用户要访问其他模式对象时,必须附加模式名作后缀(schema.table)
7.表空间
dm的表空间模仿oracle的表空间
同一表空间下可以存在同名对象
SQL> alter tablespace <表空间名> offline; //表空间脱机
SQL> alter tablespace <表空间名> 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 d a t a b a s e ; / / 归档是否打开 S Q L > s e l e c t ∗ f r o m V database; //归档是否打开 SQL> select * from V database;//归档是否打开SQL>select∗fromVDM_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