共计 2854 个字符,预计需要花费 8 分钟才能阅读完成。
CentOS 7.2 使用 Shell 安装 Oracle 12c
一. 操作系统说明
1. 操作系统 版本
2. 磁盘分区用量
二. 安装必要的软件包
for pkg in 'binutils' 'compat-libcap1' 'compat-libstdc++-33' 'gcc' 'gcc-c++' 'glibc' 'glibc-devel' 'ksh' 'libaio' 'libaio-devel' 'libgcc' 'libstdc++' 'libstdc++-devel' 'libXi' 'libXtst' 'make' 'sysstat' | |
do | |
rpm -qa | grep $pkg | |
if [$? -ne 0 ] ; then | |
sudo yum install $pkg -y | |
else | |
echo $pkg \t >>" 已安装 " | |
fi | |
done |
三、创建用户组 及 用户
groupadd -g 54321 oinstall; | |
groupadd -g 54322 dba; | |
groupadd -g 54323 oper; | |
groupadd -g 54324 backupdba; | |
groupadd -g 54325 dgdba; | |
groupadd -g 54326 kmdba; | |
groupadd -g 54327 asmdba; | |
groupadd -g 54328 asmoper; | |
groupadd -g 54329 asmadmin; | |
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba -s /bin/bash -d /home/oracle oracle | |
echo "1" | sudo passwd --stdin oracle |
四、增加权限及变量
1. 修改 oracle 安装目录 和 数据目录的权限
chown -R oracle:oinstall /oracle /oradata | |
chmod 755 /oracle /oradata |
2. 配置环境变量 ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH
grep ORACLE_BASE /home/oracle/.bash_profile && echo -e "ORACLE_BASE=/oracle\nORACLE_HOME=\$ORACLE_BASE/product/12.1.0/db_1\n\ | |
ORACLE_SID=zheng\nPATH=\$PATH:\$ORACLE_HOME/bin\n\ | |
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib\n | |
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH" >>/home/oracle/.bash_profile |
五、配置系统参数
1. 关闭内存透明大页
echo “transparent_hugepage=never”>> sudo /etc/grub2.cfg
2. 修改操作系统参数和 用户资源限制参数
cat >/etc/sysctl.d/100-sysctl.conf <<EOF | |
fs.aio-max-nr = 1048576 | |
fs.file-max = 6815744 | |
kernel.shmall = 2097152 | |
kernel.shmmax = 1024000000 | |
kernel.shmmni = 4096 | |
kernel.sem = 250 32000 100 128 | |
net.ipv4.ip_local_port_range = 9000 65500 | |
net.core.rmem_default = 4194304 | |
net.core.rmem_max = 4194304 | |
net.core.wmem_default = 262144 | |
net.core.wmem_max = 1048576 | |
EOF | |
# 同步系统参数 sysctl -p | |
cat >>/etc/security/limit.conf<<EOF | |
oracle soft nproc 2047 | |
oracle hard nproc 16384 | |
oracle soft nofile 1024 | |
oracle hard nofile 65536 | |
oracle soft stack 20240 | |
oracle hard stack 32768 | |
EOF |
六、启动安装
unzip oracle12c.zip -d /tmp | |
chmod -R +x /tmp/database | |
/tmp/database/runInstaller# 获得当前操作系统的工作模式 systemctl get-default# 安装完成,切换到多用户模式以节省内存 systemctl set-default multi-user.target |
七、后续问题解决
######### 实例启动时问题 ############# | |
1.MEMORY_TARGET 大于 /dev/shm 时 实例无法启动 | |
配置 /dev/shm 大于 MEMORY_TARGET | |
在 /etc/fstab 中指定 /dev/shm 挂载时的大小 | |
tmpfs /dev/shm tmpfs defaults,size=4G 0 0 | |
并在命令行手动重新挂在 /dev/shm | |
mount -o remount,size=4G /dev/shm | |
# 2. 重新安装数据库,init<SID>.ora 文件名中 SID 与 当前 SID 不一致 | |
你的 ORACLE_SID 参数有问题,有三个地方的 SID 可以查看一下是否一致:# 1 $ORACLE_BASE/admin/SID_NAME/pfile 文件夹下的 init 文件中的 SID;# 2 /etc/oratab 中的最后一行第一个“:”前,如“oracl:/u01/app/oracle/product/11.2.0/dbhome_1:N”中的“oracl”; | |
3 ~/.bash_profile 中的 SID; | |
改好后重启 linux 系统 | |
cp /oracle/admin/honor9/pfile/init.ora.81201791110 /oracle/product/12.1.0/db_1/dbs/inithonor9.ora | |
上述的三个一致的话,应该就可以了。####### 登陆 SQL*plus 字符问题 ########## | |
SQL*plus 字符乱码 需要配置 NLS_LANG | |
如果操作系统变量 LANG 的值是 zh_CN.UTF-8 | |
则在 .bash_profile 配置 NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8' | |
########## 远程登陆问题 ############## | |
配置网络 使用 netca 命令 | |
ORA-28040: No Matching authentication protocol : $ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora 增加一行 SQLNET.ALLOWED_LOGIN_VERSION=8 |
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-09/146811.htm
正文完
星哥玩云-微信公众号
