导读: 迁移数据库的文件到不同路径 1.选择迁移的数据文件: d:/oracle/oradata/sun/test.ora http://www.sosdb.com/jdul/dispbbs.asp?boardid=1id=219page=3 create table name (name varchar2(10)) tablespace test; (1) no archive mode (a)迁移数据文件 1
导读:
迁移数据库的文件到不同路径
1.选择迁移的数据文件:
d:/oracle/oradata/sun/test.ora
http://www.sosdb.com/jdul/dispbbs.asp?boardid=1&id=219&page=3
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.测试成功.