最近频繁在进行数据大迁移,下面是从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
数据库装载完毕。
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' ;
数据库已更改。
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:
ORACLE
SONBWEB
USERS01
.
DBF'
2 to 'D: oracle oradata SONBWEB users01 . dbf' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB XDB01 . DBF'
2 to 'D: oracle oradata SONBWEB sdb01 . dbf' ;
alter database rename file 'E: ORACLE SONBWEB XDB01 . DBF'
*
ERROR 位于第 1 行:
ORA- 01511 : 重命名日志 / 数据文件时出错
ORA- 01141 : 重命名数据文件 10 时出错 - 未找到新文件
'D: oracle oradata SONBWEB sdb01 . dbf'
ORA- 01110 : 数据文件 10 : 'E: ORACLE SONBWEB XDB01 . DBF'
ORA- 27041 : 无法打开文件
OSD- 04002 : 无法打开文件
O / S-Error: ( OS 2 ) 系统找不到指定的文件。
SQL > alter database rename file 'E: ORACLE SONBWEB XDB01 . DBF'
2 to 'D: oracle oradata SONBWEB xdb01 . dbf' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB HOUSEWEB . ORA'
2 to 'D: oracle oradata SONBWEB houseweb . ora' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB sde . dbf'
2 to 'D: oracle oradata SONBWEB sde . dbf' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB REALSTAR . ORA'
2 to 'D: oracle oradata SONBWEB REALSTAR . ORA' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB REDO01 . LOG'
2 to 'D: oracle oradata SONBWEB REDO01 . LOG' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB REDO02 . LOG'
2 to 'D: oracle oradata SONBWEB REDO02 . LOG' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB REDO03 . LOG'
2 to 'D: oracle oradata SONBWEB REDO03 . LOG' ;
数据库已更改。
2 to 'D: oracle oradata SONBWEB users01 . dbf' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB XDB01 . DBF'
2 to 'D: oracle oradata SONBWEB sdb01 . dbf' ;
alter database rename file 'E: ORACLE SONBWEB XDB01 . DBF'
*
ERROR 位于第 1 行:
ORA- 01511 : 重命名日志 / 数据文件时出错
ORA- 01141 : 重命名数据文件 10 时出错 - 未找到新文件
'D: oracle oradata SONBWEB sdb01 . dbf'
ORA- 01110 : 数据文件 10 : 'E: ORACLE SONBWEB XDB01 . DBF'
ORA- 27041 : 无法打开文件
OSD- 04002 : 无法打开文件
O / S-Error: ( OS 2 ) 系统找不到指定的文件。
SQL > alter database rename file 'E: ORACLE SONBWEB XDB01 . DBF'
2 to 'D: oracle oradata SONBWEB xdb01 . dbf' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB HOUSEWEB . ORA'
2 to 'D: oracle oradata SONBWEB houseweb . ora' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB sde . dbf'
2 to 'D: oracle oradata SONBWEB sde . dbf' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB REALSTAR . ORA'
2 to 'D: oracle oradata SONBWEB REALSTAR . ORA' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB REDO01 . LOG'
2 to 'D: oracle oradata SONBWEB REDO01 . LOG' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB REDO02 . LOG'
2 to 'D: oracle oradata SONBWEB REDO02 . LOG' ;
数据库已更改。
SQL > alter database rename file 'E: ORACLE SONBWEB REDO03 . LOG'
2 to 'D: oracle oradata SONBWEB REDO03 . 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 >
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 >
迁移完成.