redhat7静默安装oracle11gR2

来源:互联网 发布:淘宝二手镜头可以用吗 编辑:程序博客网 时间:2024/06/07 23:06

    所谓的静默安装是指不用安装redhat7桌面系统,并进入桌面利用界面安装oracle,这里采用最小化安装redhat7,直接在命令行下通过命令执行安装。

    环境配置和用户设置基本和界面安装一致。就是进入/opt/app/database/database目录之后,运行./runInstall时,需要指定参数,让系统实现无需界面操作的静默安装。

准备虚拟机:2g内存,20g硬盘,3g交换分区,刚装上的系统很小,如下图所示。

一、获取oracle-rdbms-server-11gR2-preinstall的yum源,并配置一个CenOS7的基础源

[root@dbserver ~]# curl -o /etc/yum.repos.d/CentOS7-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo[root@dbserver ~]# curl -o /etc/yum.repos.d/public-yum-ol7.repo http://public-yum.oracle.com/public-yum-ol7.repo[root@dbserver ~]# curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7[root@dbserver ~]# sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-163.repo[root@dbserver ~]# yum repolist[root@dbserver ~]# yum install -y oracle-rdbms-server-11gR2-preinstall.x86_64

安装之前可以通过yum search查看oracle-rdbms-server-11gR2-preinstall

yum安装

安装完成之后可以检查用户和相关系统参数

系统参数截图,通过yum install oracle-rdbms-server-11gR2-preinstall自动添加了用户和用户组,而且修改了系统参数。

我们可以通过日志查看自动添加用户和用户组修改系统参数以及安装相关依赖。日志路径:/var/log/oracle-rdbms-server-11gR2-preinstall/results/orakernel.log

