Red Hat 4 安装 oracle database 11g

获取wget地址

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htmlhtml

选择11G版本

选择下载文件

两个都须要下载。java

登录后下载开始复制linux

形如:c++

http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip?AuthParam=1523514438_58e281a349dc65bb8245a2fc75da5c1a数据库

http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip?AuthParam=1523514441_c7eb1283c916871e361d6d68af3b6746安全

wget下载开始:

cd到指定路径。

输入wget命令:

wget "${上边复制得下载地址粘贴到这}"bash

安装依赖包

如下为所依赖的安装包

binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64 
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64 
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64 
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64 
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64 
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64 
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64 
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64 
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64 
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64 
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64 
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
unixODBC-2.3.1-6.el7.x86_64 or later
unixODBC-2.3.1-6.el7.i686 or later
unixODBC-devel-2.3.1-6.el7.x86_64 or later
unixODBC-devel-2.3.1-6.el7.i686 or later

使用yum进行安装

root ➜  yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686session

root ➜  yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static elfutils-libelf-devel ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-develoracle

检测安装好的依赖包

root ➜  rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst  make sysstat  unixODBC unixODBC-develapp

检测未安装的依赖包

root ➜  rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel |grep "not installed"

安装完成的话,执行这段命令是没有结果的,这段命令是检测未安装的依赖包,若是都安装了,结果就为空

 

修改配置系统参数

建立oracle用户

根据oracle官方文档所述,须要建立oinstall、dba、用户组和oralce用户

root ➜  groupadd oinstall
root ➜  groupadd dba
root ➜  useradd -g oinstall -G dba oracle
root ➜  passwd oracle        #设置oracle用户的密码
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 密码未经过字典检查 - 它基于字典单词
从新输入新的 密码:
passwd:全部的身份验证令牌已经成功更新。

修改内核参数

root ➜  vi  /etc/sysctl.conf

kernel.shmall = 2097152  --则一共是8G的共享内存总量
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
fs.aio-max-nr = 1048576
fs.file-max = 6815744

修改后运行sysctl–p 使修改生效

root ➜  sysctl  -p

建立oracle的安装目录

root ➜  mkdir -p /u01/oracle/product/11.2.0/db_1
root ➜  mkdir /u01/dataLocation
root ➜  mkdir /u01/oraInventory
root ➜  mkdir /u01/oracle/oradata
root ➜  mkdir /u01/oracle/inventory
root ➜  mkdir /u01/oracle/fast_recovery_area
root ➜  chown -R oracle:oinstall /u01
root ➜  chmod -R 775 /u01
root ➜  chmod 777 /u01/dataLocation
root ➜  chmod 777 /u01/oraInventory

进入oracle用户下,为 oracle 用户设置环境变量

root ➜  su -l oracle

oracle ➜  vi .bash_profile

在后面加上

ORACLE_BASE=/u01/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=orcl
ORACLE_PID=ora11g
LD_LIBRARY_PATH=$ORACLE_HOME/inventory/Scripts/ext/lib
PATH=$PATH:$ORACLE_HOME/bin
NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
DISPLAY=localhost:0.0
export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_PID LD_LIBRARY PATH NLS_LANG DISPLAY

/u01/oracle/product/11.2.0/db_1/inventory/Scripts/ext/lib/libclntsh.so.11.1

执行如下命令让配置立刻生效

oracle ➜  source ~/.bash_profile

修改用户的限制和验证等配置文件,切换到root用户

root ➜  su -l root

修改 /etc/security/limits.conf文件

root ➜  vi  /etc/security/limits.conf

后面加上以下参数

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

修改用户验证选项

修改/etc/pam.d/login文件

root ➜  vi /etc/pam.d/login

若是里面没有 加上以下参数

session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

编辑/etc/profile加入如下语句

root ➜  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软件

解压安装包 移动到安装目录

解压
root ➜  unzip linux_11gR2_database_1of2.zip
root ➜  unzip linux_11gR2_database_2of2.zip

root ➜  mv  database   /u01/       将database移至咱们建好的u01目录

备份db_install.rsp文件

