免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1090 | 回复: 0
打印 上一主题 下一主题

Oracle数据文件位置迁移笔记 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 01:20 |只看该作者 |倒序浏览

最近频繁在进行数据大迁移,下面是从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) 
19822002, 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';
数据库已更改。

 

临时文件更改无效,必须删除原先的临时文件重新生成。 

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
>
迁移完成.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP