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