root ➜  cp /u01/database/response/db_install.rsp /u01/database/response/db_install.rsp.bak

编辑 /tmp/database/response/db_install.rsp文件

root ➜  vi /u01/database/response/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY   // 安装类型
ORACLE_HOSTNAME=ghgroup-dev-24   // 主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall   // 安装组
INVENTORY_LOCATION=/u01/oraInventory   //INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW   // 选择语言
ORACLE_HOME=/u01/oracle/product/11.2.0/db_1    //oracle_home
ORACLE_BASE=/u01/oracle     //oracle_base
oracle.install.db.InstallEdition=EE     // oracle版本
oracle.install.db.isCustomInstall=false   //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba   //dba用户组
oracle.install.db.OPER_GROUP=oinstall   //oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE   //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl   //globalDBName
oracle.install.db.config.starterdb.SID=orcl   //SID
oracle.install.db.config.starterdb.memoryLimit=2574   //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle   //设定全部数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false   //(手动写了false)
DECLINE_SECURITY_UPDATES=true   //设置安全更新
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/dataLocation
oracle.install.db.config.starterdb.password.ALL=P#ssw0rd
oracle.install.db.config.starterdb.password.SYS=P#ssw0rd
oracle.install.db.config.starterdb.password.SYSTEM=P#ssw0rd
oracle.install.db.config.starterdb.password.SYSMAN=P#ssw0rd
oracle.install.db.config.starterdb.password.DBSNMP=P#ssw0rd

执行静默安装

root ➜ su - oracle

oracle ➜ cd /u01/database

oracle ➜ ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /u01/database/response/db_install.rsp

查看安装日志

root ➜ tail -f /u01/oraInventory/logs/installActions2018-04-13_04-14-20PM.log

信息: Validating state <finish>
警告: Validation disabled for the state finish
信息: Completed validating state <finish>
信息: Terminating all background operations
信息: Terminated all background operations
信息: Successfully executed the flow in SILENT mode
信息: Finding the most appropriate exit status for the current application
信息: Exit Status is 0
信息: Shutdown Oracle Database 11g 发行版 2 安装程序
信息: Unloading Setup Driver

切换root用户运行脚本

root ➜ sh /u01/oraInventory/orainstRoot.sh

root ➜ sh /u01/oracle/product/11.2.0/db_1/root.sh

用oracle用户登陆配置监听

oracle ➜ netca -silent -responseFile /u01/database/response/netca.rsp

UnsatisfiedLinkError exception loading native library: njni11
java.lang.UnsatisfiedLinkError: /u01/oracle/product/11.2.0/db_1/lib/libnjni11.so: libclntsh.so.11.1: cannot open shared object file: No such file or directory
java.lang.UnsatisfiedLinkError: jniGetOracleHome
at oracle.net.common.NetGetEnv.jniGetOracleHome(Native Method)
at oracle.net.common.NetGetEnv.getOracleHome(Unknown Source)
at oracle.net.ca.NetCALogger.getOracleHome(NetCALogger.java:230)
at oracle.net.ca.NetCALogger.initOracleParameters(NetCALogger.java:215)
at oracle.net.ca.NetCALogger.initLogger(NetCALogger.java:130)
at oracle.net.ca.NetCA.main(NetCA.java:404)
Error: jniGetOracleHome

输出如上信息修改LD_LIBRARY_PATH

oracle ➜ su - root

oracle ➜ find / -name libclntsh.so.11.1

/u01/database/stage/ext/lib/libclntsh.so.11.1
/u01/oracle/product/11.2.0/db_1/inventory/Scripts/ext/lib/libclntsh.so.11.1
/u01/oracle/product/11.2.0/db_1/inventory/backup/2018-04-13_04-14-20PM/Scripts/ext/lib/libclntsh.so.11.1
/u01/oracle/product/11.2.0/db_1/inventory/backup/2018-04-13_03-56-09PM/Scripts/ext/lib/libclntsh.so.11.1

oracle ➜  vi .bash_profile

LD_LIBRARY_PATH=$ORACLE_HOME/inventory/Scripts/ext/lib