您的位置:首页 > 数据库 > Oracle

Oracle 移动数据文件的操作方法

2009-12-24 09:47 513 查看
将表空间和数据文件从一个位置移动到另一个位置的操作方法

一. OFFLINE

OFFLINE 分为ALTER DATABASE 与 ALTER TABLESPACE OFFLINE,

他们的区别参看blog:http://blog.csdn.net/tianlesoftware/archive/2009/11/29/4898800.aspx

按数据文件来:

1.先将相应的数据文件 offline

ALTER DATABASE DATAFILE 'D:/ORACLE/ORADATA/DBA/TEST01.DBF' OFFLINE;
2.把数据文件 copy 到新位置
3. alter database rename file 'D:/ORACLE/ORADATA/DBA/TEST01.DBF' to 'D:/TEST01.DBF';

4. 介质恢复(offline 数据文件必须要介质恢复)

recover datafile 'D:/TEST01.DBF'
5. 将相应的数据文件 online

SQL>ALTER DATABASE DATAFILE 'D:/TEST01.DBF' ONLINE;

按表空间来:

1.先将相应的表空间 offline

SQL>alter tablespace test offline;

2.把数据文件 copy 到新位置
3. alter tablespace TEST rename datafile 'D:/TEST01.DBF' to 'D:/ORACLE/ORADATA/DBA/TEST01.DBF'

4. 将表空间 online

SQL>alter tablespace test online;

二. Shutdown 数据库

1. 关闭数据库

C:>set ORACLE_SID=DBA

C:>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 11月 29 11:14:02 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn sys/admin as sysdba

已连接。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL>

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

3. rename datafile

SQL> startup mount

ORACLE 例程已经启动。

Total System Global Area 289406976 bytes

Fixed Size 1248576 bytes

Variable Size 71303872 bytes

Database Buffers 209715200 bytes

Redo Buffers 7139328 bytes

数据库装载完毕。

SQL> alter database rename file 'D:/ORACLE/ORADATA/DBA/TEST01.DBF' to 'D:/TEST01

.DBF';

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> select file#,name,status from v$datafile;

FILE# NAME STATUS

-------- ------------------------------------------------------- ---------------

1 D:/ORACLE/ORADATA/DBA/SYSTEM01 SYSTEM

2 D:/ORACLE/ORADATA/DBA/UNDOTBS0 ONLINE

3 D:/ORACLE/ORADATA/DBA/SYSAUX01 ONLINE

4 D:/ORACLE/ORADATA/DBA/USERS01. ONLINE

5 D:/TEST01.DBF ONLINE

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tianlesoftware/archive/2009/11/30/4899172.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: