在CentOS5.4安裝Oracle 11gR2

系统 1563 0

1. 先裝好CentOS5.4

注意:

A.記得裝好後要先關閉SELinux

B. oracle 需要有1G以上的實體記憶體(VM中建議1100MB)

C. 建議2GB(或2倍以上的實體記憶體)的SWAP空間

D.安裝必須套件 (這全部是同一行)

[root@oracle ~]# yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

以及

[root@oracle ~]#yum install pdksh-5.2.14

E.由於考量日後還要繼續新增ORACLE的database大小

所以建議主硬碟為10G + 2G的SWAP +1G實體記憶體(建議是1100MB)

用VM時,假設掛載上的硬碟為/dev/sdb , 掛載目錄設為 /u01

掛載方法請參照筆者網誌上的另一篇文章.

F.建立oracle帳戶, 使用第二步驟建立, 此帳戶將用來開啟與管理ORACLE所有設定(不一定要給予ROOT權限)

G.下載下來的oracle安裝檔,必須解壓縮在同一目錄, 如:

unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
cd database
./runInstall

2.用root執行

# groupadd oinstall (建立oinstall 群組,安裝程序那邊會用到)
# groupadd dba (建立dba群組,安裝程序那邊會用到)

# useradd -g oinstall -G dba oracle
# passwd oracle

# mkdir -p /u01/app/oracle/product/

為了使以上的設定變更到另一磁碟, ex: /dev/sdb, 請先將/dev/sdb掛載成/u01

# chown oracle:oinstall /u01/app/oracle (之後軟體安裝的路徑)

#mkdir -p /u01/app/oracle/product/

#chmod -R 775 /u01

把/u01給oracle使用

#chown -R oracle:oinstall /u01

(這段要執行, 不然之後安裝程序要回來改權限)

3. 改用oracle登入, 這邊是希望之後以oracle就執行與管理這項服務, 不要被其他帳戶混淆.(盡可能由單一用戶執行單一服務, 也盡量不要用root開啟服務)

並改寫oracle 的 .bash_profile 部分如下

export JAVA_HOME=/opt/jdk1.6.0_17
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
#NLS_LANG=”TRADITIONAL CHINESE_TAIWAN”.ZHT16BIG5;export NLS_LANG
export NLS_LANG
#LC_CTYPE=zh_TW.Big5; export LC_CTYPE
export LC_CTYPE
#LC_ALL=zh_TW.UTF8; export LC_ALL
export LC_ALL
#LANG=zh_TW.Big5; export LANG
export LANG
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$JAVA_HOME/bin:$ORACLE_HOME/bin:$PATH:$HOME/bin

4.用root修改下面參數:

修改核心參數:

Add the following lines to /etc/sysctl.conf

32位元的設定

rnel.shmall=2097152
kernel.shmmax=552599552——half the size of physical memory(一半的記憶體, 以1gRAM來說, 會是552599552 )
kernel.shmmni=4096
kernel.sem=250 32000 100 128
net.core.rmem_default = 262144
net.core.wmem_default = 262144
fs.file-max = 6815744
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

64位元的

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

讓設定生效, 改完核心參數之後, 一定要執行, 使設定生效!!!!

[root@oracle ~]# /sbin/sysctl –p

為oracle用戶設置Shell限制,

Add the following lines to /etc/security/limits.conf

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

修改/etc/pam.d/login

Add the following lines to /etc/pam.d/login

session required pam_limits.so

如果使用bash Shell,修改/etc/profile

Add the following lines to /etc/profile

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

5. 進入解壓縮後產生的database資料夾, 執行:

[oracle@oracle database]$ ./runInstaller

6.依照以下步驟開始安裝:

 

=|= 设置服务,只保留如下几个
--------------------------------------------
[root@oracle ~]# ntsysv
atd
crond
irqbalance
microcode_ctl
network
sendmail
sshd
syslog
iptables

=|= 解决中文乱码问题,添加如下行
--------------------------------------------
[root@oracle ~]# vi /etc/bashrc

export LANG=en_US
export LANGUAGE=en_US
export LC_CTYPE=zh_CN
export LC_MESSAGES=zh_CN
export SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"

=|= 配置 vim 编辑文件添加如下行
--------------------------------------------
[root@oracle ~]# vi /root/.bashrc

alias mv='mv -i'
alias vi='vim'

[root@oracle ~]# vi /root/.vimrc

syntax on

=|= 安装相关组件包
--------------------------------------------

