最近频繁在进行数据大迁移,下面是从E:/ORACLE/SONBWEB下把数据文件、日志文件和控制文件完全迁移到D:/oracle/oradata/SONBWEB下。
操作系统:Windows Server 2003
Oracle Version:9.2.0.1.0。
下为非归档模式的迁移过程:

D:>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.1.0 - Production on 星期日 1月 7 23:11:54 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
已连接到空闲例程。
SQL> select * from v$datafile;
select * from v$datafile
*
ERROR 位于第 1 行:
ORA-01034: ORACLE not available

SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
E:ORACLESONBWEBSYSTEM01.DBF
E:ORACLESONBWEBUNDOTBS01.DBF
E:ORACLESONBWEBCWMLITE01.DBF
E:ORACLESONBWEBDRSYS01.DBF
E:ORACLESONBWEBEXAMPLE01.DBF
E:ORACLESONBWEBINDX01.DBF
E:ORACLESONBWEBODM01.DBF
E:ORACLESONBWEBTOOLS01.DBF
E:ORACLESONBWEBUSERS01.DBF
E:ORACLESONBWEBXDB01.DBF
E:ORACLESONBWEBHOUSEWEB.ORA
NAME
--------------------------------------------------------------------------------
E:ORACLESONBWEBSDE.DBF
E:ORACLESONBWEBREALSTAR.ORA
已选择13行。
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
E:ORACLESONBWEBCONTROL01.CTL
E:ORACLESONBWEBCONTROL02.CTL
E:ORACLESONBWEBCONTROL03.CTL
SQL> select * from v$logfile;
GROUP# STATUS TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
3 STALE ONLINE
E:ORACLESONBWEBREDO03.LOG
2 ONLINE
E:ORACLESONBWEBREDO02.LOG
1 STALE ONLINE
E:ORACLESONBWEBREDO01.LOG

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host copy E:ORACLESONBWEB*.dbf D:oracleoradataSONBWEB;
E:ORACLESONBWEBCWMLITE01.DBF
E:ORACLESONBWEBDRSYS01.DBF
E:ORACLESONBWEBEXAMPLE01.DBF
E:ORACLESONBWEBINDX01.DBF
E:ORACLESONBWEBODM01.DBF
E:ORACLESONBWEBSDE.DBF
E:ORACLESONBWEBSYSTEM01.DBF
E:ORACLESONBWEBTEMP01.DBF
E:ORACLESONBWEBTOOLS01.DBF
E:ORACLESONBWEBUNDOTBS01.DBF
E:ORACLESONBWEBUSERS01.DBF
E:ORACLESONBWEBXDB01.DBF
已复制 12 个文件。
SQL> host copy E:ORACLESONBWEB*.ora D:oracleoradataSONBWEB;
E:ORACLESONBWEBHOUSEWEB.ORA
E:ORACLESONBWEBREALSTAR.ORA
已复制 2 个文件。
SQL> host copy E:ORACLESONBWEB*.ctl D:oracleoradataSONBWEB;
E:ORACLESONBWEBCONTROL01.CTL
E:ORACLESONBWEBCONTROL02.CTL
E:ORACLESONBWEBCONTROL03.CTL
已复制 3 个文件。
SQL> host copy E:ORACLESONBWEB*.log D:oracleoradataSONBWEB;
E:ORACLESONBWEBREDO01.LOG
E:ORACLESONBWEBREDO02.LOG
E:ORACLESONBWEBREDO03.LOG
已复制 3 个文件。
SQL> create pfile from spfile;
文件已创建。

编辑生成的pfile即INIT<SID>.ORA默认在$Oracle_HOME/database下。此例中为INITsonbweb.ORA。将文件中控制文件的路径改成迁移后的路径。
SQL> create spfile from pfile;
文件已创建。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
数据库装载完毕。

SQL> alter database rename file 'E:ORACLESONBWEBSYSTEM01.DBF'
2 to 'D:oracleoradataSONBWEBsystem01.dbf';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBCWMLITE01.DBF'
2 to 'D:oracleoradataSONBWEBcwmlite01.dbf';
数据库已更改。

SQL> alter database rename file 'E:ORACLESONBWEBDRSYS01.DBF'
2 to 'D:oracleoradataSONBWEBdrsys01.dbf';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBEXAMPLE01.DBF'
2 to 'D:oracleoradataSONBWEBexample01.dbf';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBINDX01.DBF'
2 to 'D:oracleoradataSONBWEBindx01.dbf';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBODM01.DBF'
2 to 'D:oracleoradataSONBWEBodm01.dbf';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBTOOLS01.DBF'
2 to 'D:oracleoradataSONBWEB ools01.dbf';
数据库已更改。 SQL> alter database rename file 'E:ORACLESONBWEBUSERS01.DBF'
2 to 'D:oracleoradataSONBWEBusers01.dbf';
数据库已更改。

