3.4 管理表空间
3.4.1 表空间定义语句
创建表空间。
语法格式
CREATE TABLESPACE <表空间名> <数据文件子句>[<数据页缓冲池子句>][<存储加密子句>]
<数据文件子句> ::= DATAFILE <文件说明项>{,<文件说明项>}
<文件说明项> ::= <文件路径> [ MIRROR <文件路径>] SIZE <文件大小>[<自动扩展子句>]
<自动扩展子句> ::= AUTOEXTEND <ON [<每次扩展大小子句>][<最大大小子句>] |OFF>
<每次扩展大小子句> ::= NEXT <扩展大小>
<最大大小子句> ::= MAXSIZE <文件最大大小>
<数据页缓冲池子句> ::= CACHE = <缓冲池名>
<存储加密子句> ::= ENCRYPT WITH <加密算法> [[BY] <加密密码>]
参数
1. <表空间名> 表空间的名称,表空间名称最大长度 128 字节;
2. <文件路径> 指明新生成的数据文件在操作系统下的路径+新数据文件名。数据文 件的存放路径符合 DM 安装路径的规则,且该路径必须是已经存在的;
3. MIRROR 数据文件镜像,用于在数据文件出现损坏时替代数据文件进行服务。 MIRROR 数据文件的<文件路径>必须是绝对路径。MIRROR 要使用数据文件镜像, 必须在建库时开启页校验的参数 page_check。
4. <文件大小> 整数值,指明新增数据文件的大小(单位 MB),取值范围 4096*页大 小~2147483647*页大小;
5. <缓冲池名> 系统数据页缓冲池名 NORMAL 或 KEEP。缓冲池名 KEEP 是达梦的保 留关键字,使用时必须加双引号;
6. <加密算法> 可通过查看动态视图 V$CIPHERS 获取算法名;
7. <加密密码> 最大长度 128 字节,若未指定,由 DM 随机生成。
图例
语句功能
供具有权限的用户创建表空间。
使用说明
1. 表空间名在服务器中必须唯一;
2. 一个表空间中,数据文件和镜像文件一起不能超过 256 个;
3. 如果全库已经加密,就不再支持表空间加密;
4. SYSTEM 表空间不允许关闭自动扩展,且不允许限制空间大小。
举例说明
例 以 SYSDBA 身份登录数据库后,创建表空间 TS1,指定数据文件 TS1.dbf,大小 128M。
CREATE TABLESPACE TS1 DATAFILE 'd:\TS1.dbf' SIZE 128
3.4.2 修改表空间语句
修改表空间
语法格式
ALTER TABLESPACE <表空间名> [ONLINE|OFFLINE|CORRUPT|<表空间重命名子句>|<数据
文件重命名子句>|<增加数据文件子句>|<修改文件大小子句>|<修改文件自动扩展子句>|<数据页缓冲
池子句>
<表空间重命名子句> ::= RENAME TO <表空间名>
<数据文件重命名子句>::= RENAME DATAFILE <文件路径>{,<文件路径>} TO <文件路径>{,<
文件路径>}
<增加数据文件子句> ::= ADD <数据文件子句>
<数据文件子句>见上一节表空间定义语句
<修改文件大小子句> ::= RESIZE DATAFILE <文件路径> TO <文件大小>
<修改文件自动扩展子句> ::= DATAFILE <文件路径>{,<文件路径>}[<自动扩展子句>]
<自动扩展子句> ::= 见 3.4.1 节说明
<数据页缓冲池子句> ::= CACHE = <缓冲池名>
参数
1. <表空间名> 表空间的名称;
2. <文件路径> 指明数据文件在操作系统下的路径+新数据文件名。数据文件的存 放路径符合 DM 安装路径的规则,且该路径必须是已经存在的;
3. <文件大小> 整数值,指明新增数据文件的大小(单位 MB);
4. <缓冲池名> 系统数据页缓冲池名 NORMAL 或 KEEP。
图例
语句功能
供具有权限的用户修改表空间
使用说明
1. 不论 dm.ini 的 DDL_AUTO_COMMIT 设置为自动提交还是非自动提交,ALTER TABLESPACE 操作都会被自动提交;
2. 修改表空间数据文件大小时,其大小必须大于自身大小;
3. SYSTEM 表空间不允许关闭自动扩展,且不允许限制空间大小;
4. 如果表空间有未提交事务时,表空间不能修改为 OFFLINE 状态;
5. 重命名表空间数据文件时,表空间必须处于 OFFLINE 状态,修改成功后再将表空 间修改为 ONLINE 状态;
6. 表空间如果发生损坏(表空间还原失败,或者数据文件丢失或损坏)的情况下,允 许将表空间切换为 CORRUPT 状态,并删除损坏的表空间,如果表空间上定义有对 象,需要先将所有对象删除,再删除表空间。
举例说明
例1将表空间 TS1 名字修改为 TS2。
ALTER TABLESPACE TS1 RENAME TO TS2;
例 2 增加一个路径为 d:\TS1_1.dbf,大小为 128M 的数据文件到表空间 TS1。
ALTER TABLESPACE TS1 ADD DATAFILE 'd:\TS1_1.dbf' SIZE 128;
例 3 修改表空间 TS1 中数据文件 d:\TS1.dbf 的大小为 200M。
ALTER TABLESPACE TS1 RESIZE DATAFILE 'd:\TS1.dbf' TO 200;
例 4 重命名表空间 TS1 的数据文件 d:\TS1.dbf 为 e:\TS1_0.dbf。
ALTER TABLESPACE TS1 OFFLINE;
ALTER TABLESPACE TS1 RENAME DATAFILE 'd:\TS1.dbf' TO 'e:\TS1_0.dbf';
ALTER TABLESPACE TS1 ONLINE;
例 5 修改表空间 TS1 的数据文件 d:\TS1.dbf 自动扩展属性为每次扩展 10M,最大文 件大小为 1G。
ALTER TABLESPACE TS1 DATAFILE 'd:\TS1.dbf' AUTOEXTEND ON NEXT 10 MAXSIZE 1000;
例 6 修改表空间 TS1 缓冲池名字为 KEEP。
ALTER TABLESPACE TS1 CACHE="KEEP";
例 7 修改表空间为 CORRUPT 状态,注意只有在表空间处于 OFFLINE 状态或表空间损 坏的情况下才允许使用。
ALTER TABLESPACE TS1 CORRUPT
3.4.3 表空间删除语句
删除表空间。
语法格式
DROP TABLESPACE <表空间名>
参数
<表空间名> 所要删除的表空间的名称。
图例
语句功能
供具有权限的用户删除表空间
使用说明
1. SYSTEM、RLOG、ROLL 和 TEMP 表空间不允许删除;
2. 系统处于 SUSPEND 或 MOUNT 状态时不允许删除表空间,系统只有处于 OPEN 状 态下才允许删除表空间。
举例说明
例 以 SYSDBA 身份登录数据库后,删除表空间 TS1。
DROP TABLESPACE TS1;
3.4.4 表空间失效文件检查
表空间恢复失效文件的检查
语法格式
SP_FILE_SYS_CHECK ();
语句功能
在 LINUX 操作系统下,检查是否有数据文件被删除。
使用说明
该过程只在 LINUX 下有效。
举例说明
SP_FILE_SYS_CHECK ();
3.4.5 表空间失效文件恢复准备
表空间恢复失效文件的准备
语法格式
SP_TABLESPACE_PREPARE_RECOVER(<表空间名>);
语句功能
在 LINUX 操作系统下,如果出现了正在使用数据文件被删除的情况,该过程完成失效 文件恢复的准备工作。
使用说明
该过程只在 LINUX 下有效。
举例说明
SP_TABLESPACE_PREPARE_RECOVER('MAIN');
3.4.6 表空间失效文件恢复
表空间失效文件的恢复
语法格式
SP_TABLESPACE_RECOVER(<表空间名>);
语句功能
在 LINUX 操作系统下,如果出现了正在使用数据文件被删除的情况,在调用了恢复准 备的 SP_TABLESPACE_PREPARE_RECOVER 及在 OS 系统内完成了数据文件的复制后,调 用该过程完成文件的恢复工作。表空间失效文件恢复的详细步骤可查阅系统管理员手册。
使用说明
1. 该过程只在 LINUX 下有效;
2. 在 SP_TABLESPACE_PREPARE_RECOVER 及在 OS 系统内完成了数据文件的复制 后调用。
举例说明
SP_TABLESPACE_RECOVER('MAIN');
为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。