如何将Oracle 8i数据成功移植Oracle 10g
关于数据库的知识数不胜数,今天,小编为大家带来了新的关于数据库的内容。一、移植过程记录 基本状况:两台小型机,一台sun250,装的是solaris8+Oracle8i,机器名jgsun,ip 10.11.1.11,正在运行,有应用程序连接;一台是sunv890,装的是Solaris9+Oracle10g,机器名hssun, ip 10.11.1.19,没有运行,是新安装的机器。 要求:将Sun250的oralce8i的JSERP和ERPUSER3用户及其相应表空间DBERP和DBSYS的数据中国期刊全文数据库全部移植到Sunv890的Oracle10g中,将Sunv890的机器名及ip地址配置的和Sun250的原先机器名和ip相同,oracle的数据库名和服务名也要相同,移植后,直接将sun250的网线拔下插到sunv890上,不能影响应用系统正常运行!(这里是移植的用户及其表空间,移植整个数据库是一样的,只是在exp/imp导出导入时选择整个数据库就行了。) 移植过程 1、用oracle8i客户端的exp命令将sun250上的数据导出到某台pc机客户端。Exp导出时选择JSERP用户和ERPUSER3用户,分别到成数据文件jserp.dmp和erpuser3.dmp. 2、在新的oracle10g数据库中建立DBERP和DBSYS表空间,分别建立用户JSERP和ERPUSER3,对其分配权限,要与oracle8i中的表空间和用户的设置完全一样。 3、在oracle8i客户端用imp命令将刚才导出的数据文件jserp.dmp和erpuser3.dmp上传到sunv890上的oracle10g,上传时也是选择上传用户。上传完毕后,将sun250的网线拔掉,将sunv890的网线插上。4、修改SunV890的IP和机器名,改ip:(改为sun250的ip,由10.11.1.19改为10.11.1.11)。
$ Vi /etc/hosts |
改机器名: (改为sun250的机器名,由hssun改为jgsun)
$ Vi /etc/nodename $ Vi /etc/hosts $ Vi /etc/hostname.ge0 $ reboot |
5、此时发现reboot后,**、数据库混沌与秩序数据库 和iSqlplus的服务还都可以起来,只是EM的服务启动不起来了! 6、Emctl start dbconsole 出现如下错误:
找不到路径 \\oracle\\product\\10.2.0\\Db_1\\hssun_ora8 \\oracle\\product\\10.2.0\\Db_1\\oc4j\\j2ee\\oc4j_DBConsole_hssun_ora8 |
我将上面两个文件夹的名称中的hssun改为jgsun。可以继续启动了,但是最后还是起不来。 7、搜索jgsun_ora8\\sysman目录下的config目录和emd目录,找到所有含有hssun的文件,改为jgsun,log文件不用修改。 此时,内存数据库 em服务可以成功启动了,但是em界面运行不正常。Em界面中主机名还是hssun,许多连接打不开。 8、$ emca –config dbcontrol db (这是oracle10g的命令,8i和9i是emca -r) 输入以下信息:
SID:ora8 (同sun250上的oracle8i的SID) Listener port number: 1521 Sys 口令:****** …… |
好了,再次emctl start dbconsole EM就可以正常运行了! 二、问题分析 从移植的过程来看,外文文献数据库 数据移植没有问题,但是移植后em服务启动有问题,究其原因是因为修改了机器的IP和机器名,所以如果你的移植到的机器(我这里是sunv890)应该是先修改ip和机器名再安装创建oracle数据库,这样应该就不会出现em启动问题。 如果你的机器已经安装创建了oracle数据库,那么你在改完机器ip和机器名后可以先试试$ emca –config dbcontrol db,重新配置一下,这时看看em是否正常,如果还不正常,那么再用我上面的方法,修改文件夹的名称! 切记:如果碰到类似的移植,请一定先试试问题分析中的方法,如果不行再按照我的移植过程修改文件夹名称,不要走弯路!
更多详情请咨询课课家官网,了解更多内容.