Centos7 静默安装Oracle11g以及可视化安装常见问题

Linux安装Oracle 11g (图形,静默两种安装方式)

环境:Centos 7.3
内存>1G
磁盘空间>7G
安装Openssh
运行级别 runlevel 3 or runlevel 5
Oracle版本:linux.x64_11gR2
关闭SElinux 和 防火墙

修改内核参数:
Linux安装文档中给出的最小值:
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048586
可以直接添加到这个文件,然后sysctl –p使改动生效
[root@oracle ~]# sysctl –p
kernel.shmmax
是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。
官方建议值:
32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。
64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取1210241024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中

oracle用户设置限制:
[root@oracle ~]# 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 文件中,使用文本编辑器或vi命令增加或修改以下内容
session required /lib/security/pam_limits.so
session required pam_limits.so

在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
使设置生效 
source /etc/profile

官方建议的依赖包(可以是当前版本或者高于当前版本)
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (i686)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (i686)
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (i686)
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6 (i686)
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6 (i686)
libXext-1.1 (x86_64)
libXext-1.1 (i686)
libXtst-1.0.99.2 (x86_64)
libXtst-1.0.99.2 (i686)
libX11-1.3 (x86_64)
libX11-1.3 (i686)
libXau-1.0.5 (x86_64)
libXau-1.0.5 (i686)
libxcb-1.5 (x86_64)
libxcb-1.5 (i686)
libXi-1.3 (x86_64)
libXi-1.3 (i686)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
unixODBC-2.3.1 or later

我在本次操作中的查询和安装
查询
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
安装
yum install unixODBC unixODBC-devel compat-libstdc++ elfutils-libelf-devel glibc ksh libaio-devel sysstat compat-libstdc++-33 gcc gcc-c++ glibc-2.5 glibc-devel glibc-headers libstdc++-devel

在/etc/hosts里面加主机名解析
[root@oracle ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.32 oracle

创建oracle用户组和oracle所需的目录,权限设置
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
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba oracle
passwd oracle

创建目录结构
mkdir -p /u01
chown -R oracle:oinstall /u01
chmod -R 775 /u01
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oracle
chown -R oracle:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app
安装包存放路径 /u01/OraDB12c/
mkdir -p /u01/OraDB12c/

去解压目录找模板
cd /u01/OraDB12c/database/response
Centos7 静默安装Oracle11g以及可视化安装常见问题
拷贝三个模板到自己的目录 /u01/myinstall
mkdir -p /u01/myinstall
cp .rsp /u01/myinstall/
chown oracle:oinstall /u01/myinstall/
.rsp
chmod 700 /u01/myinstall/*.rsp 

配置Oracle用户环境变量:
su - oracle
 
vi ~/.bash_profile
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
使设置生效
source /home/oracle/.bash_profile

准备db_install.rsp
su - oracle
修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型
ORACLE_HOSTNAME=oracle //37 行 主机名称
UNIX_GROUP_NAME=oinstall //42 行 安装组
INVENTORY_LOCATION=/u01/app/oracle/oraInventory //47 行 INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN,zh_TW //78 行 选择语言
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 //83 行 oracle_home
ORACLE_BASE=/u01/app/oracle //88 行 oracle_base
oracle.install.db.InstallEdition=EE //99 行 oracle版本
oracle.install.db.isCustomInstall=false //108行 自定义安装
oracle.install.db.DBA_GROUP=dba //142行 dba用户组
oracle.install.db.OPER_GROUP=oinstall //147行 oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName
oracle.install.db.config.starterdb.SID=orcl //170行 SID
oracle.install.db.config.starterdb.memoryLimit=512 //200行 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true //385行 设置安全更新

静默安装oracle
/u01/OraDB12c/database/runInstaller -silent -responseFile /u01/myinstall/db_install.rsp
安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
查看安装日志信息了解安装进度
 cd $ORACLE_BASE/oraInventory/logs
tail -f install....log
出现类似如下提示表示安装完成:
#-------------------------------------------------------------------
...
/u01/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:

  1. Open a terminal window 
  2. Log in as "root" 
  3. Run the scripts 
  4. Return to this window and hit "Enter" key to continue
     
    Successfully Setup Software.
    #-------------------------------------------------------------------
    如果执行安装命令失败的,失败错误:

Centos7 静默安装Oracle11g以及可视化安装常见问题_第1张图片

-ignorePrereq命令,就可以了,忽略掉了

/u01/OraDB12c/database/runInstaller -ignorePrereq -silent -responseFile /u01/myinstall/db_install.rap

使用root用户执行root.sh
su root
/u01/app/oracle/product/11.2.0/db_1/root.sh
增加oracle环境变量
su - oracle
vi ~/.bash_profile
在最后加上以下内容
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
export DISPLAY=172.20.1.1:1.0
使设置生效
source /home/oracle/.bash_profile

静默安装监听
netca.rsp 不用修改,默认就行
su – oracle
/u01/app/oracle/product/11.2.0/db_1/bin/netca -silent -responsefile /u01/myinstall/netca.rsp
监听过程中可能会报错,如下:
Centos7 静默安装Oracle11g以及可视化安装常见问题_第2张图片
执行yum install libXp*
再次执行监听命令。
Centos7 静默安装Oracle11g以及可视化安装常见问题_第3张图片

静默dbca建库
vi /u01/OraDB12c/database/response/dbca.rsp
SYSPASSWORD = "2018@Oracle"
SYSTEMPASSWORD =
SYSMANPASSWORD =
DBSNMPPASSWORD =
修改这四个选项,建议设置一致

$ORACLE_HOME/bin/dbca -silent -responsefile /u01/myinstall/dbca.rsp
Centos7 静默安装Oracle11g以及可视化安装常见问题_第4张图片

查看进程:
ps -ef | grep tnslsnr
Centos7 静默安装Oracle11g以及可视化安装常见问题

用sqlplus访问
Centos7 静默安装Oracle11g以及可视化安装常见问题_第5张图片
安装成功

如果是图形界面安装的话,可能会出现消息框变成一条竖线
Centos7 静默安装Oracle11g以及可视化安装常见问题_第6张图片
Centos7 静默安装Oracle11g以及可视化安装常见问题_第7张图片
首先需要准备jdk
执行:./runInstaller -jreLoc /etc/alternatives/jre_1.8.0可以解决

还有一个比较容易出错的地方是:
Centos7 静默安装Oracle11g以及可视化安装常见问题_第8张图片
如果出现这个错误,需要修改一下两个文件:
该软件包包含一个静态链接库:/usr/lib64/libc.a
修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将
ctxhx: $(CTXHXOBJ)
      $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
      -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
点击Retry继续安装。接着又提示”Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk.' ,解决方法:在makefile中添加链接libnnz11库的参数
修改/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
点击Retry继续安装。
安装成功!

可视化安装步骤可以参考:
https://www.linuxidc.com/Linux/2017-06/144630.htm

转载于:https://blog.51cto.com/13847924/2176490

你可能感兴趣的:(数据库)