首页 > 其他分享 >第 3 章 数据定义语句

第 3 章 数据定义语句

时间:2024-01-11 14:45:38浏览次数:43  
标签:语句 定义 DATABASE MOUNT 数据库 归档 数据 ALTER

第 3 章 数据定义语句

本章介绍 DM 的数据定义语句,包括数据库修改语句、用户管理语句、模式管理语句、表空间管理语句、表管理语句等等。 需要注意的是,在数据定义语句中有时需要指定一些文件的路径,无论用户指定的是绝 对路径还是相对路径,DM 在处理时最终都会将其统一处理为绝对路径,DM 规定这个绝对路 径的长度不能超过 256 字节。

3.1 数据库修改语句

一个数据库创建成功后,可以增加和重命名日志文件,修改日志文件大小。可以修改数 据库的状态和模式。

语法格式

ALTER DATABASE <修改数据库语句>;
<修改数据库语句>::=
RESIZE LOGFILE <文件路径> TO <文件大小>|
ADD LOGFILE <文件说明项>{,<文件说明项>}|
RENAME LOGFILE <文件路径>{,<文件路径>} TO <文件路径>{,<文件路径>}|
MOUNT |
SUSPEND |
OPEN [FORCE] |
NORMAL |
PRIMARY|
STANDBY |
ARCHIVELOG |
NOARCHIVELOG |
<ADD|MODIFY|DELETE> ARCHIVELOG <归档配置语句> |
ARCHIVELOG CURRENT
<文件说明项> ::= <文件路径>SIZE <文件大小>
<归档配置语句>::= 'DEST = <归档目标>,TYPE = <归档类型>'
<归档类型>::=
LOCAL [<文件和路径设置>] |
REALTIME|
SYNC |
ASYNC ,TIMER_NAME = <定时器名称> |
REMOTE ,ARCH_INCOMING_PATH = <远程归档路径>[<文件和路径设置>]|
TIMELY
<文件和路径设置>::=[,FILE_SIZE = <文件大小>][,SPACE_LIMIT = <空间大小限制>]


参数

1. <文件路径>  指明被操作的数据文件在操作系统下的绝对路径:'路径+数据文件 名'。例如:'C:\DMDBMS\data\dmlog_0.log'。

2.<文件大小> 整数值,单位为 M。

3.<归档目标> 指归档日志所在位置,若本地归档,则本地归档目录;若远程归档, 则为远程服务实例名;删除操作,只需指定归档目标。

4.<归档类型> 指 归 档 操 作 类 型 , 包 括 REALTIME/ASYNC/SYNC/LOCAL/REMOTE/TIMELY,分别表示远程实时归档/远程异步归 档/远程同步归档/本地归档/远程归档/主备即时归档。

5.<空间大小限制> 整数值,范围(1024~4294967294),若设为 0,表示不限制, 仅本地归档有效。

6.<定时器名称> 异步归档中指定的定时器名称,仅异步归档有效


图例 

image


file_item 


image




archive configure_clause

image


arch_type

image

file_loc


image


语句功能

供具有 DBA 权限的用户修改数据库。

使用说明

1. 归档的配置也可以通过 dm.ini 参数 ARCH_INI 和归档配置文件 dmarch.ini 进 行,可参看《DM_DBA》,SQL 语句提供了在 DM 服务器运行时对归档配置进行动态 修改的手段,通过 SQL 语句修改成功后会将相关配置写入 dmarch.ini 中;

2. 修改日志文件大小时,只能增加文件的大小,否则失败。最大不能超过 4096M;

3. 只有 MOUNT 状态 NORMAL 模式下才能启用或关闭归档,添加、修改、删除归档, 重命名日志文件;

4. 归档模式下,不允许删除本地归档;

5. ARCHIVELOG CURRENT 把新生成的,还未归档的联机日志都进行归档。

举例说明

假设数据库 BOOKSHOP 页面大小为 8K,数据文件存放路径为 C:\DMDBMS\data。

例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 增加一个同步归档配置,远程服务实例名为 syn,需事先配置 mail。

ALTER DATABASE MOUNT;

ALTER DATABASE ADD ARCHIVELOG 'DEST = syn, TYPE = SYNC ';

例 15 增加一个异步归档配置,远程服务实例名为 asyn,定时器名为 timer1,需事 先配置好 mail 和 timer。

ALTER DATABASE MOUNT;

ALTER DATABASE ADD ARCHIVELOG 'DEST = asyn, TYPE = ASYNC, TIMER_NAME = timer1';

例 16 修改实时归档为同步归档,同步归档只能存在一个,若已经存在,则需删除(沿 用前面的例子)。

ALTER DATABASE MOUNT;