SQL> alter database rename file 'E:ORACLESONBWEBXDB01.DBF'
2 to 'D:oracleoradataSONBWEBsdb01.dbf';
alter database rename file 'E:ORACLESONBWEBXDB01.DBF'
*
ERROR 位于第 1 行:
ORA-01511: 重命名日志/数据文件时出错
ORA-01141: 重命名数据文件 10 时出错 - 未找到新文件
'D:oracleoradataSONBWEBsdb01.dbf'
ORA-01110: 数据文件 10: 'E:ORACLESONBWEBXDB01.DBF'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

SQL> alter database rename file 'E:ORACLESONBWEBXDB01.DBF'
2 to 'D:oracleoradataSONBWEBxdb01.dbf';
数据库已更改。

SQL> alter database rename file 'E:ORACLESONBWEBHOUSEWEB.ORA'
2 to 'D:oracleoradataSONBWEBhouseweb.ora';
数据库已更改。

SQL> alter database rename file 'E:ORACLESONBWEBsde.dbf'
2 to 'D:oracleoradataSONBWEBsde.dbf';
数据库已更改。

SQL> alter database rename file 'E:ORACLESONBWEBREALSTAR.ORA'
2 to 'D:oracleoradataSONBWEBREALSTAR.ORA';
数据库已更改。

SQL> alter database rename file 'E:ORACLESONBWEBREDO01.LOG'
2 to 'D:oracleoradataSONBWEBREDO01.LOG';
数据库已更改。

SQL> alter database rename file 'E:ORACLESONBWEBREDO02.LOG'
2 to 'D:oracleoradataSONBWEBREDO02.LOG';
数据库已更改。

SQL> alter database rename file 'E:ORACLESONBWEBREDO03.LOG'
2 to 'D:oracleoradataSONBWEBREDO03.LOG';
数据库已更改。
2 to 'D:oracleoradataSONBWEBusers01.dbf';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBXDB01.DBF'
2 to 'D:oracleoradataSONBWEBsdb01.dbf';
alter database rename file 'E:ORACLESONBWEBXDB01.DBF'
*
ERROR 位于第 1 行:
ORA-01511: 重命名日志/数据文件时出错
ORA-01141: 重命名数据文件 10 时出错 - 未找到新文件
'D:oracleoradataSONBWEBsdb01.dbf'
ORA-01110: 数据文件 10: 'E:ORACLESONBWEBXDB01.DBF'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL> alter database rename file 'E:ORACLESONBWEBXDB01.DBF'
2 to 'D:oracleoradataSONBWEBxdb01.dbf';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBHOUSEWEB.ORA'
2 to 'D:oracleoradataSONBWEBhouseweb.ora';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBsde.dbf'
2 to 'D:oracleoradataSONBWEBsde.dbf';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBREALSTAR.ORA'
2 to 'D:oracleoradataSONBWEBREALSTAR.ORA';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBREDO01.LOG'
2 to 'D:oracleoradataSONBWEBREDO01.LOG';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBREDO02.LOG'
2 to 'D:oracleoradataSONBWEBREDO02.LOG';
数据库已更改。
SQL> alter database rename file 'E:ORACLESONBWEBREDO03.LOG'
2 to 'D:oracleoradataSONBWEBREDO03.LOG';
数据库已更改。
临时文件更改无效,必须删除原先的临时文件重新生成。
SQL> startup;
ORA-01081: 无法启动已在运行的 ORACLE --- 请首先关闭
SQL> shutdown immediate;
ORA-01109: 数据库未打开

已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> select * from v$tempfile;
FILE# CREATION_CHANGE# CREATION_T TS# RFILE# STATUS ENABLED
---------- ---------------- ---------- ---------- ---------- ------- ----------
BYTES BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------
3 0 2 3 ONLINE READ WRITE
10485760 1280 10485760 8192
E:ORACLESONBWEBTEMP01.DBF

SQL> alter database tempfile 'E:ORACLESONBWEBTEMP01.DBF' drop;
数据库已更改。
SQL> alter tablespace temp add tempfile 'D:oracleoradataSONBWEBTEMP01.ora' s
ize 100M reuse;
表空间已更改。
SQL> select * from v$tempfile;
FILE# CREATION_CHANGE# CREATION_T TS# RFILE# STATUS ENABLED
---------- ---------------- ---------- ---------- ---------- ------- ----------
BYTES BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------
1 0 2 1 ONLINE READ WRITE
104857600 12800 104857600 8192
D:ORACLEORADATASONBWEBTEMP01.ORA

SQL>
迁移完成.
本文详细介绍了一次从E盘到D盘的Oracle数据库迁移过程,包括数据文件、日志文件及控制文件的迁移步骤,并记录了在Windows Server 2003环境下使用Oracle 9.2.0.1.0版本进行非归档模式迁移的具体操作。
1011

被折叠的 条评论
为什么被折叠?



