DM 数据库布局和存储管理
1.管理表空间
-- 创建
创建表空间时需要指定表空间名和其拥有的数据文件列表
1.查询当前数据库的数据文件创建路径
select DBA_DATA_FILES.TABLESPACE_NAME ,DBA_DATA_FILES.FILE_NAME from DBA_DATA_FILES ;
2.根据现有数据文件的路径,和命名规则创建.
CREATE TABLESPACE users DATAFILE 'D:\DM\dmdbms\data\DAMENG\USER01.DBF' SIZE 128 ;
--扩展表空间
通过扩展数据文件来扩展表空间.
--删除表空间
drop tablespace USERS ;
--修改表空间名
alter TABLESPACE users rename to users_bak ;
--修改表空间状态
用户表空间有联机和脱机两种状态。
系统表空间、回滚表空间、重做日志表空间和临时文件表空间不允许脱机。
-- 查看表空间状态
SELECT T.NAME,T."STATUS$" FROM SYS."V$TABLESPACE" T ;
-- STATUS$ TINYINT 状态。0 ONLINE,1 OFFLINE,2 RES_OFFLINE 3 CORRUPT
-- 修改状态
ALTER TABLESPACE USERS_BAK OFFLINE ;
ALTER TABLESPACE USERS_BAK ONLINE ;
-- 修改表空间缓冲区
可以使用的数据缓冲区有 NORMAL 和 KEEP
例如将 bookshop 表空间绑定到 KEEP 缓冲区。
ALTER TABLESPACE bookshop CACHE= "KEEP";
-- 查询表空间(online)与数据文件对应关系
SELECT ts.NAME, df.PATH FROM V$TABLESPACE AS ts, V$DATAFILE AS df WHERE ts.ID = df.GROUP_ID;
-- 表空间文件失效检查
在 dm.ini 中参数 FIL_CHECK_INTERVAL 的值指定 DM 系统检查数据文件是否仍存在的时间间隔。将其设为 0 表示不进行检查。
也可以通过系统过程 SP_FILE_SYS_CHECK()来手动的进行检查。
2.管理数据文件
--添加数据文件
alter TABLESPACE USERS_BAK ADD datafile 'D:\DM\dmdbms\data\DAMENG\USER02.DBF' size 128 ;
--扩展数据文件
alter TABLESPACE USERS_BAK resize DATAFILE 'D:\DM\dmdbms\data\DAMENG\USER02.DBF' to 256 ;
--指定数据文件的扩展属性
ALTER TABLESPACE USERS_BAK DATAFILE 'D:\DM\dmdbms\data\DAMENG\USER02.DBF' AUTOEXTEND ON;
--修改数据文件路径
ALTER TABLESPACE bookshop RENAME DATAFILE 'D:\DM\dmdbms\data\DAMENG\USER02.DBF' TO DATAFILE 'D:\DM\dmdbms\data2\DAMENG\USER02.DBF' ;
--添加 HUGE 数据文件路径
ALTER TABLESPACE bookshop ADD HUGE PATH 'e:\HUGE';
3.管理重做日志文件
--添加重做日志文件
select* from SYS."V$RLOGFILE" ;
alter database add logfile '/opt/dm8/data/DAMENG/DAMENG03.log' size 128;
--扩展重做日志文件
alter database resize logfile '/opt/dm8/data/DAMENG/DAMENG03.log' to 256 ;
4.管理回滚空间
回滚空间的管理和用户表空间的管理基本是一样的,区别是回滚空间的空间名固定为ROLL,不可修改。可增加和扩展回滚空间中的回滚文件,设置回滚空间的扩展属性,相关操
作可参考 14.2 管理数据文件中的说明。回滚文件的路径记录在控制文件里面,可以使用 dmctlcvt 工具在 DM 服务器关闭的状态下对控制文件进行修改。使用 dmctlcvt 工具将控制文件转换为文本文件,编辑文本文件
中要修改的文件的路径后再使用 dmctlcvt 工具将文本文件转换为控制文件即可。首先转换控制文件到文本文件:
dmctlcvt c2t D:\dm.ctl D:\ctl.txt
编辑 ctl.txt 文本文件中 fil_path=d:\roll.dbf 为 fil_path=e:\ roll.dbf,保存文本文件。复制 d:\roll.dbf 文件为 e:\ roll.dbf。
最后转换文本文件到控制文件:
dmctlcvt t2c D:\ctl.txt D:\dm.ctl
这种修改文件路径的方法也可用于重做日志文件,系统表空间文件等路径的修改。
5.管理控制文件
可以在 dm.ini 中通过设置 CTL_PATH 配置参数的值来指定控制文件的路径,缺省控制文件 dm.ctl 在数据目录下。例如可以把 dm.ctl 文件复制到 D 盘下,同时修改 dm.ini
中 CTL_PATH = D:\dm.ctl。