1、oracle 数据库迁移方案二记录欲迁移库的 sid,是否为归档模式(查看方法:以 sys 用户登入 sqlplus 后运行 archive log list,建库时默认为非归档模式)以及如下文件的存放位置:参数文件,密码文件,控制文件,日志文件,数据文件。具体步骤如下:一 原始信息记录及复制1记录欲迁移库的 sid,是否为归档模式(查看方法:以 sys 用户登入 sqlplus 后运行archive log list,建库时默认为非归档模式)以及如下文件的存放位置:参数文件,密码文件,控制文件,日志文件,数据文件参数文件存放在 oracleora92database 目录下,名为SPFILE
2、.ORA,例如 SPFILEZJDB.ORA密码文件一般与参数文件存放在同一目录,名为 PWD.ora,例如 PWDzjdb.ora控制文件的位置和个数可通过查看参数文件获得,参数文件中有这样一行文字:*.control_files=E:oradatazjdbcontrol01.ctl,E:oradatazjdbcontrol02.ctl,E:oradatazjdbcontrol03.ctl注意:不要用记事本打开参数文件,那样会破坏其格式,用写字板之类的打开,并且打开前先备份一个数据文件与日志文件存放的位置根据具体情况而定,一般在 oradata以实例名为名称的目录,控制文件的位置一般也在这个
3、目录下2 复制这些文件到目标主机上?二 建立新数据库1 在目标主机上建个与原主机位置相同的文件夹,例如 pme 上所有数据文件,日志文件,控制文件均存放在 E:oradatazjdb 下,则在目标主机上建 E:oradatazjdb 目录2在目标主机上用 Database Configuration Assistant(即 dbca)建立一个新的数据库,SID 与原有库相同,其它各步可选用默认选项(注意是否归档模式需与原库保持一致)3 建好库以后,先备份一下新库的参数文件,密码文件,控制文件,日志文件,数据文件,以防迁移不成功恢复这个新库用4 以 sys 用户登入 sqlplus,关闭数据库s
4、hutdown immediate5 用原库的参数文件,密码文件,控制文件替换新库的相应文件并编辑参数文件中的如下项为实际位置*.background_dump_dest=F:oracleadminzjdbbdump*.control_files=E:oradatazjdbcontrol01.ctl,E:oradatazjdbcontrol02.ctl,E:oradatazjdbcontrol03.ctl*.core_dump_dest=F:oracleadminzjdbcdump*.user_dump_dest=F:oracleadminzjdbudump注意保证参数文件的格式不要被破坏6将
5、原库的所有数据文件和日志文件拷过去替换新库的相应文件(新库中只有 oracle 初始化建的数据文件,而原库中有我们自己建的数据文件,要将这些也拷过去,主要就是为了迁移这些数据)迁移完毕?三 启动新库命令行下:Set oracle_sid=新库 sidSqlplus /nologConn /as sysdba会提示已连接到空闲例程SQL startup nomountORACLE 例程已经启动。Total System Global Area? 135338868 bytesFixed Size? 453492 bytesVariable Size? 109051904 bytesDatabase Buffers? 25165824 bytesRedo Buffers? 667648 bytesSQL出现上面的字幕说明参数文件没有问题若提示 ORA-600 说明参数文件格式出问题了或者内容有问题,检查之前步骤startup nomount 成功后运行 create pfile from spfile;创建后运行 alter database mount;成功的话说明找到控制文件了成功后运行 alter database open;成功的话说明迁移成功