我在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.
第四步,使用dbca新建实例测试,使用sqlplus / as sysdba能连接到这个实例
第五步,使用netca创建监听器服务和配置
在第四步测试建库时,如果你遇到这样的错误:在建库过程中,进度条在2%处出错,导致数据库创建失败。那么这可能是一个bug 7263061,需要下载补丁去解决。
Symptoms
Install Oracle 10.2.0.3 (Vista/2008 version) on Windows 2008 Active Directory Controller.
When trying to create the database, around 2% completion, the error ORA-12560 will occur.
This Problem can occur on both 32bit and 64bit.
This Problem does NOT reproduce on a Member server. Only the Active Directory Controller.
Cause
BUG 7263061.
Solution
For Oracle 10.2.0.4:
This issue has been resolved in the Oracle 10.2.0.4 Patch 14 patch.
Patch number 7677780 (MS Windows 32bit), or Patch number 7677781 (MS Windows 64bit (x64)).
NOTE: You will need to be at the 10.2.0.4 version, before applying this patch.
最后,小结一下。
在windows操作系统上,oracle主要配置有三项,其一、操作系统用户所属组是否有ora_dba;其二、注册表是否配置了oracle项;其三、windows服务是否新建了数据库实例服务。只要这三项正确,一般情况下都能成功。至于其他一些配置如监听器配置,可用netca自己配。