共计 6583 个字符,预计需要花费 17 分钟才能阅读完成。
Linux(CentOS 7.0)安装 Oracle 11gR2
// 注释 # root 用户 $oracle 用户
1. 关闭安全措施
# chkconfig iptables off // 永久关闭防火墙
# serviceiptables stop // 暂时关闭防火墙,重启系统后会自动打开
# sed -i “s/SELINUX=enforcing/SELINUX=disabled/” /etc/selinux/config // 关闭 Selinux
2. 验证硬件
2.1 内存:
要求:内存最小 1G,推荐 2G 或者更高。
查看命令:# grep MemTotal /proc/meminfo
2.2 Swap:
要求:
RAW | Swap |
1G 至 2G | 1.5 倍 |
2G 至 16G | 同 RAW 相等 |
16G 以上 | 16G |
查看命令:# grep SwapTotal /proc/meminfo
# free
3. 验证软件
3.1 操作系统
- Asianux Server 3 SP2
- Oracle Linux 4 Update 7
- Oracle Linux 5 Update 2 (with Red Hat Compatible Kernel)
- Oracle Linux 5 Update 5
- Oracle Linux 6
- Oracle Linux 6 (with Red Hat Compatible Kernel)
- Red Hat Enterprise Linux 4 Update 7
- Red Hat Enterprise Linux 5 Update 2
- Red Hat Enterprise Linux 5 Update 5 (with the Oracle Unbreakable Enterprise Kernel for Linux)
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 6 (with the Oracle Unbreakable Enterprise Kernel for Linux)
- SUSE Linux Enterprise Server 10 SP2
- SUSE Linux Enterprise Server 11
CentOS7 本文按照Red Hat Enterprise Linux 6 来配置。
# cat /proc/version // 查看版本
3.2 内核
- On Oracle Linux 4 and Red Hat Enterprise Linux 4 2.6.9 or later
- On Oracle Linux 5 Update 2 with Red Hat Compatible Kernel 2.6.18 or later
- On Oracle Linux 5 Update 5 with Red Hat Compatible Kernel 2.6.18 or later
- On Oracle Linux 5 Update 5 with Unbreakable Enterprise Kernel 2.6.32-100.0.19 or later
- On Oracle Linux 6 2.6.32-100.28.5.el6.x86_64 or later
- On Oracle Linux 6 with Red Hat Compatible Kernel 2.6.32-71.el6.x86_64 or later
- On Red Hat Enterprise Linux 5 Update 2 2.6.18 or later
- On Red Hat Enterprise Linux 5 Update 5 2.6.18 or later
- On Red Hat Enterprise Linux 5 Update 5 with Unbreakable Enterprise Kernel 2.6.32 or later
- On Red Hat Enterprise Linux 6 2.6.32-71.el6.x86_64 or later
- On Red Hat Enterprise Linux 6 with Unbreakable Enterprise Kernel 2.6.32-100.28.5.el6.x86_64 or later
- On Asianux Server 3 2.6.18 or later
- On SUSE Linux Enterprise Server 10 2.6.16.21 or later
- On SUSE Linux Enterprise Server 11 2.6.27.19 or later
# uname-r
3.3 验证需要的包:
# rpm -qa binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel // 验证命令 26 个包
- kernel-headers-3.10.0-123.el7.x86_64
- gcc-c++-4.8.2-16.el7.x86_64
- numactl-devel-2.0.9-2.el7.x86_64
- glibc-headers-2.17-55.el7.x86_64
- glibc-common-2.17-55.el7.x86_64
- binutils-2.23.52.0.1-16.el7.x86_64
- unixODBC-devel-2.3.1-10.el7.x86_64
- libaio-0.3.109-12.el7.x86_64
- make-3.82-21.el7.x86_64
- elfutils-libelf-0.158-3.el7.x86_64
- elfutils-libelf-devel-0.158-3.el7.x86_64
- sysstat-10.1.5-4.el7.x86_64
- glibc-static-2.17-55.el7.x86_64
- glibc-devel-2.17-55.el7.x86_64
- glibc-2.17-55.el7.x86_64
- elfutils-libelf-devel-static-0.158-3.el7.x86_64
- libaio-0.3.109-12.el7.i686
- gcc-4.8.2-16.el7.x86_64
- libgcc-4.8.2-16.el7.i686
- libstdc++-static-4.8.2-16.el7.x86_64
- libaio-devel-0.3.109-12.el7.x86_64
- libstdc++-4.8.2-16.el7.x86_64
- libaio-devel-0.3.109-12.el7.i686
- unixODBC-2.3.1-10.el7.x86_64
- libstdc++-devel-4.8.2-16.el7.x86_64
- compat-libstdc++-33-3.2.3-71.el7.x86_64
- libgcc-4.8.2-16.el7.x86_64
- libgomp-4.8.2-16.el7.x86_64
#rpm -ivh 安装包名 // 安装程序包
4. 创建组和用户
# groupadd dba
# groupadd oinstall
# useradd -m -g oinstall -G dba oracle
# passwd oracle
// 如果 nobody 用户不存在(id nobody 命令查看),则创建:
# useradd nobody
# groupadd oinstall
# useradd -m -g oinstall -G dba oracle
# passwd oracle
// 如果 nobody 用户不存在(id nobody 命令查看),则创建:
# useradd nobody
5. 配置内核
注:配置大于系统数据需要配置更改,否则不需要配置。
要求配置:
参数 | 最小值 | 文件 | 命令 |
semmsl semmns semopm semmni | 50 32000 100 128 | /proc/sys/kernel/sem | # /sbin/sysctl -a | grep sem |
shmall | 2097152 | /proc/sys/kernel/shmall | # /sbin/sysctl -a | grep shm |
shmmax | 4294967296 | /proc/sys/kernel/shmmax // 最大共享内存,官方文档建议是内存的 1 /2 // 我的服务器是 8G 内存,所以为 4 *1024*1024*1024 // 最小值为 536870912(1G 内存 /2) | # /sbin/sysctl -a | grep shm |
shmmni | 4096 | /proc/sys/kernel/shmmni | # /sbin/sysctl -a | grep shm |
file-max | 6815744 | /proc/sys/fs/file-max | # /sbin/sysctl -a | grep file-max |
ip_local_port_range | 9000 65500 | /proc/sys/net/ipv4/ip_local_port_range | # /sbin/sysctl -a | grep ip_local_port_range |
rmem_default | 262144 | /proc/sys/net/core/rmem_default | # /sbin/sysctl -a | grep rmem_default |
rmem_max | 4194304 | /proc/sys/net/core/rmem_max | # /sbin/sysctl -a | grep rmem_max |
wmem_default | 262144 | /proc/sys/net/core/wmem_default | # /sbin/sysctl -a | grep wmem_default |
wmem_max | 1048576 | /proc/sys/net/core/wmem_max | # /sbin/sysctl -a | grep wmem_max |
aio-max-nr | 1048576 |
# vi /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
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
保存后生效命令:
# /sbin/sysctl -p
6. 创建安装目录
# mkdir -p /opt/oracle/product/11.2.0.1
# chown -R oracle:oinstall /opt/oracle
# chown -R oracle:oinstall /opt/oracle
# mkdir /var/oracle
# chown oracle:oinstall /var/oracle
# chmod 755 /var/oracle
# chown oracle:oinstall /var/oracle
# chmod 755 /var/oracle
7. 配置环境变量
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
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 – oracle
vi ~/.bash_profile
以下是配置文件的内容, 里面已有的部分就不必在次添加了。
# .bash_profile
# Get the aliases and functions
if [-f ~/.bashrc]; then
. ~/.bashrc
fi
# User specific environment and startup programs
umask 022
# +————————–+
# | SETUP ORACLE ENVIRONMENT |
# +————————–+
su – oracle
vi ~/.bash_profile
以下是配置文件的内容, 里面已有的部分就不必在次添加了。
# .bash_profile
# Get the aliases and functions
if [-f ~/.bashrc]; then
. ~/.bashrc
fi
# User specific environment and startup programs
umask 022
# +————————–+
# | SETUP ORACLE ENVIRONMENT |
# +————————–+
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
# 如果安装出现相关问题请屏蔽下面 5 行,
# 安装好后再取消屏蔽这些环境变量设置
export ORACLE_HOME=/opt/oracle/product/11.2.0.1
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=afcsc
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin
# +————————–+
# | LINUX STUFF |
# +————————–+
export LANG=AMERICAN_AMERICA.ZHS16GBK
unset USERNAME
# +————-+
# | “GREETINGS” |
# +————-+
echo “.bash_profile executed”
TMPDIR=/tmp
export TMP TMPDIR
# 如果安装出现相关问题请屏蔽下面 5 行,
# 安装好后再取消屏蔽这些环境变量设置
export ORACLE_HOME=/opt/oracle/product/11.2.0.1
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=afcsc
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin
# +————————–+
# | LINUX STUFF |
# +————————–+
export LANG=AMERICAN_AMERICA.ZHS16GBK
unset USERNAME
# +————-+
# | “GREETINGS” |
# +————-+
echo “.bash_profile executed”
执行:source ~/.bash_profile
8. 设置进程数和最大会话数
编辑文件:
# vi /etc/security/limits.conf 加入以下语句:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
9. 关联设置
编辑文件:vi /etc/pam.d/login 加入以下语句:
session required pam_limits.so
(注意:根据最后一条 session 规则的注释,应该加在最后一条规则之前)
编辑文件:vi /etc/pam.d/login 加入以下语句:
session required pam_limits.so
(注意:根据最后一条 session 规则的注释,应该加在最后一条规则之前)
9. 解压缩
将 linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip 移动到移动到 /tmp 目录下进行解压缩。
$ cd /tmp
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
10. 安装
$ cd /tmp/database/
$ ./runInstaller
注意:
选择 advance install
数据库 home 设置为 /opt/oracle/product/11.2.0.1
数据库全局名称设置为 afcsc
字符集选 Simplified Chinese ZHS16GBK
选择 advance install
数据库 home 设置为 /opt/oracle/product/11.2.0.1
数据库全局名称设置为 afcsc
字符集选 Simplified Chinese ZHS16GBK
检查后会运行图形化安装界面。
安装过程中连接库时会出现两个错误:
- 第一个:
/lib64/libstdc++.so 中 memcpy@GLIBC_2.4 找不到。
问题:glibc 是 2.17 的库,连接找的是 2.14 的库。
解决办法:改成静态链接。
查看 /usr/lib64/libc.a 是否存在。
修改 oracle 安装目录下:$ORACLE_HOME/ctx/lib/ins_ctx.mk
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
然后点击 retry 通过。
- 第二个:
问题:undefinied reference symbol’B_DestroyKeyObject’,查看日志,实际就是没有找到 nnz11 这个库。
解决办法:
修改 /opt/oracle/product/11.2.0.1/sysman/lib/ins_emagent
$(MK_EMAGENT_NMECTL)
修改为:
$(MK_EMAGENT_NMECTL) -lnnz11
然后点击 retry 通过。
注:安装需要远程图形化连接安装 oracle,具体方式和软件这里不说了。
更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134657.htm
正文完
星哥玩云-微信公众号