文章详情页
RHAS 3.0上的Oracle 9i的安装
RHAS 3.0上的Oracle 9i的安装原文来自 :好好先生 llmmysun 修改后发布参考文档:http://www.puschitz.com/InstallingOracle9i.sHtml 另外还参考了一篇csdn上的安装文档,在此一并表示感谢! 声明:本文可任意转载,但请保留上述信息 ;;;;Oracle是世界上使用最广泛的数据库,它可以运行在各种计算机上;也是当前最优秀的关系型数据库。以前,一至无缘接触。这两天,正好有空。就在自己的计算机上装了一遍,领略了一番她的魅力!一、预备工作; rpm -aq grep compat*--以下的包是必须安装的gcc cpp glibc-devel compat-libstdc++ glibc-kernheaders binutils --检查这些包是否已经安装rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils;1.下载oracle;9i;for;Linux的源码包(一共有三个cpio.gz的文件:lnx_920_disk1.cpio.gz,lnx_920_disk2.cpio.gz,lnx_920_disk3.cpio.gz) 2.下载补丁。至少需要四个补丁文件: [quote:db788a2c24]p3095277_9204_LINUX.zip;9.2.0.4.0的升级补丁包. p3006854_9204_LINUX.zip;在运行;runInstaller;之前打.--保证正常启动图形界面p3119415_9204_LINUX.zip;在升级到9.2.0.4.0之后打.;p2617419_210_GENERIC.zip;打3119415补丁所需要的.;--ORACLE opatch 工具,是一个perl程序这几个补丁文件都可以在Google上搜索到,其中p3095277_9204_LINUX.zip这个补丁有300多M,我在网上搜到了一个国内的下载站,速度有30多K/秒。另外三个,在itpub有人打包上传了。http://www.itpub.net/showthread.PHP?s=&threadid=171693&perpage=15&pagenumber=1 3.修改内核参数;echo;'kernel.sem='250;32000;100;128'';>>;/etc/sysctl.conf #echo;'kernel.shmmax=2147483648';>>;/etc/sysctl.conf[/quote:db788a2c24]; 第一条命令中的;250、32000、100、128;分别对应SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数。 上面是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动. 4.检查设置;more;/etc/sysctl.conf;;grep;kernel.s kernel.sysrq;=;0 kernel.shmmax=2147483648 kernel.sem='250;32000;100;128'[/quote:db788a2c24] 5.检查安装所需的rpm包是否齐全,确认以下rpm包都已经安装(假如你安装时选择了软件开发,那么基本上下面所列的包都已经安装了,假如没有安装,大部分在第三张光盘上,安装时注重一下顺序);rpm;-qa;;grep;compat compat-gcc-7.3-2.96.122 compat-libstdc++-devel-7.3-2.96.122 compat-gcc-c++-7.3-2.96.122 compat-libstdc++-7.3-2.96.122 compat-glibc-7.x-2.2.4.32.5 compat-db-4.0.14-5 #;rpm;-qa;;grep;openmotif openmotif-2.2.2-16 openmotif-devel-2.2.2-16 #;rpm;-qa;;grep;setarch setarch-1.3-1[/quote:db788a2c24] 6.把gcc,g++更换为2.96的版本。 ;mv;/usr/bin/gcc;/usr/bin/gcc323 #;ln;-s;/usr/bin/gcc296;/usr/bin/gcc; #;mv;;;/usr/bin/g++;/usr/bin/g++323;#;ln;-s;/usr/bin/gcc296;/usr/bin/gcc [/quote:db788a2c24] 7.设置用户及环境变量、安装目标路径 a.增加用户和组 [quote:db788a2c24]groupadd;dba;;#;创建数据库治理员组 groupadd;oinstall;;;;;#;创建oracle文件的所有组 useradd;-c;'Oracle;software;owner';-g;oinstall;-G;dba;oracle;#创建oracle用户 passwd;oracle;#设置oracle用户的密码[/quote:db788a2c24] b.创建安装目标路径 [quote:db788a2c24]mkdir;/opt/oracle mkdir;/opt/oracle/prodUCt mkdir;/opt/oracle/product/9.2.0 chown;-R;oracle.oinstall;/opt/oracle mkdir;/var/opt/oracle chown;oracle.dba;/var/opt/oracle chmod;755;/var/opt/oracle[/quote:db788a2c24] c.设置环境变量 [quote:db788a2c24]su;;-;oracle vi;.bash_profile加入下面的内容 eXPort;LD_ASSUME_KERNEL=2.4.1;#这个参数必须指定,否则Java安装界面无法启动,这个参数实际上是为了避免Linux上的NPTL(Native;POSIX;Thread;Library)和Oracle应用不兼容的问题. #;Oracle;Environment export;ORACLE_BASE=/opt/oracle export;ORACLE_HOME=/opt/oracle/product/9.2.0 export;ORACLE_SID=test export;ORACLE_TERM=xterm #;export;TNS_ADMIN=;Set;if;sqlnet.ora,;tnsnames.ora,;etc.;are;not;in;$ORACLE_HOME/network/admin export;NLS_LANG=AMERICAN; export;ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export;LD_LIBRARY_PATH #;Set;shell;search;paths export;PATH=$PATH:$ORACLE_HOME/bin 然后执行 $;source;.bash_profe;#让配置文件生效8.设置swap和临时文件夹 oracle对内存和swap要求比较高,Oracle;建议;Oracle;9i;;服务器至少需要;512M;内存,两倍内存或不少于;400M;的交换;(swap);空间。 假如你没有足够的交换空间或内存,在数据库创建过程中,你的;Oracle;服务器将变得非常迟钝。;我的内存只有256M,512M的swap。在此,我新增了1000M的swap。;su;–;root dd;if=/dev/zero;of=tmpswap;bs=100M;count=10 chmod;600;tmpswap mkswap;tmpswap swapon;tmpswap[/quote:db788a2c24] 另外,oracle的安装至少需要400M的/tmp临时空间。假如你/tmp下的空间不够,可以可以临时在另一个文件系统中建立一个/tmp;目录。;su;–;root mkdir;//tmp chown;root.root;//tmp chmod;1777;//tmp export;TEMP=/;#;used;by;Oracle export;TMPDIR=/;#;used;by;Linux;programs[/quote:db788a2c24] 当安装完;Oracle;之后,关闭;Oracle;并删除临时目录: [quote:db788a2c24]su;–;root rmdir;//tmp unset;TEMP unset;TMPDIR[/quote:db788a2c24] Oracle;磁盘空间;(Sizing;Oracle;Disk;Space) 仅安装数据库软件,大约需要2.5G;的磁盘空间。 假如执行一个标准的数据库安装而不是自定义安装,则大约需要3.5G空间。 9.解包安装文件。 把下载的文件拷贝到/tmp中。最好以root身份来解压,否则可能会报错。 a.解压 gunzip;lnx_920_disk1.cpio.gz;lnx_920_disk2.cpio.gz;lnx_920_disk3.cpio.gz;Linux9i_Disk3.cpio.gz b.解包;cpio;-idmv;<;lnx_920_disk1.cpio cpio;-idmv;<;lnx_920_disk2.cpio cpio;-idmv;<;lnx_920_disk3.cpio会生成Disk1,Disk2,Disk3三个文件夹,;好了,预备工作告一段落。万事俱备,只久安装了! 二、安装 1.打第一个补丁。 运行runInstaller之前,需要打补丁3006854:;注重,必须以root身份运行. [quote:db788a2c24]#;unzip;p3006854_9204_LINUX.zip[/quote:db788a2c24] 会在当前目录下创建一个目录,进入到该目录中 [quote:db788a2c24];#;cd;3006854 #chmod;+x;*.sh #;./rhel3_pre_install.sh2.以root身份执行xhost;+ 假如以oracle身份执行,会出现提示不能连接到display;0.0之类的错误。 3.运行runinstall(激动人心的时刻到了!) su;-;oracle /tmp/Disk1/runInstaller;(有文章说不要进入到Disk1的文件夹中再执行./runInstaller,否则会找不到其它的盘。我没有实验那样是否不行。) 根据提示往下面安装,中间会提示你,有一个地方要组名,输入oinstall, 另一个地方添数据库名和SID,请均填入orcl。 ;还会提示你用root身份执行一个脚本,按ctrl+shift+n新开一个终端窗口,;然后执行/tmp/的一个.sh文件。 另外,relink;阶段,会报告两个错误:ins_oemagent.mk;和;ins_ctx.mk.;点;Ignore忽略,安装后升级到9.2.0.4的版本来消除这个bug. 4.升级 解包: unzip;p3095277_9204_LINUX.zip cpio;-icvd;<;9204_lnx32_release.cpio;这个地方最好还以root身份解包,否则可能还会提示你权限不够。 现在可以再次运行runInstaller,要先升级oui(最后一个选项)否则不让升级到9.2.0.4.而且,升级完oui以后,要退出oui然后再重新运行oui,;再升级到9.2.0.4.不退出继续升级会报告错误.升级过程中,仍然会出现ins_oemagent.mk错误,点;Ignore;忽略(可以通过下面的补丁解决)。然后还会提示你用root身份来执行一个/opt中的一个脚本,你同样开一个终端,用root身份来执行就可以了。 5.打补丁 [quote:db788a2c24]su;-;oracle $;unzip;p3119415_9204_LINUX.zip $;cd;3119415 $;export;PATH=$PATH:/tmp/OPatch $;export;PATH=$PATH:/sbin#;the;patch;needs;'fuser';which;is;located;in;/sbin $;which;opatch /tmp/OPatch/opatch $;opatch;apply [/quote:db788a2c24] 这个地方有一个问题需要注重,直接用oracle身份解压可能提示权限不够,用root身份解压,然后用oracle身份来执行还会提示你权限不够,你用root解压然后执行chmod;777;3119415,然后su;-;oracle;/tmp/Opatch/opatch;apply就ok了。 好了,大功告成了!;;运行dbca命令来创建数据库,还有文档上说这个时候可能会出错,要修改dbca文件来解决,我没有碰到这个问题,假如你碰到了可以上google上找相关文档,来解决这个问题。 三、清扫战场及实验 1.删除临时文件(这些临时文件将近3G,不用我再说删除的意义了吧?) [quote:db788a2c24]cd;/tmp rm;-rf;*[/quote:db788a2c24] 2.改回gcc,g++的版本,否则在以后编译安装其他软件时可能会有问题 [quote:db788a2c24]#;mv;/usr/bin/gcc323;/usr/bin/gcc #;mv;/usr/bin/g++323;/usr/bin/g++[/quote:db788a2c24] 3.连接一下数据库,检查一下自己的劳动成果吧! [quote:db788a2c24]su;-;oracle oracle$;sqlplus;/nolog ;;;;;SQL>;connect;/;as;sysdba SQL>;startup;;;附:sqlplus; /nologconnect; /; as sysdbastartup nomount1.CREATE DATABASE ivpsMAXINSTANCES 1MAXLOGHISTORY 1MAXLOGFILES 7MAXLOGMEMBERS 3MAXDATAFILES 100DATAFILE '/home/oracle/oradata/ivps/system01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT; 10240K MAXSIZE UNLIMITEDEXTENT MANAGEMENT LOCALDEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/home/oracle/oradata/ivps/temp01.dbf' SIZE 512M REUSE AUTOEXTEND ON NEXT; 640K MAXSIZE UNLIMITEDUNDO TABLESPACE 'UNDOTBS' DATAFILE '/home/oracle/oradata/ivps/undotbs01.dbf' SIZE 1024M REUSE AUTOEXTEND ON NEXT; 5120K MAXSIZE UNLIMITEDCHARACTER SET ZHS16GBKNATIONAL CHARACTER SET AL16UTF16LOGFILE GROUP 1 ('/home/oracle/oradata/ivps/redo01.log') SIZE 20480K,GROUP 2 ('/home/oracle/oradata/ivps/redo02.log') SIZE 20480K,GROUP 3 ('/home/oracle/oradata/ivps/redo03.log') SIZE 20480K,GROUP 4 ('/home/oracle/oradata/ivps/redo04.log') SIZE 20480K,GROUP 5 ('/home/oracle/oradata/ivps/redo05.log') SIZE 20480K,GROUP 6 ('/home/oracle/oradata/ivps/redo06.log') SIZE 20480K;2.CREATE TABLESPACE 'INDX' LOGGING DATAFILE '/home/oracle/oradata/ivps/indx01.dbf' SIZE 1024M REUSE AUTOEXTEND ON NEXT; 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT; AUTO ;CREATE TABLESPACE 'USERS' LOGGING DATAFILE '/home/oracle/oradata/ivps/users01.dbf' SIZE 250M REUSE AUTOEXTEND ON NEXT; 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT; AUTO ;CREATE TABLESPACE 'TOOLS' LOGGING DATAFILE '/home/oracle/oradata/ivps/tools01.dbf' SIZE 50M REUSE AUTOEXTEND ON NEXT; 320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT; AUTO ;3.connect SYS/change_on_install as SYSDBA@/home/oracle/product/92/rdbms/admin/catalog.sql;@/home/oracle/product/92/rdbms/admin/catproc.sql;connect SYSTEM/manager@/home/oracle/product/92/sqlplus/admin/pupbld.sql;
上一条:ORACLE 锁下一条:有时Oracle不用索引来查找数据的原因
排行榜