ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 更改ORACLE数据文件名字的方法

更改ORACLE数据文件名字的方法

原创 Linux操作系统 作者:anycall2010 时间:2008-08-26 17:54:11 0 删除 编辑

在论坛上看到一个经常遇到的问题,移动数据文件,收录一下,以后用得到:

有两种方法可以更改ORACLE数据文件的名字,联机方法与脱机方法。

一:脱机(可以移动任何表空间中的数据文件、日志文件,命令为alter database rename file)
Because the SYSTEM tablespace cannot be taken offline, you must use this method to move data files in the SYSTEM tablespace.
具体步骤为
1:$sqlplus “/ as sysdba”
SQL>shutdown

2:$mv or move  (使用操作系统命令改名字)

3:$sqlplus “/ as sysdba”
SQL>startup mount
SQL>alter database rename file 'xxxxx' to 'xxxxx'
(注意在alter open之前不要退出)

4:SQL>alter database open;

二:联机(不可移动system表空间,回滚段和临时表空间中的数据文件,命令为alter tablespace )
The following alter tablespace command is applied only to data files in a non-SYSTEM tablespace that does not contain active rollback or temporary segments:
具体步骤为:
1:$sqlplus “/ as sysdba”;
SQL>alter tablespace xxxx offline(如果非归档加drop);

2:$mv xxxxx xxxxx  (用os命令移动数据文件)

3:SQL>alter tablespace xxxx rename datafile 'xxxx' to 'xxxxx';

4:SQL>alter tablespace xxxx online;

三:表空间OFFLINE和ONLINE可以考虑是否是归档模式,可是,移动数据文件 ,一定是在归档模式下进行:

例如:

1、ALTER DATABASE DATAFILE '/oracle/test/BULLETIN_INFO.dbf' OFFLINE;(归档模式)

2、SQL> ALTER DATABASE DATAFILE '/oracle/test/BULLETIN_INFO.dbf' OFFLINE;
ALTER DATABASE DATAFILE '/oracle/test/BULLETIN_INFO.dbf' OFFLINE
*
第 1 行出现错误:
ORA-01145: offline immediate disallowed unless media recovery enabled
ALTER DATABASE RENAME FILE '/oracle/test/BULLETIN_INFO.dbf'TO '/oracle/bulletin.dbf';
(非归档模式)
3、SQL> conn sys/oracle@dg1 as sysdba
已连接。
SQL> ALTER DATABASE DATAFILE '/oracle/test/BULLETIN_INFO.dbf' OFFLINE;

数据库已更改。

SQL> ALTER DATABASE RENAME FILE '/oracle/test/BULLETIN_INFO.dbf'TO '/oracle/bull
etin.dbf';

数据库已更改。

归档模式下移动一个数据文件!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8334342/viewspace-434745/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-06-24

  • 博文量
    182
  • 访问量
    610303