XXX项目Oracle数据库软件安装和升级
先说点题外话,最近参与一个异地容灾的新项目,近两天我除了日常的工作还有负责oracle数据库软件的安装和升级,中午也没什么空休息了,以至于今天下午乘公交时,居然不知不觉的睡了一直到终点站。因为还有存储设备以及roseha软件还没有到货,所以数据库还没完全弄完,暂且先把这两天的成果贴上来吧
XXX项目Oracle数据库软件安装和升级
----Oracle 10.2.0.1.0 For Linux x86-641.1. Oracle数据库软件安装
检查内存和交换分区大小(硬件等条件明显符合安装要求,有些省略了)
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
1、创建组oinstall和dba
# groupadd oinstall
# groupadd dba
2、创建oracle安装用户oracle
# useradd -g oinstall -G dba oracle
# id oracle
3、修改oracle用户密码
# passwd oracle
# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
如果不存在nobody这个用户,则可以用如下命令建立:
# useradd nobody
看系统磁盘空间大小分布情况,可以安装在home下
# mkdir –p /home/app/oracle
# chown –R oracle:oinstall /home/app/oracle
# chmod –R 755 /home/app/oracle
1、修改/etc/sysctl.conf文件,#vi /etc/sysctl.conf,在文件后面加上:
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
红字部分请参看该文件是否已经配置这些项,已经配置就不用再加了,注意比对数值大小,取数值较大者。
执行如下命令,使修改生效:
#/sbin/sysctl –p
2、修改/etc/security/limits.conf文件,执行命令
#vi /etc/security/limits.conf,在后面加上:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3、修改/etc/pam.d/login文件,执行#vi /etc/pam.d/login在后面加上:
session required /lib/security/pam_limits.so
4、修改/etc/profile文件,执行命令#vi /etc/profile,在后面加上:
#for oracle env set
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
1. 以oracle用户身份修改/home/oracle/.bash_profile,在文件后面加上:
umask 022
ORACLE_BASE=/home/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2/db; export ORACLE_HOME
ORACLE_SID=db1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
2. 检查系统版本并修改
# cat /proc/version
# uname –r
# cat /etc/redhat-release
由于orcale 10不支持 RHEL5 所以需要修改文件/etc/redhat-realease 将 Red Hat Enterprise Linux Server release 5.5 (Tikanga) 改为
Red Hat Enterprise Linux Server release 4 (Tikanga)
3. 修改/etc/hosts 文件将127.0.0.1改为你的ip 否则网络检查通不过
安装oracle所需要的如下软件包:
compat-libstdc++-33-3.2.3-61.x86_64.rpm elfutils-libelf-0.137-3.el5
elfutils-libelf-0.137-3.el5
elfutils-libelf-devel-0.137-3.el5
glibc-2.5-49
glibc-2.5-49
glibc-devel-2.5-49
glibc-devel-2.5-49
glibc-common-2.5-49
gcc-4.1.2-48.el5
gcc-c++-4.1.2-48.el5
libgcc-4.1.2-48.el5
libgcc-4.1.2-48.el5
libaio-0.3.106-5
libaio-0.3.106-5
libstdc++-4.1.2-48.el5
libstdc++-4.1.2-48.el5
libstdc++-devel-4.1.2-48.el5
unixODBC-2.2.11-7.1.x86_64.rpm
unixODBC-devel-2.2.11-7.1.x86_64.rpm
sysstat-7.0.2-1.el5.x86_64.rpm
binutils-2.17.50.0.6-14.el5
make-3.81-3.el5
libXp-1.0.0-8.1.el5.i386.rpm
可以通过命令# rpm –qa|grep xxx查询系统是否已经安装该包:
# rpm -q compat-libstdc++ elfutils-libelf elfutils-libelf-devel glibc glibc-devel glibc-common gcc gcc-c++ libgcc libaio libstdc++ libstdc++-devel unixODBC unixODBC-devel sysstat binutils make libxp
1. 放入系统安装盘,执行# mount /dev/cdrom /media/cdrom挂载,依次安装还没有安装好的软件包:
# cd /media/cdrom/Server
# ls |grep unixODBC
# rpm -ivh unixODBC*
……
# rpm -ivh compat-db-4.2.52-5.1.i386.rpm
# rpm -ivh sysstat*
# unmount /media/cdrom
注意:
记得安装libXp(i386)这个包,否则后面运行安装程序时会报类似这样的错:…libawt.so:libXP.so.6:cannot open shared object file :no such file or directory…
# rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
1、将软件包(10201_database_linux_x86_64.cpio.gz)拷贝到oracle用户家目录(/home/oracle)(一般以oracle用户身份用ssh或者SecureFX)
# su - oracle
$ cd /home/oracle
$ gunzip 10201_database_linux_x86_64.cpio.gz
$ cpio -idmv < 10201_database_linux_x86_64.cpio
2、检验X设置
$ xhost +
3、执行安装脚本
$cd /home/oracle/database
因为中文有乱码,所以设置用英文安装
$ export LANG=en_US
$./runInstaller
4、安装选项选择(截图)
1) 选择高级安装,如下图
2) 下一步,如下图
3) 下一步,记得在语言中选择简体中文,如下图
4) OK,下一步,安装路径,如下图:
5) 下一步,检查安装前提条件,如下图
此处需要注意的是,如果有未通过的项目,一般是由于缺少软件包引起的,参考3.1.5的安装附件软件包的方法,根据提示,安装全所需要软件包。(如果系统的安装是按照本文档进行,不会出现少包的情况)
6) 下一步,选择只安装软件,不建库,如下图
7) 下一步,进入安装页面,如下图
8) 点击install开始安装,如下图
9) 按照安装完弹出窗口的提示,执行那两个脚本文件,至此完成数据库软件安装。
1.2. Oracle数据库升级
说明:全新安装的数据库,没有建库,升级时只需要直接安装补丁包即可。
1.2.1. 下载补丁包
从oracle 10.2.0.1.0升级到10.2.0.4.0所需要的补丁包为
p6810189_10204_Linux-x86-64.zip,下载地址为(并非为免费下载):
ftp://updates.oracle.com/6810189/p6810189_10204_Linux-x86-64.zip
1.2.2. 上传补丁包到服务器并解压
以oracle用户身份,通过ssh上传到相应的服务器的oracle家目录/home/oracle,然后用如下命令解压:
# su - oracle
$ unzip p6810189_10204_Linux-x86-64.zip
1.2.3. 环境变量配置
因为中文有乱码,所以设置用英文安装
$ export LANG=en_US
$ xhost +
1.2.4. 安装升级包(截图)
进入安装介质相应的目录,运行安装程序,如下所示:
$ cd /home/oracle/Disk1
$ ./runInstaller
1) 欢迎界面,点击“Next”
2)安装目录,查看和原来安装软件时的目录一致,直接点击“Next”
3)检查安装前提条件,全部通过,点击“Next”
4)直接点击“Next”
5)进入安装界面,确认后点击“install”
6)安装中
7)运行root.sh脚本
安装快结束时,需要以root身份运行root.sh脚本,另外打开一个终端,运行如下命令:
$ su - root
# /home/app/oracle/product/db/10.2/db/root.sh
8)运行完脚本后,点击“OK”,弹出安装结束界面,升级成功
9)比较升级前后数据库版本