dagu 发表于 2013-1-31 02:49:07

oracle alter tablespace name rename datafile 遇到的问题

SQL>alter tablespace zydl rename datafile '/u01/app/oracle/product/10.2.0/db_1/dbs/sltbs01.dbf'
to ' /u02/oradata/orcl/zydl.dbf';
alter tablespace zydl rename datafile '/u01/app/oracle/product/10.2.0/db_1/dbs/sltbs01.dbf'
to ' /u02/oradata/orcl/zydl.dbf'
*
ERROR at line 1:
ORA-01525: error in renaming data files
ORA-01141: error renaming data file 6 - new file
' /u02/oradata/orcl/zydl.dbf'
not found
ORA-01110: data file 6: '/u01/app/oracle/product/10.2.0/db_1/dbs/sltbs01.dbf'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3


这样写会报错误 很莫名的错误,ORA-01525: error in renaming data files
ORA-01141: error renaming data file 6 - new file
' /u02/oradata/orcl/zydl.dbf'
' /u02/oradata/orcl/zydl.dbf' 多了一个空格 把空格删除,'/u02/oradata/orcl/zydl.dbf' ok!
这些都是要注意的 否则一定会困惑很久,也找不到问题

之后将表空间zydl设置成online 遇到了问题
SQL> alter tablespace zydl online;
alter tablespace zydl online
*
ERROR at line 1:
ORA-01113: file 6 needs media recovery
ORA-01110: data file 6: '/u02/oradata/orcl/zydl.dbf'

就应该直接执行
SQL> recover datafile '/u02/oradata/orcl/zydl.dbf';
Media recovery complete.

SQL> alter database open;
Database altered.
即可打开数据库
如果是startup启动数据哭的时候遇到 类似needs media recovery 则执行 recover database;
这里如果执行recover database 会出错
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required
页: [1]
查看完整版本: oracle alter tablespace name rename datafile 遇到的问题