2010年(2)
分类: Oracle
2010-09-26 13:19:44
一、准备工作
1.下载oracle 9i for linux的源码包(一共有三个cpio.gz的文件:
ship_9204_disk1.cpio.gz
ship_9204_disk2.cpio.gz
ship_9204_disk3.cpio.gz
2.下载补丁。至少需要四个补丁文件:
p3006854_9204_LINUX.zip 在运行 runInstaller 之前打.
p3119415_9204_LINUX.zip 安装之后打.
p2617419_210_GENERIC.zip 打3119415补丁所需要的.
3.检查安装所需的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-
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
# rpm -qa | grep tcl
tcl-8.3.5-92.4
4.设置用户及环境变量、安装目标路径增加用户和组
# groupadd dba # 创建数据库管理员组
# groupadd oinstall # 创建oracle文件的所有组
# useradd -g oinstall -G dba oracle #创建用户
# passwd oracle #设置oracle用户的密码
5.修改内核参数
# vi /etc/sysctl.conf
加入:
kernel.shmmax = 1073565663232
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
保存退出执行以下命令查看
# sysctl -p
第一条命令中的 250、32000、100、128 分别对应SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数。可用
# grep MemTotal /proc/meminfo #查看内存大小
Shmmax=实际内存1024 * 1024 * 2
如果内存在
上面是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动.
6.#vi /etc/security/limits.conf
加入:
oracle hard nofile 65536
oracle soft nofile 65536
oracle hard nproc 16384
oracle soft nproc 16384
7.把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/g++296 /usr/bin/g++
8.设置环境变量
# su - oracle
# vi .bash_profile加入下面的内容
export DISPLAY=192.168.1.2:0.0
export LD_ASSUME_KERNEL=
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/
export ORACLE_SID=orasid
export ORACLE_TERM=xterm
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
export PATH=$PATH:$ORACLE_HOME/bin
然后执行
$ source .bash_profile #让环境变量配置文件生效
9.解包安装文件。
把下载的文件拷贝到/home/oracle中。最好以root身份来解压,否则可能会报错。
a.解压
$gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz
b.解包
$ cpio –idmv < ship_9204_linux_disk1.cpio
$ cpio –idmv < ship_9204_linux_disk2.cpio
$ cpio –idmv < ship_9204_linux_disk3.cpio
因为Redhat linux版的Oracle9i不支持中文界面,如不安装中文字库,安装界面会出现“□”乱码。中文字库安装方法如下:
下载ttf-zh-song-1.4-13.noarch.rpm到/home/oracle。
#cd /home/oracle
#rpm –ivh ttf-zh-song-1.4-13.noarch.rpm
二、安装
1.打第一个补丁。
运行runInstaller之前,需要打补丁3006854: 注意,必须以root身份运行.
# unzip p3006854_9204_LINUX.zip
会在当前目录下创建一个目录,进入到该目录中
# cd 3006854
# chmod +x *.sh
# ./rhel3_pre_install.sh
2.以root身份执行xhost +192.168.1.2
如果以oracle身份执行,会出现提示不能连接到display 0.0之类的错误。此为远程图形安装 环境变量里需要加
export DISPLAY=192.168.1.2:0.0
以oracle 用户登陆图形界面
#xprop -root -remove _MOTIF_DEFAULT_BINDINGS
#xprop -remove WM_LOCALE_NAME
#xprop -root -remove XIM_SERVERS
#export LANG=zh_CN
(以上用来解决Warning: Cannot convert string "Alt
3.运行runinstall
/Disk1/runInstaller
根据提示往下面安装,中间会提示你,有一个地方要组名,输入oinstall,
另一个地方添数据库名和SID,数据库名为oracle,UID:tcledu。 还会提示你用root身份执行一个脚本,新开一个终端窗口, 然后执行/tmp/的一个.sh文件。
4.打其他的补丁:
切换到root的终端。 首先安装 opatch.
# unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
# export PATH=$PATH:/home/oracle/OPatch/:/sbin
(修改PATH时要要包括解压缩出来的Opatch 和 sbin目录)
# unzip p3238244_9204_LINUX.zip
Archive: p3238244_9204_LINUX.zip
creating: 3238244/
# cd p3238244
# opatch apply
****如果提示HOME变量错误可执行语句:****
#export ORACLE_BASE=/opt/ora9
#export ORACLE_HOME=/opt/ora9/product/9.2
出现success的提示就全部安装成功.
(出现选择ORACLE_HOME=/opt/ora9/product/9.2选择N)
看到OPatch succeeded.表示补丁修复完成,需要relinked一个.mk文件。$ cd $ORACLE_HOME/network/lib
$ make –f ins_oemagent.mk install
现在在运行agentctl start|stop来启动停止agent服务了。
三、启动
1、使 dbstart 启动数据库生效
cd $ORACLE_HOME/dbs
cp init.ora initorasid.ora
注意:init[SID].ora
vi /etc/oratab 最后一行改成
orasid:/home/oracle/product/9.2.0:Y
测试 $dbstart 是否进入 SQL> 状态
2、改回gcc,g++的版本
# mv /usr/bin/gcc323 /usr/bin/gcc
# mv /usr/bin/g++323 /usr/bin/g++
3、连接一下数据库
# su - oracle
# oracle$ sqlplus /nolog
# SQL> connect / as sysdba
# SQL> startup
SQL>这时你可以用create table来创建数据库了,和mysql提示符下的操作一样。
如果你现在只是测试服务器,不是生产服务器,关机时别忘了在sql>提示符下执行一下shutdown来关闭数据库,不然的话,关机的过程将变得非常漫长