Adding group oinstall with gid 54321Adding group dbaAdding user oracle with user id 54321, initial login group oinstall, supplementary group dba and  home directory /home/oracleChanging ownership of /home/oracle to oracle:oinstallPlease set password for oracle useruid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)Creating oracle user passed Saving a copy of the initial sysctl.confVerifying  kernel parameters as per Oracle recommendations...Adding fs.file-max = 6815744 Adding kernel.sem = 250 32000 100 128 Adding kernel.shmmni = 4096 Adding kernel.shmall = 1073741824 Adding kernel.shmmax = 4398046511104 Adding kernel.panic_on_oops = 1 Adding net.core.rmem_default = 262144 Adding net.core.rmem_max = 4194304 Adding net.core.wmem_default = 262144 Adding net.core.wmem_max = 1048576 Adding net.ipv4.conf.all.rp_filter = 2 Adding net.ipv4.conf.default.rp_filter = 2 Adding fs.aio-max-nr = 1048576 Adding net.ipv4.ip_local_port_range = 9000 65500 Setting kernel parameters as per oracle recommendations...Altered file /etc/sysctl.confSaved a copy of the current file in /etc/sysctl.d/99-oracle-rdbms-server-11gR2-preinstall-sysctl.confCheck /etc/sysctl.d for backupsVerifying & setting of kernel parameters passed Setting user limits using /etc/security/limits.confVerifying oracle user OS limits as per Oracle recommendations...Adding oracle soft nofile  1024Adding oracle hard nofile  65536Adding oracle soft nproc  16384Adding oracle hard nproc  16384Adding oracle soft stack  10240Adding oracle hard stack  32768Adding oracle hard memlock  134217728Adding oracle soft memlock  134217728Setting oracle user OS limits as per Oracle recommendations...Altered file /etc/security/limits.confOriginal file backed up at /var/log/oracle-rdbms-server-11gR2-preinstall/backup/Nov-02-2017-20-58-02Verifying & setting of user limits passed Saving a copy of /etc/default/grub file in /etc/default/grub-initial.orabackupSaving a copy of /etc/default/grub in /var/log/oracle-rdbms-server-11gR2-preinstall/backup/Nov-02-2017-20-58-02...Verifying kernel boot parameters as per Oracle recommendations...old boot params: "rd.lvm.lv=rhel/root crashkernel=auto  rd.lvm.lv=rhel/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us rhgb quiet"new boot params: "rd.lvm.lv=rhel/root crashkernel=auto rd.lvm.lv=rhel/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us rhgb quiet numa=off"old boot params: "rd.lvm.lv=rhel/root crashkernel=auto rd.lvm.lv=rhel/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us rhgb quiet numa=off"new boot params: "rd.lvm.lv=rhel/root crashkernel=auto rd.lvm.lv=rhel/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us rhgb quiet numa=off transparent_hugepage=never"Setting kernel boot parameters as per Oracle recommendations...G_DIR=/boot/grub2Getting the first entry available in /boot/grub2/grub.cfg for 3.10.0-123.el7.x86_64Default kernel is ->  3.10.0-123.el7.x86_64Default saved_entry is -> Red Hat Enterprise Linux Linux, with Linux 3.10.0-123.el7.x86_64Default saved_entry_line is -> linux16 /vmlinuz-3.10.0-123.el7.x86_64 Saving a copy of grubenv... in /var/log/oracle-rdbms-server-11gR2-preinstall/backup/Nov-02-2017-20-58-02Generating grub configuration file ...File descriptor 199 (/run/lock/subsys/oracle-preinstall.lock) leaked on vgs invocation. Parent PID 28519: /usr/sbin/grub2-probeFile descriptor 199 (/run/lock/subsys/oracle-preinstall.lock) leaked on vgs invocation. Parent PID 28519: /usr/sbin/grub2-probeFound linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.imgFound linux image: /boot/vmlinuz-0-rescue-7d075af17a9c4ec58e37c4be14f9f1d2Found initrd image: /boot/initramfs-0-rescue-7d075af17a9c4ec58e37c4be14f9f1d2.imgFile descriptor 199 (/run/lock/subsys/oracle-preinstall.lock) leaked on vgs invocation. Parent PID 28717: /usr/sbin/grub2-probeFile descriptor 199 (/run/lock/subsys/oracle-preinstall.lock) leaked on vgs invocation. Parent PID 28717: /usr/sbin/grub2-probedoneThe saved kernel 3.10.0-123.el7.x86_64 is now at position - 0Boot parameters will be effected on next rebootAltered file /etc/default/grubCopy of the changed file is in - /etc/default/grub-oracle-rdbms-server-11gR2-preinstall.orabackupCopy of the original file is in - /var/log/oracle-rdbms-server-11gR2-preinstall/backup/Nov-02-2017-20-58-02Verifying & setting of boot parameters passed Trying to add NOZEROCONF parameter...Taking a backup of existing file to /etc/sysconfig/network.orabackupSuccessfully added parameter NOZEROCONF to /etc/sysconfig/networkSetting /etc/sysconfig/network parameters passed Disabling Transparent Hugepages. Refer Oracle Note:1557478.1Disabling defrag. Refer Oracle Note:1557478.1Taking a backup of old config files under /var/log/oracle-rdbms-server-11gR2-preinstall/backup/Nov-02-2017-20-58-02 

安装两个小工具,用来上传数据库安装文件和解压安装文件

yum install -y lrzsz unzip//
二、设置oracle安装目录
[root@dbserver ~]# mkdir -p /opt/app/oracle[root@dbserver ~]# mkdir -p /opt/app/database[root@dbserver ~]# mkdir -p /opt/app/oraInventory[root@dbserver ~]# chown -R oracle:oinstall /opt/app[root@dbserver ~]# chmod 755 /opt/app

为oracle用户设置密码,后面需要切换到oracle用户下来安装

[root@dbserver ~]# passwd oracleChanging password for user oracle.New password: BAD PASSWORD: The password is shorter than 8 charactersRetype new password: passwd: all authentication tokens updated successfully.[root@dbserver ~]# su - oracle
三、设置环境变量,注意,这里一定不要设置DISPLAY这个环境变量,否则运行安装runInstall的时候会报错。后面会贴出错误。

export PATHexport ORACLE_BASE=/opt/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export ORACLE_SID=orclexport ORACLE_TERM=xtermexport PATH=$ORACLE_HOME/bin:/usr/sbin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport LANG=""export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

