最近比较的懒没有写一些东西,今天元宵闲来无事,记录搬迁资料
前几天帮一个朋友搬迁资料
本来预计一个小时可以解决,但是中间出现一个小插曲,记录在此供以后参照
环境 OS:32 bit Windows 2003 oracle 版本:32 bit 10201
大概了解了当时的环境数据库没有物理备份和逻辑备份,所以我采用了冷备份,可以停机操作
1 在B机器上安装相同版本的oracle软件,这里不要安装oracle数据库
2 创建初始化文件 create pfile='' from spfile;
3 关闭A机器,copy oracle的物理文件和初始化文件和密码文件到B机器相同的路径下
3.1 如果控制文件的路径不一致要更改初始化文件中control_files参数
3.2 如果数据文件不一致要将db启动到mount状态之后rename
3.3 如果sys密码文件丢失可以重新创建 orapwd file=oraporcl.ora password=newpasswd entries=100
4 在B机器上创建sid的服务 oradim -new -sid orcl -STARTMODE manaual -PFILE=""
这个之后我顺便将tnsname和listener 和sqlnet的文件copy过去 修改listener的配置
由于A机器之前有安装过oracle软件,但是听他说安装没有成功,于是我重新安装了oracle软件
这是插曲出现了
tnsping orcl
Used parameter files:
/home/oracle/oracle/product/10.2.0/db_2/network/admin/sqlnet.ora
TNS-03505: Failed to resolve name
启动listener lsnrclt start 没有错误 tns配置没有错误 为何出现这样的错误
于是修改sqlnet.ora 文件中的配置还是出现上面的错误,最后是环境变量的问题
listener配置
(SID_DESC =
(SID_NAME = PL***tProc)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_2)
(PROGRAM = extproc)
)
将db_2改为db_1 tnsping orcl 没有出错
5 修改B机器上的pfile文件
6 startup nomount alter database mount alter database open
至此文件迁移结束,历时三个小时。
阅读(1056) | 评论(0) | 转发(0) |