分享
 
 
 

两小时搞定RHAS 3.0上的Oracle 9i的安装

王朝oracle·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

参考文档:http://www.puschitz.com/InstallingOracle9i.shtml

另外还参考了一篇csdn上的安装文档,在此一并表示感谢!

声明:本文可任意转载,但请保留上述信息

==========================================================================

Oracle是世界上使用最广泛的数据库,它可以运行在各种计算机上;也是当前最优秀的关系型数据库。以前,一至无缘接触。这两天,正好有空。就在自己的计算机上装了一遍,领略了一番她的魅力!

一、准备工作

1.下载oracle 9i for linux的[url=http://www.pccode.net].net" class="wordstyle"源码包(一共有三个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补丁所需要的.[/quote:db788a2c24]

这几个补丁文件都可以在google上搜索到,其中p3095277_9204_LINUX.zip这个补丁有300多M,我在网上搜到了一个国内的下载站,速度有30多K/秒。另外三个,在itpub有人打包上传了。http://www.itpub.net/showthread.php?s=&threadid=171693&perpage=15&pagenumber=1

3.修改内核参数

[quote:db788a2c24]#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.检查设置

[quote:db788a2c24]# more /etc/sysctl.conf | grep kernel.s

kernel.sysrq = 0

kernel.shmmax=2147483648

kernel.sem="250 32000 100 128"[/quote:db788a2c24]

5.检查安装所需的rpm包是否齐全,确认以下rpm包都已经安装(如果你安装时选择了软件开发,那么基本上下面所列的包都已经安装了,如果没有安装,大部分在第三张光盘上,安装时注意一下顺序)

[quote:db788a2c24] # 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的版本。

[quote:db788a2c24]# 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 #让配置文件生效[/quote:db788a2c24]

8.设置swap和临时文件夹

oracle对内存和swap要求比较高,Oracle 建议 Oracle 9i 服务器至少需要 512M 内存,两倍内存或不少于 400M 的交换 (swap) 空间。如果你没有足够的交换空间或内存,在数据库创建过程中,你的 Oracle 服务器将变得非常迟钝。 我的内存只有256M,512M的swap。在此,我新增了1000M的swap。

[quote:db788a2c24]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 目录。

[quote:db788a2c24]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.解包

[quote:db788a2c24]cpio -idmv < lnx_920_disk1.cpio

cpio -idmv < lnx_920_disk2.cpio

cpio -idmv < lnx_920_disk3.cpio[/quote:db788a2c24]

会生成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.sh[/quote:db788a2c24]

2.以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[/quote:db788a2c24]

SQL>这时你可以用create table来创建数据库了,和mysql提示符下的操作一样。

如果你现在只是测试服务器,不是生产服务器,关机时别忘了在sql>提示符下执行一下shutdown来关闭数据库,不然的话,关机的过程将变得非常漫长。

好了,就写这么多吧,如果你在安装过程中还有什么问题,欢迎与我交流。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有