ALTER DATABASE DELETE ARCHIVELOG 'DEST = syn';

ALTER DATABASE MODIFY ARCHIVELOG 'DEST = realtime, TYPE = SYNC';



3.2管理用户

3.2.1 用户定义语句

在数据库中创建新的用户,DM7 中直接用 USER 与数据库服务器建立连接。

语法格式

CREATE USER <用户名> IDENTIFIED <身份验证模式> [PASSWORD_POLICY <口令策略>][<

锁定子句>][<存储加密密钥>][<空间限制子句>][<只读标志>][<资源限制子句>][<允许 IP 子句>][<

禁止 IP 子句>][<允许时间子句>][<禁止时间子句>][<TABLESPACE 子句>][<INDEX_TABLESPACE 子

句>];

<身份验证模式> ::= <数据库身份验证模式>|<外部身份验证模式>

<数据库身份验证模式> ::= BY <口令>

<外部身份验证模式> ::= EXTERNALLY | EXTERNALLY AS <用户 DN>

<口令策略> ::= 口令策略项的任意组合

<锁定子句> ::= ACCOUNT LOCK | ACCOUNT UNLOCK

<存储加密密钥> ::= ENCRYPT BY <口令>

<空间限制子句> ::= DISKSPACE LIMIT <空间大小>| DISKSPACE UNLIMITED

<只读标志> ::= READ ONLY | NOT READ ONLY

<资源限制子句> ::= LIMIT <资源设置项>{,<资源设置项>}

<资源设置项> ::= SESSION_PER_USER <参数设置>|

CONNECT_IDLE_TIME <参数设置>|

CONNECT_TIME <参数设置>|

CPU_PER_CALL <参数设置>|

CPU_PER_SESSION <参数设置>|

MEM_SPACE <参数设置>|

READ_PER_CALL <参数设置>|

READ_PER_SESSION <参数设置>|

FAILED_LOGIN_ATTEMPS <参数设置>|

PASSWORD_LIFE_TIME <参数设置>|

PASSWORD_REUSE_TIME <参数设置>|

PASSWORD_REUSE_MAX <参数设置>|

PASSWORD_LOCK_TIME <参数设置>|

PASSWORD_GRACE_TIME <参数设置>

<参数设置> ::=<参数值>| UNLIMITED

<允许 IP 子句> ::= ALLOW_IP <IP 项>{,<IP 项>}

<禁止 IP 子句> ::= NOT_ALLOW_IP <IP 项>{,<IP 项>}

<IP 项> ::= <具体 IP>|<网段>

<允许时间子句> ::= ALLOW_DATETIME <时间项>{,<时间项>}

<禁止时间子句> ::= NOT_ALLOW_DATETIME <时间项>{,<时间项>}

<时间项> ::= <具体时间段> | <规则时间段>

<具体时间段> ::= <具体日期> <具体时间> TO <具体日期> <具体时间>

<规则时间段> ::= <规则时间标志> <具体时间> TO <规则时间标志> <具体时间>

<规则时间标志> ::= MON | TUE | WED | THURS | FRI | SAT | SUN

<TABLESPACE 子句> ::=DEFAULT TABLESPACE <表空间名>

<INDEX_TABLESPACE 子句> ::= DEFAULT INDEX TABLESPACE <表空间名>

参数



1. <用户名> 指明要创建的用户名称,用户名称最大长度 128 字节;

2. <参数设置>用于限制用户对 DM 数据库服务器系统资源的使用;

3. 系统在创建用户时,必须指定一种身份验证模式:<数据库身份验证模式>或者<外部身份验证模式>,外部身份验证模式支持基于操作系统(OS)的身份验证、LDAP 身份验证和 KERBEROS 身份验证,具体请参考《DM 安全管理》2.3 节;

4. <口令策略>可以为以下值,或其任何组合:

0 无策略;

1 禁止与用户名相同;

2 口令长度不小于 9;

4 至少包含一个大写字母(A-Z);

8 至少包含一个数字(0-9);

16 至少包含一个标点符号(英文输入法状态下,除― 和空格外的所有符号)。

若为其他数字,则表示以上设置值的和,如 3=1+2,表示同时启用第 1 项和第 2 项 策略。当设置为 0 时,表示设置口令没有限制,但总长度不得超过 48 个字节。另外,若不 指定该项,则默认采用系统配置文件中 PWD_POLICY 所设值。

5. 存储加密密钥用于与半透明加密配合使用,缺省情况下系统自动生成一个密钥;

6. 空间限制子句用于限制用户使用的最大存储空间,以 M 为单位,取值范围为 1 到

1048576,关键字 UNLIMITED 表示无限制;

