循序渐进讲解Oracle 9i数据库的迁移过程

第五阅读网 FiveRead.com  2008年05月14日  赛迪网 Ben

  需求:把原系统Oracle 9205数据库迁移到一台新的服务器和阵列上,原系统有250GB的数据量,需要停止原来系统的业务,做冷备份和恢复。

  解决方法如下:

  ◆1.在新的服务器和阵列上装好一个oracle 9206数据库;

  ◆2.停止原系统oracle 9205;

  ◆3.把原系统的数据冷拷贝到新的服务器上,然后按照以下步骤来进行恢复:

  

  (1)、获取数据库相关信息

  首先要查看一下数据库的文件内容:

  select * from v$datafile;

  select * from v$controlfile

  select * from v$logfile;

  数据文件:

  G:/ORADATA/WebOA/SYSTEM01.DBF

  G:/ORADATA/WEBOA/UNDOTBS01.DBF

  G:/ORADATA/WEBOA/CWMLITE01.DBF

  G:/ORADATA/WEBOA/DRSYS01.DBF

  G:/ORADATA/WEBOA/EXAMPLE01.DBF

  G:/ORADATA/WEBOA/INDX01.DBF

  G:/ORADATA/WEBOA/ODM01.DBF

  G:/ORADATA/WEBOA/TOOLS01.DBF

  G:/ORADATA/WEBOA/USERS01.DBF

  G:/ORADATA/WEBOA/XDB01.DBF

  控制文件:

  G:/ORADATA/WEBOA/CONTROL01.CTL

  G:/ORADATA/WEBOA/CONTROL02.CTL

  G:/ORADATA/WEBOA/CONTROL03.CTL

  重做日志文件:

  G:/ORADATA/WEBOA/REDO03.LOG

  G:/ORADATA/WEBOA/REDO02.LOG

  G:/ORADATA/WEBOA/REDO01.LOG

  

  (2)、移动应用数据文件

  shutdown immediate关闭数据库,拷贝数据文件到另外一个目录下。需要copy 的文件有:

  system01.dbf

  indx01.dbf

  temp01.dbf

  users01.dbf

  应用数据文件

  (3)、修改数据库文件的位置

  启动MOUNT模式

  startup mount;

  alter database rename file 'g:/oradata/weboa/SYSTEM01.DBF' to 'd:/oradata/weboa/SYSTEM01.DBF';

  注意只能进行更改移动的数据库文件,不包括控制文件与日志文件,TEMP文件。

  移动控制文件

  (1)备份SPFILE中的内容:

  再重新启动数据库:

  startup;

  create pfile=’c:/init.ora’ from spfile;

  (2)修改init.ora文件中的内容:

  *.control_files='/oradata/ocp/control01.ctl','/oradata/ocp/control02.ctl','/oradata/ocp/control03.ctl'

  进行更改已经复制的目录位置。

  Shutdown 数据库

  (3)将控制文件复制过去

  将三个控制文件移动到上面所修改的的目录下。

  (4)倒入参数文件

  以init.ora参数方式启动:

  startup pfile=’/oracle/init.ora’;

  create spfile from pfile=’/oracle/init.ora’;

  shutdown immediate;

  startup; 从spfile中进行启动。

  这样控制文件移动工作就结束了。

  重建或重定位LOG文件

  解决日志文件的移动方式有两种,一种是移动(RENAME方式)另一种是重新创建。

  (1)移动LOG文件

  重新移动数据库文件与移动系统数据库文件是一样的方法,只是要求数据库必须是“startup mount”方式进行。

  startup mount

  alter database rename file 'g:/oradata/weboa/REDO01.LOG' to 'd:/oradata/weboa/REDO01.LOG';

  alter database rename file 'g:/oradata/weboa/REDO02.LOG' to 'd:/oradata/weboa/REDO02.LOG';

  alter database rename file 'g:/oradata/weboa/REDO03.LOG' to 'd:/oradata/weboa/REDO03.LOG';

  四、重建系统监时(temp)文件系统

  在移动数据表空间时,TEMP文件是不能被移动的,这里要求可以进行重建一个TEMP表空间,并设置为系统默认的TEMP文件系统。

  然后再册除原来的TEMP表空间,达到移动表空间的过程。

  迁移临时表空间

  ◆1.startup --启动数据库

  ◆2. create temporary tablespace "temp02" tempfile 'd:/oradata/weboa/temp02.dbf' size 500m extent management local uniform size 10m; --创建中转临时表空间

  ◆3.alter database default temporary tablespace temp2; --改变缺省临时表空间 为刚刚创建的新临时表空间temp2

  ◆4.drop tablespace temp including contents and datafiles;--删除原来临时表空间

  ◆5 然后再删除原来的TEMP文件就可以了。

文章评论

发表您的评论 查看完整内容