1. 程式人生 > >Oracle 11g在Linux上的安裝

Oracle 11g在Linux上的安裝

linux oracle 11g

Oracle 11g在Linux上的安裝
  1. 創建所需用戶和組

vim mk_user.sh

groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
useradd -u 501 -g oinstall -G dba,oper oracle

sh mk_user.sh

  1. 創建所需的目錄
    vim mk_dir.sh

mkdir -p /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
mkdir -p /u01/app/oracle
mkdir /u01/app/oracle/cfgtoollogs
chown -R oracle:oinstall /u01

chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/dbhome_1
chmod -R 775 /u01/app/oracle/product/11.2.0/dbhome_1

sh mk_dir.sh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. 安裝所需要的安裝包
    a. 將光盤掛載到/mnt中
    mount /dev/cdrom /mnt
    b. 備份原有repo文件,並建立新的repo文件
    mkdir /etc/yum.repo.d/bak
    mv /etc/yum.repo.d/*.repo /etc/yum.repo.d/bak
    vim /etc/yum.repo.d/cdrom.repo

[cdrom]
name=cdrom
baseurl=file:///mnt
enabled=1
gpgcheck=0
multilib_policy=all

保存退出

清理yum緩存並重建新緩存:
yum clean all
yum makecache

c.安裝所需的包
yum install binutils compat-libcapl compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5-24 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make-3.81 sysstat-7.0.2


Redhat需要單獨安裝
compat-libstdc++-33 和pdksh
pdksh是一個老包了,新的oracle都使用ksh包了,但是oracle的check機制裏面並沒有把這個check去掉,所以在執行界面安裝oracle的時候,還會有告警信息,我們可以忽略掉它,然後看看ksh有沒有安裝,如果沒有安裝就安裝ksh,用ksh就可以。


  1. 修改hosts文件
    vim /etc/hosts
    添加ip和主機名到hosts文件

5.修改/etc/sysctl.conf

vim /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

sysctl –p 使當前修改生效

  1. 配置oracle用戶的資源限制

vim /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

  1. 修改profile文件

vim /etc/profile
添加以下內容

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi

  1. 修改用戶環境變量(在oracle用戶下操作)
    vim .bash_profile

#!/bin/bash
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=prod; export ORACLE_SID
ORACLE_UNQNAME=prod; export ORACLE_UNQNAME
ORACLE_TERM=xterm; export ORACLE_TERM
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/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH

保存退出後執行如下命令使以上設置立即生效:
source /home/oracle/.bash_profile

  1. 解壓安裝包
    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip

  2. 安裝
    如果操作系統是中文的話,安裝時會有亂碼可以在執行安裝前先執行
    export LANG=en_US.UTF-8
    然後執行./runInstaller

    Redhat 7.4安裝時會報
    Error in invoking target ‘agent nmhs‘ of makefile ‘/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk‘.

解決:
vi $ORACLE_HOME/sysman/lib/ins_emagent.mk

找到如下一行
$(MK_EMAGENT_NMECTL)

將這一行更改為:
$(MK_EMAGENT_NMECTL) -lnnz11

第一個是字母l,最後兩個是數字1


Oracle 11g在Linux上的安裝