7. 只读标志表示该登录是否只能对数据库作只读操作,默认为可读写;

8. 资源设置项的各参数设置说明见下表:

image

image

9. 允许 IP 和禁止 IP 用于控制此登录是否可以从某个 IP 访问数据库,其中禁止 IP 优先。在设置 IP 时,可以利用*来设置网段,如 192.168.0.*。设置的允许和 禁止 IP 需要用双引号括起来;

10. 允许时间段和禁止时间段用于控制此登录是否可以在某个时间段访问数据库,其中禁止时间段优先。设置的时间段中的日期和时间要分别用双引号括起来。在设置时 间段时,有两种方式:

  • 1) 具体时间段,如 2016 年 1 月 1 日 8:30 至 2006 年 2 月 1 日 17:00;
  • 2) 规则时间段,如 每周一 8:30 至 每周五 17:00。

11. 允许 IP、禁止 IP、允许时间段、禁止时间段和外部身份验证功能只在安全版本中 提供;

12. 用户默认表空间和索引默认表空间不能使用 SYSTEM、RLOG、ROLL、TEMP 表空 间。










标签:语句,定义,DATABASE,MOUNT,数据库,归档,数据,ALTER
From: https://www.cnblogs.com/ios9/p/17958539

相关文章

  • 数据库mysql面试题
                          ......
  • 数据中心安全域的设计和划分
    本文介绍了安全域设计方法、设计步骤、安全域模型、安全域互访原则、安全域边界整合及整合原则及边界防护技术。安全区域(以下简称为安全域)是指同一系统内有相同的安全保护需求,相互信任,并具有相同的安全访问控制和边界控制策略的子网或网络。安全域划分是保证网络及基础设施稳定正......
  • MySQL数据库安全配置规范
    在生产中,安全相当重要,毕竟你的核心数据都在里面,MySQL因为其开源的流行性,大量个人,企业,政府单位采用,但是,很多部署的时候采用都是默认的配置,这就导致了安全的相对欠缺,你需要针对你的安全有所加强。总的来说,数据库一般划分为生产库,压测库,准生产库,测试库,开发库。下面部分主要说的是生产......
  • 保障企业数据安全的29个最佳实践
    数字化时代,随着生成和收集的数据比以往任何时候都要多,数据安全的重要性日益突显。社交媒体、电子商务及其他在线服务广泛使用,许多人在无形之中分享着个人信息。本文将探讨数据安全的关键概念,并介绍保障数据安全方面的最佳实践。什么是数据安全?数据安全是指保护数字数据免遭未经授权......
  • 常用的Linux 语句
    别名aliasga='gitadd'aliasgb='gitbranch'aliasgc='gitcheckout'aliasgd='gitdiff'aliasgm='gitcommit-m'aliasgp='gitpushorigin-u'aliasgs='gitstatus'aliasll='......
  • Win10安装DBeaver连接MySQL8、导入和导出数据库详细教程
    一、DBeaver简介​DBeaver是一个基于Java开发,免费开源的通用数据库管理和开发工具,使用非常友好,且遵循ASL协议。由于DBeaver基于Java开发,可以运行在各种操作系统上,比如Windows、Linux、macOS等操作系统。DBeaver采用Eclipse框架开发,支持插件扩展,并且提供了许多......
  • 数据库常用DQL语言合集
    DQL(DataQueryLanguage)数据查询语言DDL是数据定义语言,主要是对数据库和数据表的操作(1)操作数据库--创建库createdatabase库名;--创建库时判断库是否存在,不存在则创建createdatabaseifnotexists库名;--查看所有数据库showdatabases;--使用指定数据库use库名;--查看当前......
  • springBoot自定义拦截器
    编写FuelH5InterceptorConfig配置类packagecom.fuel.framework.config;importcom.fuel.framework.interceptor.FuelH5Interceptor;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.context.annotation.Configuration;importorg......
  • 27-K8 CRD:如何根据需求自定义你的 API?
    随着使用的深入,你会发现Kubernetes中内置的对象定义,比如Deployment、StatefulSet、Configmap,可能已经不能满足你的需求了。你很希望在Kubernetes定义一些自己的对象,一来可以通过kube-apiserver提供统一的访问入口,二来可以像其他内置对象一样,通过kubectl命令管理这些自定......
  • 数据安全软件可以检测剪切板么?
    数据安全软件的主要功能是保护数据免受未经授权的访问、使用或泄露。为了实现这一目标,数据安全软件通常包括多种技术和工具,例如加密、访问控制、数据丢失防护、数据审计等。在某些情况下,数据安全软件可能会包含检测剪切板的功能,以防止敏感信息通过剪切板被非法复制和传播。然而......