文章

RHEL 5: How to install Oracle10g

该文档适用于RHEL 5系列操作系统下面安装Oracle10G。

一、安装前的准备工作: {#}

安装oracle前,内核参数调整,添加到/etc/sysctl.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
# oracle kernel settings
fs.suid_dumpable = 1  
fs.aio-max-nr = 1048576  
fs.file-max = 6553600  
kernel.shmall = 2097152  
kernel.shmmax = 2147483648  
kernel.shmmni = 4096  
kernel.sem = 250 32000 100 128  
net.ipv4.ip_local_port_range = 1024 65535  
net.core.rmem_default = 4194304  
net.core.rmem_max = 4194304  
net.core.wmem_default = 262144  
net.core.wmem_max = 262144  

安装oracle前,/etc/security/limits.conf的调整

1
2
3
4
5
6
# oracle settings
oracle              soft    nproc   2047  
oracle              hard    nproc   16384  
oracle              soft    nofile  4096  
oracle              hard    nofile  65536  
oracle              soft    stack   10240  

二、系统软件 {#}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
cd /media/cdrom/Server  
rpm -Uvh binutils-2.*  
rpm -Uvh compat-libstdc++-33*  
rpm -Uvh compat-libstdc++-33*.i386.rpm  
rpm -Uvh elfutils-libelf*  
rpm -Uvh gcc-4.*  
rpm -Uvh gcc-c++-4.*  
rpm -Uvh glibc-2.*  
rpm -Uvh glibc-common-2.*  
rpm -Uvh glibc-devel-2.*  
rpm -Uvh glibc-headers-2.*  
rpm -Uvh ksh*  
rpm -Uvh libaio-0.*  
rpm -Uvh libaio-devel-0.*  
rpm -Uvh libgomp-4.*  
rpm -Uvh libgcc-4.*  
rpm -Uvh libstdc++-4.*  
rpm -Uvh libstdc++-devel-4.*  
rpm -Uvh make-3.*  
rpm -Uvh sysstat-7.*  
rpm -Uvh unixODBC-2.*  
rpm -Uvh unixODBC-devel-2.*  
rpm -Uvh numactl-devel-*  
rpm -Uvh libXp-*  

三、添加oracle使用的用户和用户组

添加oracle用户和组

1
2
3
4
5
6
7
groupadd oinstall  
groupadd dba  
groupadd oper  
groupadd asmadmin  
useradd -g oinstall -G dba,oper,asmadmin oracle  
passwd oracle  
gpasswd -a oracle wheel 将oracle用户加入wheel组 [可选]  

四、创建目录 {#}

1
2
3
mkdir -p /oracle/product/10.2/db_1  
chown -R oracle:oinstall /oracle  
chmod -R 775 /oracle  

五、修改oracle用户的环境变量

修改oracle用户的shell环境变量, 编辑~/.bash_profile加入下面的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# oracle settings
TMP=/tmp; export TMP  
TMPDIR=$TMP; export TMPDIR  
ORACLE_HOSTNAME=localhost.localdomain; export ORACLE_HOSTNAME  
ORACLE_UNQNAME=test; export ORACLE_UNQNAME  
ORACLE_BASE=/oracle; export ORACLE_BASE  
ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1; export ORACLE_HOME  
ORACLE_SID=test; export ORACLE_SID  
PATH=/usr/sbin:$PATH; export PATH  
PATH=$ORACLE_HOME/bin:$PATH; export PATH  
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH  
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH  


source /home/oracle/.bash_profile  

六、安装 {#}

1
2
3
4
5
6
xhost +  
su - oracle  
gunzip 10201_database_linux_x86_64.cpio.gz  
cpio -idmv < 10201_database_linux_x86_64.cpio  
cd database  
./runInstaller

七、开启oracle10g的开机自动启动服务(以下都用root身份修改)

  1. 打开终端执行vi /etc/oratab,把orcl:/opt/oracle/oracle/product/10g:N这一行最后的N改成Y,保存退出。
  2. 打开终端执行vi /oracle/product/10g/bin/dbstart,修改ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracleORACLE_HOME_LISTNER=/oracle/product/10g/
  3. 打开终端执行vi /etc/rc.local,追加以下内容让oracle随系统启动(注意-和oracle之间存在空格):
1
`su – oracle -c "/oracle/product/10g/bin/dbstart"`

八、Oracle10g的每天定时自动备份

  1. 判断计划任务是否启动,root身份下执行:
1
2
3
4
5
6
7
> /sbin/service crond status 

> 查看启动状态,如果没有启动,

> vi /etc/rc.d/rc.local 

> 将`/sbin/service crond start`语句加入rc.loca文件,使开机自启。
  1. 创建备份存放目录,oracle身份下执行:
1
> mkdir -p /oracle/backup 
  1. 创建自动备份脚本,以oracle用户在主目录vi backup.sh,加入以下内容,语句功能是备份并删除一个月前的过期备份:
1
2
3
4
5
6
7
8
9
10
export LANG="en_SU.UTF-8"  
export NLS_LANG="Simplified Chinese_china".ZHS16GBK  
export ORACLE_BASE=/oracle/  
export ORACLE_HOME=/oracle/product/10g  
export ORACLE_SID=kms  
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin  
backuptime=`date +"%Y%m%d%H"`  
deletetime=`date -d "1 month ago" +"%Y%m%d%H"`  
rm -f /oracle/backup/mvs_$deletetime.dmp  
exp mvs/mvs file=/oracle/backup/mvs_$backuptime.dmp full=y  

保存后chmod +x backup.sh将执行权限赋予自己。然后./backup.sh执行下试验效果。

  1. Oracle身份下,调用计划任务来执行backup.sh脚本,完成自动备份,执行:

crontab –e

调出计划任务编辑界面后,录入以下内容,完成每天3点自动备份的功能:

00 03 * * * /home/oracle/backup.sh

九、关于oracle10g的卸载

  1. 做好备份工作
  2. 用oracle帐户登录
  3. 在终端里打入lsnrctl stop停止监听
  4. 在终端里打入sqlplus "/ as sysdba"进入sqlplus
  5. SQL状态里shutdown immediate停止数据库
  6. 用root帐户登录
  7. 删除oracle安装目录及/etc/ora_._
本文由作者按照 CC BY 4.0 进行授权