ORA-01220: file based sort illegal before database is open
RMAN使用nocatalog的模式,备份信息存储在控制文件中,
现备份控制文件,还原到异机上并startup mount,再使用RMAN
RMAN>rman nocatalog target sys/abc123
RMAN>list backup;
则出现如下错误:
ORA-01220: file based sort illegal before database is open
原因:
当workarea_size_policy=AUTO,*_area_size parameter设置值将被忽略而使用系统估算值
解决方法:
为解决该问题,首先要把workarea_size_policy设置为MANUAL,再增大sort_area_size的值,步骤如下:
1.修改workarea_size_policy
alter system set workarea_size_policy = MANUAL;
2.增大sort_area_size的值,默认为524288,可通过show parameter sort_area_size查看
alter system set sort_area_size = 2024288 scope=spfile;
3.关闭实例
shutdown immediate
4.装载数据库,但不打开数据库
startup mount
此时可用list bakcup正常查看备份记录信息.
说明:
SORT_AREA_SIZE 以字节为单位, 指定排序所使用的最大内存量。排序完成后, 各行将返回,
并且内存将释放。增大该值可以提高大型排序的效率。如果超过了该内存量, 将使用临时磁盘段。
值范围: 相当于 6 个数据库块的值 (最小值) 到操作系统确定的值 (最大值)。
默认值: 根据操作系统而定