Oracle 10g在Windows上移植
我在windows2008上安装Oracle10g,折腾一番之后发现按照正常的方法是不行的了。现在的状况是,没有10.2.0.3 for vista的安装包,该包能在windows2008上直接安装,也不能直接安装Oracle11g,客户不干。再确认一下,oracle 10.2.0.4的windows版本是能在windows2008上运行的。那么,我可以不可以直接移植过来,类似绿色安装呢。
停下来,简单地想了一下,觉得应是可行的,在linux系统上,我就经常这么干,凭什么windows就不行。
第一步,创建用户和组
在windows上,用户就是用administrator,oracle组需要新建,名称必须是ora_dba,将administrator隶属到ora_dba组。
第二步,设置环境变量,拷贝oracle安装好的软件目录
set PATH=D:\oracle\product\10.2.0\db_1\bin;%PATH%
set ORACLE_HOME=D:\oracle\product\10.2.0\db_1
set ORACLE_SID=mikidb
将windows2003上的安装好的文件夹拷贝到ORACLE_HOME目录下。
第三步,新建windows服务,并配置注册表
我先手工新建windows服务,如下:
oradim -new -sid mikidb -startmode auto -pfile d:\oracle\product\10.2.0\db_1\database\INITmikidb.ORA
虽然windows服务创建成功,但死活也起不来,报错说系统找不到文件。
停一下,想想windows上所有软件都需要注册表信息,这个也不会例外。
参照windows 2003 注册表上oracle软件的注册表信息,一样配置一份。如下所示:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]
@=""
"inst_loc"="C:\\Program Files\\Oracle\\Inventory"
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1]
"ORACLE_BASE"="d:\\oracle\\product\\10.2.0"
"ORACLE_BUNDLE_NAME"="Enterprise"
"ORACLE_GROUP_NAME"="Oracle - OraDb10g_home1"
"ORACLE_HOME"="d:\\oracle\\product\\10.2.0\\db_1"
"ORACLE_HOME_KEY"="SOFTWARE\\ORACLE\\KEY_OraDb10g_home1"
"ORACLE_HOME_NAME"="OraDb10g_home1"
"ORACLE_SID"="mikidb"
"ORA_mikidb_AUTOSTART"=hex(2):54,00,52,00,55,00,45,00,00,00
"ORA_mikidb_SHUTDOWN"=hex(2):54,00,52,00,55,00,45,00,00,00
"ORA_mikidb_SHUTDOWNTYPE"=hex(2):69,00,6d,00,6d,00,65,00,64,00,69,00,61,00,\
74,00,65,00,00,00
"ORA_mikidb_SHUTDOWN_TIMEOUT"=hex(2):39,00,30,00,00,00
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
再使用oradim工具将服务删除掉手工重建一下。
D:\oracle\product\10.2.0\db_1\database>sc delete OracleServicemikidb
[SC] DeleteService 成功
D:\oracle\product\10.2.0\db_1\database>oradim -new -sid mikidb -startmode auto
-pfile d:\oracle\product\10.2.0\db_1\database\INITmikidb.ORA
Instance created.