数据文件DataFile ②
昨天学习了之后,今天关于DataFile就没什么内容可以讲的了。主要就是datafile的修改和一些参数的查询问题了,简单了解一下。
一、DataFile的重命名和重定位
1、单个TableSpace的DataFile重命名及重定位
重命名步骤:
① 使包含该DataFile的非SYSTEM TableSpace脱机
ALTER TABLESPACE users OFFLINE NOEMAL;
② 利用操作系统重命名DataFile
③ 使用ALTER TABLESPACE RENAME DATAFILE语句改文件名
ALTER TABLESPACE users
RENAME DATAFILE '/u02/oracle/rbdb1/user1.dbf','/u02/oracle/rbdb1/user2.dbf'
TO '/u02/oracle/rbdb1/users01.dbf','/u02/oracle/rbdb1/users02.dbf';
④ 备份数据库
注:重定位的操作基本上与重命名相同,即在改变名称的基础上也通过操作系统改变了位置。
2、多个TableSpace中的DataFile重命名和重定位
① 确保数据库被装载,但是关闭(必须关闭,与单TableSpace不同)
② 利用操作系统重命名及重定位DataFile
③ 使用ALTER DATABASE命令
ALTER DATABASE
RENAME FILE '/u02/oracle/rbdb1/sort01.dbf','/u02/oracle/rbdb1/user3.dbf'
TO '/u02/oracle/rbdb1/temp01.dbf','/u02/oracle/rbdb1/users03.dbf';
④ 备份数据库
二、验证DataFile中的数据块
如果需要配置Oracle来校验数据块,则需要将DB_BLOCK_CHECHSUM参数项设置为TRUE
注:DB_BLOCK_CHECHSUM的默认值是FALSE,但可以动态改变。
工作过程:
当启用块校验时,Oracle为每个写到磁盘的块计算校验和,包括临时块。DBWn为每个块计算校验和后,将其存储在块的头部,下一次Oracle读一个数据块时,使用它来校验和检测块中的讹误,若有错误则返回ORA-01578,并将错误信息写入跟踪文件
三、查看数据文件信息
DBA_DATA_FILES:每个数据文件的说明信息,包括所属表空间和文件标识
DBA_EXTENTS:组成数据库中所有段的盘区,包括盘区的数据文件标识
DBA_FREE_SPACE:表空间中的空闲盘区,包含该盘区的数据文件标识
V$DATAFILE:来自控制文件的数据文件信息
V$DATAFILE_HEADER:包括来自数据文件头部的信息
SELECT NAME, FILE#, STATUS, CHECKPOINT_CHANGE# "CHECKPOINT"
FROM V$DATAFILE;
NAME:数据文件全名
FILE#:文件号
STATUS:SYSTEM表空间的DataFile直接标SYSTEM,其他则标ONLINE|OFFLINE(RECOVER)
CHECKPOINT_CHANGE#:最近的检测点写入的最终SCN