在数据库管理中,会把一些历史数据或基本不变化的数据放入只读表空间。因为这种表空间上只能进行读操作而不能做DML操作。
这种情况是和管理员有关的,制定合理的规范很重要。
情况二: 出在恢复时,基本上大部份的资料上都不会讲恢复只读表空间。但你要恢复的数据库确实有只读表空间。
而你可能不记得或不清楚还有这事。所以恢复时忽略了它。而Oracle命令忽略掉只读表空间也是能恢复成功的。
这种情况后果有大有小,看运气了。
把只读表空间的创建和恢复处理列一下。
设置和查询只读表空间:
1. 将一个表空间设为只读表空间
2.查询下视图确认数据库中现有的只读表空间及对应的数据文件
情况一: 全库备份时,包含只读表空间
这种情况做RMAN恢复时,最重要的是加上check readonly指定要强制恢复只读表空间。
备份:
backup database ;
恢复:
restore database check readonly;
recover database check readonly;
情况二: 单独备份只读表空间,全库备份时跳过它
备份:
backup tablespace XCL_DATA;
backup database skip readonly;
恢复:
restore database ;
restore tablespace XCL_DATA;
recover database ;
情况三: 采用冷备份方式单独备份了只读表空间的数据文件,全库备份时有跳过只读表空间
备份:
a. 采用host copy或copy复制只读表空间的所有数据文件到另一个目录备份
b.备份全库
backup database skip readonly;
恢复:
a.restore database ;
b.将另一个目录备份的只读表空间数据文件恢复回去。
c.recover database ;
这种情况不同于,以前备份数据库时要"alter tablespace ... begin backup"将表空间置于联机备份模式,再去备份数据文件。
能有效防止被意外的修改或删除,所以很适合存放上述类型的数据,另外,它在备份方面还有一个好处,因为它是只读的,就是没有变化,
只需在设为只读后备份一次 就够了,以后备份时就可以忽略,这样能减少一部份备份压力。这造成慢慢的,人们会忽视掉它。
情况一:确实在设为只读表空间时备份了一次,但后面忽视了它。恢复时那份备份找不到了。这种情况是和管理员有关的,制定合理的规范很重要。
情况二: 出在恢复时,基本上大部份的资料上都不会讲恢复只读表空间。但你要恢复的数据库确实有只读表空间。
而你可能不记得或不清楚还有这事。所以恢复时忽略了它。而Oracle命令忽略掉只读表空间也是能恢复成功的。
这种情况后果有大有小,看运气了。
把只读表空间的创建和恢复处理列一下。
设置和查询只读表空间:
1. 将一个表空间设为只读表空间
create tablespace XCL_DATA datafile '/u01/app/oracle/xcldb/xcl_data01dbf' size 1m;
alter tablespace XCL_DATA read only;
2.查询下视图确认数据库中现有的只读表空间及对应的数据文件
SELECT t.tablespace_name tbs_name,
d.file_id tbsf_id,
d.file_name tbsf_name
FROM dba_tablespaces t,dba_data_files d
WHERE t.tablespace_name=d.tablespace_name AND t.status='READ ONLY';
备份恢复部份:
情况一: 全库备份时,包含只读表空间
这种情况做RMAN恢复时,最重要的是加上check readonly指定要强制恢复只读表空间。
备份:
backup database ;
恢复:
restore database check readonly;
recover database check readonly;
情况二: 单独备份只读表空间,全库备份时跳过它
备份:
backup tablespace XCL_DATA;
backup database skip readonly;
恢复:
restore database ;
restore tablespace XCL_DATA;
recover database ;
情况三: 采用冷备份方式单独备份了只读表空间的数据文件,全库备份时有跳过只读表空间
备份:
a. 采用host copy或copy复制只读表空间的所有数据文件到另一个目录备份
b.备份全库
backup database skip readonly;
恢复:
a.restore database ;
b.将另一个目录备份的只读表空间数据文件恢复回去。
c.recover database ;
这种情况不同于,以前备份数据库时要"alter tablespace ... begin backup"将表空间置于联机备份模式,再去备份数据文件。
只读表空间直接复制数据文件即可。
MAIL: xcl_168@aliyun.com
BLOG: http://blog.csdn.net/xcl168