发现了一个问题,在windows 2000上安装Oracle8170的时候,setup.exe执行后没有反应,最后只好用ora9201的OUI来安装Oracle8170,真是祸不单行,安装到98%的时候hung住,图形界面上是显示正在copy make.dat0,检查了一下,发现ORACLE_HOME下sqlplus.exe,oci.dll等重要文件已经存在了,但是开始菜单里面还没出现安装数据库的选项,再察看了一下安装日志,发现有下列错误:
java.lang.LinkageError: loader constraints violated when linking ssclusterRegisterw32 class
at ssCreateItemw32.installAction(ssCreateItemw32.java:215)
at oracle.sysman.oii.oiis.OiisCompActions.doActionWithException(OiisCompActions.java:1357)
at oracle.sysman.oii.oiis.OiisCompActions.doActionImpl(OiisCompActions.java:1157)
at oracle.sysman.oii.oiis.OiisCompActions.doAction(OiisCompActions.java:604)
at CompActions.doActionP3ntCreateItem2(CompActions.java:212)
at CompActions.stateChangePhase2Actions(CompActions.java:180)
at oracle.sysman.oii.oiic.OiicInstallActionsPhase$OiilActionThr.run(OiicInstallActionsPhase.java:619)
at oracle.sysman.oii.oiic.OiicInstallActionsPhase.executeProductPhases(OiicInstallActionsPhase.java:2199)
at oracle.sysman.oii.oiic.OiicInstallActionsPhase.doInstalls(OiicInstallActionsPhase.java:2077)
at oracle.sysman.oii.oiic.OiicInstallActionsPhase$OiInstRun.run(OiicInstallActionsPhase.java:2945)
at java.lang.Thread.run(Unknown Source)
google了一下,解释说是jre的版本问题,没办法,只好手工安装了,现把整个过程纪录如下:
环境:windows2000 pro, Oracle8170, SID=satest, Oracle_HOME=e:/oracle/ora81
1.create the folders need by init.ora,don't forget subfolder
2.copy a init.ora ,modify the content to match your environment.
3.create file pwd<SID>.ora
>orapwd file=e:/oracle/ora81/database/PWDsatest.ora password=oracle entries=5
>oradim -new -sid satest -startmode manual -pfile "e:/Oracle/ora81/database/initsatest.ora"
4.update sqlnet.ora in order to you can login with internal account
sqlnet.ora: SQLNET.AUTHENTICATION_SERVICES=(NTS)
create a group named ora_dba in OS, add the current user to this group as a member.
5.create database,include controlfile, system TBS,RBS TBS,TEMP TBS.
>set ORACLE_SID=satest
>svrmgrl
connect INTERNAL/oracle
startup nomount pfile="e:/Oracle/ora81/database/initsatest.ora"
CREATE DATABASE satest
LOGFILE 'e:/Oracle/oradata/satest/redo01.log' SIZE 2048K,
'e:/Oracle/oradata/satest/redo02.log' SIZE 2048K,
'e:/Oracle/oradata/satest/redo03.log' SIZE 2048K
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE 'e:/Oracle/oradata/satest/system01.dbf'
SIZE 58M REUSE AUTOEXTEND ON NEXT 640K
MAXDATAFILES 254
MAXINSTANCES 1
CHARACTER SET zht16big5
NATIONAL CHARACTER SET utf8;
ALTER TABLESPACE SYSTEM DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 50);
ALTER TABLESPACE SYSTEM MINIMUM EXTENT 64K;
CREATE TABLESPACE RBS DATAFILE 'e:/Oracle/oradata/satest/rbs01.dbf' SIZE 256M REUSE
AUTOEXTEND ON NEXT 5120K
MINIMUM EXTENT 512K
DEFAULT STORAGE ( INITIAL 512K NEXT 512K MINEXTENTS 8 MAXEXTENTS 4096);
CREATE TABLESPACE sadata DATAFILE 'e:/Oracle/oradata/satest/sadata01.dbf' SIZE 128M REUSE
AUTOEXTEND ON NEXT 1280K
MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
CREATE TABLESPACE TOOLS DATAFILE 'e:/Oracle/oradata/satest/tools01.dbf' SIZE 64M REUSE
AUTOEXTEND ON NEXT 320K
MINIMUM EXTENT 32K
DEFAULT STORAGE ( INITIAL 32K NEXT 32K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
CREATE TABLESPACE TEMP DATAFILE 'e:/Oracle/oradata/satest/temp01.dbf' SIZE 32M REUSE
AUTOEXTEND ON NEXT 640K
MINIMUM EXTENT 64K
DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS
UNLIMITED PCTINCREASE 0) TEMPORARY;
alter user sys temporary tablespace TEMP;
CREATE PUBLIC ROLLBACK SEGMENT RBS0 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS1 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS2 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS3 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS4 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS5 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS6 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS7 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS8 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS9 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS10 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS11 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS12 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS13 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS14 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS15 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS16 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS17 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS18 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS19 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS20 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS21 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS22 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS23 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
CREATE PUBLIC ROLLBACK SEGMENT RBS24 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
@e:/Oracle/Ora81/Rdbms/admin/catalog.sql;
@e:/Oracle/Ora81/Rdbms/admin/catexp7.sql
@e:/Oracle/Ora81/Rdbms/admin/catproc.sql
@e:/Oracle/Ora81/Rdbms/admin/caths.sql
connect system/manager
@D:/Oracle/Ora81/sqlplus/admin/pupbld.sql
connect internal/oracle
@e:/Oracle/Ora81/Rdbms/admin/catrep.sql
exit
7.create sql online help.
>sqlplus system/manager @e:/Oracle/Ora81/sqlplus/admin/help/helpbld.sql helpus.sql
8.adjust user system's default TBS and temporary tablespace.
>sqlplus /nolog
conn / as sysdba
alter user system default tablespace tools quota unlimited on tools;
alter user system temporary tablespace TEMP;
9.set start mode of service satest to auto.
oradim -edit -sid satest -startmode auto
10.update %PATH%,add e:/oracle/ora81/bin in the ahead .
11.copy a listener.ora ,modfity it to match your environment.
>"lsnrctl start" command to start listener,then open services panel set the "OracleOraHome81TNSListener" startmode to auto.
如果上面步骤都没问题的话,数据库就算建立好了,其中第5步的脚本可以使用Oracle建立数据库的工具产生。
注意的地方:
1.用这个脚本建立的数据库中包含了dbsnmp,outln,sys,system这四个用户,所有的密码都是缺省的。
2.所有的TBS都是dictionary的管理,autoextend是打开的,redo只有2M,不适合用在大型的生产方面,如果需要的话就需要修改这方面的参数。
3.如果安装文件已经损坏,不能使用,可以使用拷贝的办法,从其他机器上copy一份安装好的oracle文件过来,包括$ORACLE_HOME下面的所有东西,然后把注册表部分导出,按要求修改后导入到新机器上即可。