现在的位置: 首页 > 综合 > 正文

迁移数据库的文件到不同路径

2013年07月07日 ⁄ 综合 ⁄ 共 1974字 ⁄ 字号 评论关闭

author :skate
time :2009/02/09


迁移数据库的文件到不同路径 

---数据文件的迁移
---redo log文件的迁移

1.选择迁移的数据文件:
D:/ORACLE/ORADATA/SUN/TEST.ORA

 

create table name
(name varchar2(10))
tablespace test;

 

(1) No Archive Mode

 

(A)迁移数据文件
1.看表所在的表空间与数据文件:
select d.name , t.name
from
v$datafile d , v$tablespace t
where
d.ts#=t.ts#;

 

2.alter tablespace test offline;
move D:/ORACLE/ORADATA/SUN/TEST.ORA D:/oracle/move/TEST.ORA

 

3.
alter database rename file 'D:/ORACLE/ORADATA/SUN/TEST.ORA' to 'D:/oracle/move/TEST.ORA';

 

4.alter tablespace test online;

 

5.迁移成功。

 

(B)迁移redolog 文件
1.查看Redolog 的文件的位置所在。
select member from v$logfile;

 

2.选择要迁移的Redolog的位置, 查看Redolog 位置的状态.
select g.member, v.status from
v$log v , v$logfile g
where
v.GROUP#=g.GROUP#;

 

3.如果日志的状态为CURRENT, 切换日志.
alter system switch logfile;

 

4.移动日志文件的位置
move D:/ORACLE/ORADATA/SUN/REDO03.LOG D:/oracle/move/REDO03.LOG

 

5.数据字典的更名
alter database rename file 'D:/ORACLE/ORADATA/SUN/REDO03.LOG' to 'D:/oracle/move/REDO03.LOG';

 

6.进行切换日志的测试.
alter system switch logfile;

 

7.测试成功.

 

(2) Archive log Model

 

SQL> startup mount
更改数据库为Archive log 模式
SQL> alter database archivelog
SQL> archive log start
打开数据库
SQL> alter database open

 

(C)迁移数据文件
1.看表所在的表空间与数据文件:
select d.name , t.name
from
v$datafile d , v$tablespace t
where
d.ts#=t.ts#;

 

2.alter tablespace test offline;
move D:/ORACLE/ORADATA/SUN/TEST.ORA D:/oracle/move/TEST.ORA

 

3.
alter database rename file 'D:/ORACLE/ORADATA/SUN/TEST.ORA' to 'D:/oracle/move/TEST.ORA';

 

4.恢复数据文件
如果数据库文件的状态是 Recover 执行如下语句 (OFFLINE) 不执行
rocover datafile 'D:/oracle/move/TEST.ORA';

 

5.上线
alter tablespace test online;

 

datafile级的为
alter database datafile db1 offline;
move db1 db2
alter database rename file db1 to db2
rocover datafile db2;
alter database datafile db2 online;

 

(D)Relolog的迁移
1.查看Redolog 的文件的位置所在。
select member from v$logfile;

 

2.选择要迁移的Redolog的位置, 查看Redolog 位置的状态.
select g.member, v.status from
v$log v , v$logfile g
where
v.GROUP#=g.GROUP#;

 

3.如果日志的状态为CURRENT, 切换日志.
alter system switch logfile;

 

4.移动日志文件的位置
move D:/ORACLE/ORADATA/SUN/REDO03.LOG D:/oracle/move/REDO03.LOG

 

5.数据字典的更名
alter database rename file 'D:/ORACLE/ORADATA/SUN/REDO03.LOG' to 'D:/oracle/move/REDO03.LOG';

 

6.进行切换日志的测试.
alter system switch logfile;

 

7.测试成功.
 

 

抱歉!评论已关闭.