移动表空间数据文件

 2011年5月31日

移动表空间数据文件方法:

一、首先启用介质恢复即打开归档模式,用sys用户(如果已经打开则省略该步骤)
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size              92277684 bytes
Database Buffers          503316480 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;

数据库已更改。

二、具体操作(不需要sys用户):
1、ALTER DATABASE DATAFILE 'D:\oracle\product\10.2.0\oradata\telemt\gmapdata.dbf' OFFLINE;

2.把数据文件 copy 到新位置

3. alter database rename file 'D:\oracle\product\10.2.0\oradata\telemt\gmapdata.dbf' to 'E:\oracledbf\gmapdata.dbf';

4. 介质恢复

recover datafile 'E:\oracledbf\gmapdata.dbf'; --不能在plsql中完成,必须在命令窗口执行,在plsql中执行提示无效的sql语句

5. 将相应的数据文件 online

ALTER DATABASE DATAFILE 'E:\oracledbf\gmapdata.dbf' ONLINE;

6、由于是测试库不需要归档模式,再将其改为非归档模式。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size              96471988 bytes
Database Buffers          499122176 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> alter database noarchivelog;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> archive log list;
数据库日志模式             非存档模式
自动存档             禁用
存档终点            USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列     4448
当前日志序列           4450

原文地址:https://www.cnblogs.com/lanzi/p/2064851.html