生效环境变量并配置oracle静默安装的配置文件,指定相关配置。这些配置很重要,如果不配置好,后面安装会出现很多问题。

[oracle@dbserver ~]$ source .bash_profile [oracle@dbserver ~]$ lslinux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip[root@dbserver oracle]# unzip linux.x64_11gR2_database_1of2.zip -d /opt/app/database/[root@dbserver oracle]# unzip linux.x64_11gR2_database_2of2.zip -d /opt/app/database/[root@dbserver app]# vi database/database/response/db_install.rsp

四、修改静默安装数据库配置文件主要的配置项

oracle.install.option=INSTALL_DB_SWONLYUNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/opt/app/oraInventoryORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1ORACLE_BASE=/opt/app/oracleoracle.install.db.InstallEdition=EEoracle.install.db.isCustomInstall=falseoracle.install.db.DBA_GROUP=oinstalloracle.install.db.OPER_GROUP=dbaoracle.install.db.config.starterdb.globalDBName=orcloracle.install.db.config.starterdb.SID=orcloracle.install.db.config.starterdb.memoryLimit=512oracle.install.db.config.asm.ASMSNMPPassword=123456DECLINE_SECURITY_UPDATES=true
以上这些参数基本都是必须的,缺少参数则会出现后面贴出的一些问题。

五、开始安装 -ignorePrereq选项可以忽略系统检查时的一些问题。后面会贴出这个错误。

[oracle@dbserver app]$ database/database/runInstaller -silent -force -ignorePrereq -responseFile /opt/app/database/database/response/db_install.rsp Starting Oracle Universal Installer...Checking Temp space: must be greater than 120 MB.   Actual 13085 MB    PassedChecking swap space: must be greater than 150 MB.   Actual 2999 MB    PassedPreparing to launch Oracle Universal Installer from /tmp/OraInstall2017-11-02_11-12-25PM. Please wait ...[oracle@dbserver app]$ You can find the log of this install session at: /opt/app/oraInventory/logs/installActions2017-11-02_11-12-25PM.logThe following configuration scripts need to be executed as the "root" user.  #!/bin/sh  #Root scripts to run/opt/app/oraInventory/orainstRoot.sh/opt/app/oracle/product/11.2.0/db_1/root.shTo 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.

切换到root用户,执行这两个脚本。

[oracle@dbserver app]$ suPassword: [root@dbserver app]# /opt/app/oraInventory/orainstRoot.sh Changing permissions of /opt/app/oraInventory.Adding read,write permissions for group.Removing read,write,execute permissions for world.Changing groupname of /opt/app/oraInventory to oinstall.The execution of the script is complete.[root@dbserver app]# /opt/app/oracle/product/11.2.0/db_1/root.sh Check /opt/app/oracle/product/11.2.0/db_1/install/root_dbserver_2017-11-02_23-20-43.log for the output of root script

根据运行提示,我们可以看看相关日志

[root@dbserver app]# more /opt/app/oracle/product/11.2.0/db_1/install/root_dbserver_2017-11-02_23-20-43.logRunning Oracle 11g root.sh script...The following environment variables are set as:    ORACLE_OWNER= oracle    ORACLE_HOME=  /opt/app/oracle/product/11.2.0/db_1Creating /etc/oratab file...Entries will be added to the /etc/oratab file as needed byDatabase Configuration Assistant when a database is createdFinished running generic part of root.sh script.Now product-specific root actions will be performed.Finished product-specific root actions.

六、netca配置监听器(这里的命令很特别,指定参数就是斜线来指定,你没有看错)

[oracle@dbserver app]$ netca /silent /responseFile /opt/app/database/database/response/netca.rsp Parsing command line arguments:    Parameter "silent" = true    Parameter "responsefile" = /opt/app/database/database/response/netca.rspDone parsing command line arguments.Oracle Net Services Configuration:Profile configuration complete.Oracle Net Listener Startup:    Running Listener Control:       /opt/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER    Listener Control complete.    Listener started successfully.Listener configuration complete.Oracle Net Services configuration successful. The exit code is 0
七、dbca创建数据库(Database Configuration Assistent)

