您好,欢迎访问一九零五行业门户网

同版本 Oracle 11g 数据库移植详解

同版本 oracle 11g 数据库移植详解,操作系统满足oracle数据库版本的安装条件。
一、移植前提:
 1、操作系统满足oracle数据库版本的安装条件。
 2、数据库版本一致
二、源数据库端的操作:
 1、检查数据库是否归档,如果没归档,则归档。
  sqlplus /as sysdba
sql>archive log list;
  如果数据库工作在非归档模式下,则要打开归档。
  在数据库mount状态下,
  1.sql>alter system set archivelogs;
  2.sql>alter database open;
 2.sql>alter database backup controlfile to trace; --备份数据库的控制文件,用来在目的端重建。
 3.sql>shutdown immediate --此时数据库干净关闭,数据的scn号保持一致。
 4.从告警日志中找到控制文件的备份踪迹。
  找到alter_[oracle_sid].log,这里是alert_prod.log 这个文件是系统运行日志里面可以查看到,控制文件
  备份的位置.其中有shift+ g 到文件的最后,往回看,看到 backup controlfile written to trac
  e file /u03/dev/db/tech_st/11.1.0/admin/prod_dev01/diag/rdbms/prod/prod/trace/prod_ora_2654332.trc
  一般和告警日志在同一个目录。
  或者用
  show parameter diag命令查看控制文件备份trc的放置路径,然后找到最新的trc,里面就有备份信息。
 5.生成控制文件sql脚本。
  然后把倒数第一个 startup nomount 到alter database open resetlogs,指令中间的留下来其余删除,结果类似如下:
startup nomount
  create controlfile set database erp resetlogs archivelog  --这里要把 reuse 改成set,还不理解为什么。
      maxlogfiles 16
      maxlogmembers 2
      maxdatafiles 30
      maxinstances 1
      maxloghistory 292
  logfile
    group 1 '/u01/app/oracle/oradata/erp/redo01.log'  size 10m blocksize 512,
    group 2 '/u01/app/oracle/oradata/erp/redo02.log'  size 10m blocksize 512,
    group 3 '/u01/app/oracle/oradata/erp/redo03.log'  size 10m blocksize 512,
    group 4 '/u01/app/oracle/oradata/erp/redo04.log'  size 10m blocksize 512,
    group 5 '/u01/app/oracle/flash_recovery_area/erp/onlinelog/o1_mf_5_7wc3dk6b_.log'  size 100m blocksize 512
  -- standby logfile
  datafile
    '/u01/app/oracle/oradata/erp/system01.dbf',
    '/u01/app/oracle/oradata/erp/sysaux.dbf',
    '/u01/app/oracle/oradata/erp/undo01.dbf',
    '/u01/app/oracle/oradata/erp/rbs01.dbf',
    '/u01/app/oracle/oradata/erp/user01.dbf'
  character set we8iso8859p1;
  --recover database using backup controlfile 这个注释掉
  alter database open resetlogs;
 6.把上面脚本保存成 clt.sql 文件。
三、数据和文件的迁移
 1.把数据库的init.ora拷贝 目的数据库的 $oracle_home/dbs目录下,
 2.把上面第6步生成的 clt.sql 拷贝的某个目录下,自己能想起来就行。
 3.把上面控制文件中的出现并且目的服务器中不存在的目录建好,,例如 mkdir -p /u01/app/oracle/oradata/erp
 4.把源数据库中的数据文件拷贝到目标服务器上相应目录里,不存在就新建,可以sftp,也可以u盘拷贝。
  伪代码:cp -r /u01/app/oracle/oradata/erp/*   /u01/app/oracle/oradata/erp/
其它类似信息

推荐信息