yum -y install make autoconf automake vim-enhanced sysstat glibc libgcc gcc gcc-c++ glibc-devel libstdc++ libstdc++-devel compat-libstdc++-33 unixODBC unixODBC-devel

binutils elfutils-libelf elfutils-libelf-devel pdksh libaio libaio-devel screen

yum -y update

=|= 安装桌面环境(Oracle安装要用桌面)
--------------------------------------------
yum -y groupinstall "Java Development"
yum -y groupinstall "X Window System"
yum -y groupinstall "GNOME Desktop Environment"
yum -y install vnc-server

=|= 配置VNC
--------------------------------------------
[root@oracle ~]# vncserver

根据提示输入两次密码,即可完成VNC的配置

修改iptables增加端口 5801 5901

[root@oracle ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT

=|= 修改系统内核参数,增加如下行
--------------------------------------------
[root@oracle soft]# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
fs.file-max = 6815744
fs.aio-max-nr = 1048576

[root@oracle ~]# sysctl -p
使之立即生效

=|= 添加oracle所需用户和组
--------------------------------------------
[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba oracle    #添加oracle用户到oinstall组dba副组
[root@oracle ~]# passwd oracle                        #设置oracle用户的密码
[root@oracle ~]# mkdir /oracle                        #创建oracle要安装的目录
[root@oracle ~]# chown -R oracle:oinstall /oracle     #设置目录权限

=|= 确认主机名和hosts中的主机名解析设置
--------------------------------------------
[root@oracle ~]# hostname
oracle.fei.cn
[root@oracle ~]#
[root@oracle ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
#::1            localhost6.localdomain6 localhost6
125.76.249.100          oracle.fei.cn oracle          #主要是这一行

=|= 为oracle用户设置shell限制,添加如下内容
--------------------------------------------
[root@oracle ~]# vi /etc/security/limits.conf
oracle             soft   nproc  2047
oracle             hard   nproc  16384
oracle             soft    nofile 1024
oracle             hard   nofile 65536

[root@oracle ~]# vi /etc/pam.d/login
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

[root@oracle ~]# vi/etc/profile
if [ $USER = "oracle" ]; then
       if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
             ulimit -n 65536
       else
             ulimit -u 16384 -n 65536
       fi
fi

切换到oracle用户,注意要用 su - root命令(注 意,‘-’的左右都有空格!)这样才确保把环境带过去
如果只是su root是不会把环境带过去的
[root@oracle ~]# su - oracle
[oracle@localhost ~]$ vi .bash_profile(设置环境变量)
export PATH

ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=superfei
PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

[root@localhost ~]#exit (退出登录让设置生效)
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ env | grep ORA
ORACLE_SID=superfei
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/product/11.2.0/db_1

确认无误

至此,安装oracle的前期准备工作就全部完成了。

=|= 开始安装
--------------------------------------------

=|= 下载安装包上传到服务器
--------------------------------------------

linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip

我放置在了 /data/soft 目录

解压安装包

[root@oracle ~]# cd /data/soft
[root@oracle soft]# unzip -q linux.x64_11gR2_database_1of2.zip
[root@oracle soft]# unzip -q linux.x64_11gR2_database_2of2.zip
[root@oracle soft]# ls
database  linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip

解压后的目录为 database

=|= 执行安装
--------------------------------------------
先用vnc 使用端口 5901 连接到服务器

打开终端窗口

[root@oracle ~]# su - oracle
[oracle@localhost ~]$ cd /data/soft/database
[oracle@localhost ~]$ ./runInstaller

正常情况下,会弹出oracle的安装界面。

如果出错没有弹出,而是出了如下错误:

[oracle@localhost database]$ Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.access$000(X11GraphicsEnvironment.java:53)
        at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:142)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
        at java.awt.Window.init(Window.java:270)
        at java.awt.Window.<init>(Window.java:318)
        at java.awt.Frame.<init>(Frame.java:419)
        at oracle.ewt.popup.PopupFrame.<init>(Unknown Source)
        at oracle.ewt.lwAWT.BufferedFrame.<init>(Unknown Source)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.<init>(OiocOneClickInstaller.java:328)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.<clinit>(OiocOneClickInstaller.java:168)

解决方法,再打开一个终端窗口,在root下执行

[root@oracle ~]# xhost local:oracle
non-network local connections being added to access control list

现在可以了,再次在 oracle 用户下执行 ./runInstaller 即会弹出安装窗口。

在CentOS5.4安裝Oracle 11gR2


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论