[oracle@dbserver app]$ dbca -silent -createDatabase -templateName General_Purpose.dbc  -gdbName orcl -sid orcl -sysPassword oracle -systemPassword  oracle -storageType FS  -datafileJarLocation $ORACLE_HOME/assistants/dbca/templates  -characterset AL32UTF8 -obfuscatedPasswords false -sampleSchema falseCopying database files1% complete                                                                                                                                                  3% complete                                                                                                                                                  11% complete                                                                                                                                                 18% complete                                                                                                                                                 26% complete                                                                                                                                                 37% complete                                                                                                                                                 Creating and starting Oracle instance                                                                                                                        40% complete                                                                                                                                                 45% complete                                                                                                                                                 50% complete                                                                                                                                                 55% complete                                                                                                                                                 56% complete                                                                                                                                                 60% complete                                                                                                                                                 62% complete                                                                                                                                                 Completing Database Creation                                                                                                                                 66% complete                                                                                                                                                 70% complete                                                                                                                                                 73% complete                                                                                                                                                 85% complete                                                                                                                                                 96% complete                                                                                                                                                 100% complete                                                                                                                                                Look at the log file "/opt/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.[oracle@dbserver app]$ 
八、测试数据库连接

[oracle@dbserver app]$ sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on Thu Nov 2 23:39:00 2017Copyright (c) 1982, 2009, Oracle.  All rights reserved.SQL> conn sys/oracle as sysdba;Connected.SQL> 

九、Q&A:错误以及解决办法

[oracle@dbserver app]$ Exception in thread "main" java.lang.NoClassDefFoundErrorat java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:164)at java.awt.Toolkit$2.run(Toolkit.java:821)at java.security.AccessController.doPrivileged(Native Method)at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)at javax.swing.UIManager.initialize(UIManager.java:1262)at javax.swing.UIManager.maybeInitialize(UIManager.java:1245)at javax.swing.UIManager.getUI(UIManager.java:851)at javax.swing.JPanel.updateUI(JPanel.java:104)at javax.swing.JPanel.<init>(JPanel.java:64)at javax.swing.JPanel.<init>(JPanel.java:87)at javax.swing.JPanel.<init>(JPanel.java:95)at oracle.sysman.oii.oiif.oiifo.OiifoOCMUI.<init>(OiifoOCMUI.java:125)at oracle.sysman.oii.oiif.oiifo.OiifoOCMInterfaceManager.<init>(OiifoOCMInterfaceManager.java:79)at oracle.sysman.oii.oiif.oiifo.OiifoOCMInterfaceManager.getInstance(OiifoOCMInterfaceManager.java:124)at oracle.install.ivw.db.driver.DBInstaller.run(DBInstaller.java:123)at oracle.install.commons.util.Application.startup(Application.java:869)at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)
取消环境变量DISPLAYunset DISPLAY
[oracle@dbserver app]$ [FATAL] [INS-10101] The given response file database/database/response/db_install.rsp is not found.CAUSE: The given response file is either not accessible or do not exist.ACTION: Give a correct response file location. (Note: relative path is not supported)
db_install.rep不能通过相对路径指定,需要指定绝对路径。
[oracle@dbserver app]$ [FATAL] [INS-35071] Global database name cannot be left blank.
设置变量:oracle.install.db.config.starterdb.globalDBName=orcl
[oracle@dbserver app]$ [FATAL] [INS-35175] No value given for the allocated memory of the database.
设置变量:oracle.install.db.config.starterdb.memoryLimit=512
[oracle@dbserver app]$ [FATAL] [INS-35376] Passsword cannot be empty for ASMSNMP user
设置变量:oracle.install.db.config.asm.ASMSNMPPassword=123456
[oracle@dbserver app]$ [FATAL] [INS-30501] Automatic Storage Management software is not configured on this system
设置变量:oracle.install.option=INSTALL_DB_SWONLY
[oracle@dbserver app]$ [FATAL] [INS-13013] Target environment do not meet some mandatory requirements
安装时候指定-ignorePrereq参数跳过系统环境检查。
原创粉丝点击