数据定义语句
DM 的数据定义语句,包括数据库修改语句、用户管理语句、模式管理语句、 表空间管理语句、表管理语句等等。
需要注意的是,在数据定义语句中有时需要指定一些文件的路径,无论用户指定的是绝 对路径还是相对路径,DM 在处理时最终都会将其统一处理为绝对路径,DM 规定这个绝对路 径的长度不能超过 256 字节。
一 、数据库修改语句
一个数据库创建成功后,可以增加和重命名日志文件,修改日志文件大小;可以修改数 据库的状态和模式;还可以进行归档配置。
语法格式
ALTER DATABASE <修改数据库语句>;
<修改数据库语句>::=
RESIZE LOGFILE <文件路径> TO <文件大小>|
ADD LOGFILE <文件说明项>{
,<文件说明项>}|
ADD NODE LOGFILE <文件说明项>,<文件说明项>{
,<文件说明项>}|
RENAME LOGFILE <文件路径>{
,<文件路径>} TO <文件路径>{
,<文件路径>}|
MOUNT |
SUSPEND |
OPEN [FORCE] | NORMAL | PRIMARY| STANDBY | ARCHIVELOG | NOARCHIVELOG |
<ADD|MODIFY|DELETE> ARCHIVELOG <归档配置语句> |
ARCHIVELOG CURRENT
<文件说明项> ::= <文件路径>SIZE <文件大小>
<归档配置语句>::= 'DEST = <归档目标>,TYPE = <归档类型>'
<归档类型>::=
LOCAL [<文件和路径设置>] |
REALTIME|
ASYNC ,TIMER_NAME = <定时器名称> |
REMOTE ,INCOMING_PATH = <远程归档路径>[<文件和路径设置>]|
TIMELY
<文件和路径设置>::=[,FILE_SIZE = <文件大小>][,SPACE_LIMIT = <空间大小限制>]
参数
1. <文件路径> 指明被操作的数据文件在操作系统下的绝对路径:'路径+数据文件 名'。例如:'C:\DMDBMS\data\dmlog_0.log';
2.<文件大小> 整数值,单位为 M;
3.<归档目标> 指归档日志所在位置,若本地归档,则本地归档目录;若远程归档,则为远程服务实例名;删除操作,只需指定归档目标;
4.<归档类型> 指归档操作类型,包括 REALTIME/ASYNC/LOCAL/REMOTE/TIMELY,分别表示远程实时归档/远程异步归档 / 本地归档/远程归档/主备即时归档;
5.<空间大小限制> 整数值,范围(1024~4294967294),若设为 0,表示不限制, 仅本地归档有效;
6.<定时器名称> 异步归档中指定的定时器名称,仅异步归档有效。
语句功能
供具有 DBA 权限的用户修改数据库。
1. 归档的配置也可以通过 dm.ini 参数 ARCH_INI 和归档配置文件 dmarch.ini 进 行,可参看《DM8 系统管理员手册》,SQL 语句提供了在 DM 服务器运行时对归档配置进行 动态修改的手段,通过 SQL 语句修改成功后会将相关配置写入 dmarch.ini 中;
2. 修改日志文件大小时,只能增加文件的大小,否则失败;
3. ADD NODE LOGFILE 用于 DMDSC 集群扩展节点时使用;
4. 只有 MOUNT 状态 NORMAL 模式下才能启用或关闭归档,添加、修改、删除归档,重命名日志文件;
5. 归档模式下,不允许删除本地归档;
6. ARCHIVELOG CURRENT 把新生成的,还未归档的联机日志都进行归档。
例 1 给数据库增加一个日志文件 C:\DMDBMS\data\dmlog_0.log,其大小为 200M。
ALTER DATABASE ADD LOGFILE 'C:\DMDBMS\data\dmlog_0.log' SIZE 200;
例 2 扩展数据库中的日志文件 C:\DMDBMS\data\dmlog_0.log,使其大小增大为300M。
ALTER DATABASE RESIZE LOGFILE 'C:\DMDBMS\data\dmlog_0.log' TO 300;
例 3 设置数据库状态为 MOUNT。
ALTER DATABASE MOUNT;
例 4 设置数据库状态为 OPEN。
ALTER DATABASE OPEN;
例 5 设置数据库状态为 SUSPEND。
ALTER DATABASE SUSPEND;
例 6 重命名日志文件 C:\DMDBMS\data\dmlog_0.log 为 d:\dmlog_1.log。
ALTER DATABASE MOUNT;
ALTER DATABASE RENAME LOGFILE 'C:\DMDBMS\data\dmlog_0.log' TO 'd:\dmlog_1.log';
ALTER DATABASE OPEN;
例 7 设置数据库模式为 PRIMARY。
ALTER DATABASE MOUNT; ALTER DATABASE PRIMARY; ALTER DATABASE OPEN FORCE;
例 8 设置数据库模式为 STANDBY。
ALTER DATABASE MOUNT; ALTER DATABASE STANDBY; ALTER DATABASE OPEN FORCE;
例 9 设置数据库模式为 NORMAL。
ALTER DATABASE MOUNT; ALTER DATABASE NORMAL; ALTER DATABASE OPEN;
例 10 设置数据归档模式为非归档。
ALTER DATABASE MOUNT;
ALTER DATABASE NOARCHIVELOG;
例 11 设置数据库归档模式为归档。
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
例 12 增加本地归档配置,归档目录为 c:\arch_local,文件大小为 128MB,空间 限制为 1024MB。
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'DEST = c:\arch_local, TYPE = local, FILE_SIZE= 128, SPACE_LIMIT = 1024';
例 13 增加一个实时归档配置,远程服务实例名为 realtime,需事先配置 mail。
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'DEST = realtime, TYPE = REALTIME';
例 14 增加一个异步归档配置,远程服务实例名为 asyn,定时器名为 timer1,需事 先配置好 mail 和 timer。
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'DEST = asyn, TYPE = ASYNC, TIMER_NAME = timer1';
二 、管理用户
用户定义语句
语法格式
CREATE USER <用户名> IDENTIFIED <身份验证模式> [PASSWORD_POLICY <口令策略>][<锁定子句>][<存储加密密钥>][<空间限制子句>][<只读标志>][<资源限制子句>][<允许 IP 子句>][<禁止 IP 子句>][<允许时间子句>][<禁止时间子句>][<TABLESPACE 子句>][<INDEX_TABLESPACE 子 句>]
<身份验证模式> ::= <数据库身份验证模式>|<外部身份验证模式>
<数据库身份验证模式> ::= BY <口令> [<散列选项>]
<散列选项> ::= HASH WITH [<密码引擎名>.]<散列算法> [<加盐选项>]
<散列算法> ::= <MD5 | SHA1 | SHA224 | SHA256 | SHA384 |