暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle深度成长计划 | 第三讲:Oracle安装与数据库创建

数据与人 2020-12-15
1534

【前言】


Oracle在安装的时候是软件安装加上数据库实例创建,这是两个独立的步骤。


安装方式有两种,一种是图形化界面安装,还有一种是静默安装,图形化安装这里不多做介绍,重点介绍一下静默安装的方式。


着重介绍静默安装是因为自动化运维中一键安装数据库采用的也是调用静默安装脚本的方式。这里图形化界面安装是无法实现的。



【数据库安装软件(含补丁)的下载说明】


以11.2.0.4版本为例


能支持Oracle11.2.0.4的linux操作系统版本说明在如下的文档中(support.oracle.com)


1、oracle给出的明确结论11.2.0.4可以安装在REHL7版本上(具体要求如下)

    1> Certification Information for Oracle Database on Linux x86-64 (文档 ID 1304727.1)
    2> Core Oracle Database Certification Information (文档 ID 1306539.1)
    3> Requirements for Installing Oracle 11.2.0.4 RDBMS on OL7 or RHEL7 64-bit (x86-64) (文档 ID 1962100.1)


    2、Oracle补丁信息文档说明和安装补丁工具opatch

      1> Master Note for Database Proactive Patch Program (文档 ID 756671.1)
      2> OPatch - Where Can I Find the Latest Version of OPatch(6880880)? [Video] (文档 ID 224346.1)


      3、Oracle客户端和服务端版本兼容性列表

        Client  Server Interoperability Support Matrix for Different Oracle Versions (文档 ID 207303.1)
        Installation walk-through - Oracle Grid/RAC 11.2.0.4 on Oracle Linux 7 (文档 ID 1951613.1)


        4、11.2.0.4在7U4安装过程中遇到的2个问题,support.oracle.com上的正式说明和解决办法

          (1)Missing pdksh-5.2.14 package during Oracle database 11.2.0.4 install on Oracle Linux 7 (文档 ID 1962046.1)
          2)Installation of Oracle 11.2.0.4 Database Software on OL7 fails with “undefined reference to symbol ‘B_DestroyKeyObject’” error (文档 ID 1965691.1)



          【安装须知】


          1、官方文档介绍

            Requirements for Installing Oracle 11.2.0.4 RDBMS on OL7 or RHEL7 64-bit (x86-64) (文档 ID 1962100.1)


            Certification Information for Oracle Database on Linux x86-64 (文档 ID 1304727.1)
            Red Hat Enterprise Linux 7 - 11.2.0.4 only ?Red Hat compatible kernel: 3.10.0-123.el7.x86_64 or higher
            Red Hat Enterprise Linux 6.x - Database 11.2.0.3 and higher ?Red Hat kernel 2.6.32-71.el6.x86_64 or later


            Oracle Linux 7.x (11.2.0.4 only) with the following kernels: ?Oracle Linux 7.0 with the Unbreakable Enterprise kernel 3: 3.8.13-35.3.1.el7uek.x86_64 or later
            Oracle Linux 7.0 with the Red Hat compatible kernel: 3.10.0-123.el7.x86_64 or later


            Oracle Linux 6.x (11.2.0.4 only) with the following kernels: ?Oracle Linux 6.7 or later with the Unbreakable Enterprise kernel 4: 4.1.12-32.el6uek.x86_64 or later
            Oracle Linux 6.4 with the Unbreakable Enterprise kernel 3: 3.8.13-16.el6uek.x86_64 or later


            Red Hat Enterprise Linux 6.x - Database 11.2.0.3 and higher ?Red Hat kernel 2.6.32-71.el6.x86_64 or later


            2、查看各操作系统安装ORACLE数据库所需补丁包以及参数:

              Oracle Database (RDBMS) on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) [ID 169706.1]


              3、查到各个产品版本最新的PSU:

                Oracle Recommended Patches — Oracle Database [ID 756671.1]


                【静默安装步骤】


                1、环境调整及说明


                对操作系统的软件包的最低版本要求

                  compat-libstdc++-33-3.2.3
                  binutils-2.23.52.0.1-12.el7.x86_64
                  compat-libcap1-1.10-3.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.x86_64
                  glibc-devel-2.17-36.el7.x86_64
                  libaio-0.3.109-9.el7.x86_64
                  libaio-devel-0.3.109-9.el7.x86_64
                  libgcc-4.8.2-3.el7.x86_64
                  libstdc++-4.8.2-3.el7.x86_64
                  libstdc++-devel-4.8.2-3.el7.x86_64
                  libXi-1.7.2-1.el7.x86_64
                  libXtst-1.2.2-1.el7.x86_64
                  make-3.82-19.el7.x86_64
                  sysstat-10.1.5-1.el7.x86_64
                  cpp-4.8.2-16.el7.x86_64
                  glibc-headers-2.17-55.el7.x86_64
                  mpfr-3.1.1-4.el7.x86_64
                  elfutils-libelf-devel-0.97
                  kernel-headers-3.10.0-693.el7.x86_64
                  zlib-devel-1.2.7-17.el7.x86_64


                  以下所有相关操作需要root用户执行,并且重启动操作系统才能完全生效。


                  1) 编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。


                  如果该文件中已有相关参数的设置,则确保参数值不小于如下对应值;如果还没有相关参数的设置,则按照如下格式添加相应的参数设置行。

                    fs.aio-max-nr = 1048576
                    fs.file-max = 6815744
                    kernel.shmall = physical RAM size pagesize For most systems, this will be the value 2097152.
                    kernel.shmmax = RAM times 0.5 (物理内存的一半,单位bytes)
                    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


                    2) 编辑/etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制。


                    在该文件中添加如下行。

                      oracle           soft    nproc   16384
                      oracle hard nproc 16384
                      oracle soft nofile 65536
                      oracle hard nofile 65536
                      oracle soft stack 1024000
                      oracle hard stack 1024000



                      3) 如果物理内存>=64G,需要打开hugepae(下一篇文章着重讲一下大页如何配置)



                      4设置环境变量


                      vi .bash_profile

                        export PATH
                        export ORACLE_BASE=/u01/oracle
                        export ORACLE_HOME=$ORACLE_BASE/product/db11gr2
                        export ORACLE_SID=
                        export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
                        export ORA_NLS10=$ORACLE_HOME/nls/data
                        export LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
                        export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/RDBMS/lib:/lib:/usr/lib
                        export JAVA_HOME=$ORACLE_HOME/jdk
                        export ORACLE_DOC=$ORACLE_HOME/doc
                        export SQLPATH=$ORACLE_HOME/dbs
                        export PATH=$ORACLE_HOME/OPatch:$ORACLE_HOME/bin:$JAVA_HOME/bin:$PATH:/usr/vacpp/bin:/usr/ccs/bin
                        export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
                        export TMP=/tmp
                        export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
                        export NLS_TIMESTAMP_FORMAT='yyyy-mm-dd hh24:mi:ss.ff'
                        export NLS_TIMESTAMP_TZ_FORMAT='yyyy-mm-dd hh24:mi:ss.ff'


                        2、Oracle软件安装


                        在安装文件/database/response/*有三个配置文件模板


                        dbca.rsp、db_install.rsp、netca.rsp  


                        1修改db_install.rap (简易版配置)

                          oracle.install.option=INSTALL_DB_SWONLY // 安装类型
                          ORACLE_HOSTNAME=hostname // 主机名称
                          UNIX_GROUP_NAME=oinstall // 安装组
                          INVENTORY_LOCATION=/u01/app/oracle/oraInventory // INVENTORY目录
                          SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言
                          ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 // oracle_home
                          ORACLE_BASE=/u01/app/oracle // oracle_base
                          oracle.install.db.InstallEdition=EE // oracle版本
                          oracle.install.db.isCustomInstall=true // 自定义安装
                          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=ecology // globalDBName
                          oracle.install.db.config.starterdb.SID=orcl // SID
                          oracle.install.db.config.starterdb.memoryLimit=512 // 自动管理内存的最小内存(M)
                          oracle.install.db.config.starterdb.password.ALL=oracle // 设定所有数据库用户使用同一个密码


                          2进行静默安装Oracle软件 


                          执行

                            ./runInstaller -silent -force -responseFile u01/database/response/db_install.rsp


                            3安装日志


                            正在启动 Oracle Universal Installer...


                            检查临时空间: 必须大于 120 MB。   实际为 50995 MB    通过

                            检查交换空间: 必须大于 150 MB。   实际为 511 MB    通过

                            准备从以下地址启动 Oracle Universal Installer tmp/OraInstall2020-10-03_04-22-59PM. 请稍候...

                            [WARNING] [INS-32055] 主产品清单位于 Oracle 基目录中。

                               原因: 主产品清单位于 Oracle 基目录中。

                               操作: Oracle 建议将此主产品清单放置在 Oracle 基目录之外的位置中。

                            可以在以下位置找到本次安装会话的日志:

                             /u01/app/oracle/oraInventory/logs/installActions2020-10-03_04-22-59PM.log

                            以下配置脚本需要以 "root" 用户的身份执行。

                             #!/bin/sh 

                             #要运行的 Root 脚本

                            /u01/app/oracle/oraInventory/orainstRoot.sh

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

                            要执行配置脚本, 请执行以下操作:

                            1. 打开一个终端窗口

                            2. 以 "root" 身份登录

                            3. 运行脚本

                            4. 返回此窗口并按 "Enter" 键继续


                            Successfully Setup Software.


                            2、静默配置监听 


                            1netca.rsp文件不用修改,

                              $ORACLE_HOME/bin/netca silent responseFile u01/database/response/netca.rsp


                              2 ) 安装日志:


                              正在对命令行参数进行语法分析:                                                 参数"silent" = true                                                                参数"responsefile" = u01/database/response/netca.rsp

                              完成对命令行参数进行语法分析。

                              Oracle Net Services 配置:

                              完成概要文件配置。

                              Oracle Net 监听程序启动:

                                  正在运行监听程序控制: 

                                    u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER

                                  监听程序控制完成。

                                  监听程序已成功启动。

                              监听程序配置完成。

                              成功完成 Oracle Net Services 配置。退出代码是0


                              3、创建实例 


                              1修改dbca.rsp,主要是实例名修改一下


                              #以下参数必须设置

                               [CREATEDATABASE] 

                              GDBNAME = "ecology" 

                              SID="ecology" 

                              TOTALMEMORY = "1024"


                              2) 执行

                                $ORACLE_HOME/bin/dbca -silent -responseFile u01/database/response/dbca.rsp


                                输入sys和system 密码

                                                                                                                        3) 安装日志     


                                5% 已完成                                                                          复制数据库文件                                                                    7% 已完成                                                                          9% 已完成                                                                          16% 已完成                                                                        23% 已完成                                                                        30% 已完成                                                                        41% 已完成                                                                        正在创建并启动 Oracle 实例                                                  43% 已完成                                                                        48% 已完成                                                                        53% 已完成                                                                        57% 已完成                                                                        58% 已完成                                                                        59% 已完成                                                                        62% 已完成                                                                        64% 已完成                                                                        正在进行数据库创建                                                              68% 已完成                                                                        71% 已完成                                                                        75% 已完成                                                                        85% 已完成                                                                        96% 已完成                                                                        100% 已完成                                                                                                                                                                


                                【自启动设置】


                                Linux下设置ORACLE自启动,只要你按照过程操作,一定可以实现。


                                1、查看ORACLE_HOME设置

                                  [root@conn /]#echo $ORACLE_HOME
                                  /u01/oracle/product/11.2.0/dbhome

                                  没有设置的话设置你自己的环境变量。


                                  2、执行dbstart 数据库自带启动脚本

                                    [root@conn /]# vi $ORACLE_HOME/bin/dbstart
                                    将ORACLE_HOME_LISTNER=$1改成ORACLE_HOME_LISTNER=$ORACLE_HOME


                                    3、编辑/etc/oratab文件


                                    dbca建库时都会自动创建/etc/oratab文件

                                      将orcl:/u01/oracle/product/11.2.0/dbhome:N
                                      修改成 orcl:/u01/oracle/product/11.2.0/dbhome:Y


                                      4、编辑/etc/rc.d/rc.local启动文件,添加至末尾

                                        su oracle -lc /u01/oracle/product/11.2.0/dbhome/bin/dbstart
                                        su oracle -lc /u01/oracle/product/11.2.0/dbhome/bin/lsnrctl start


                                        赋予rc.loacl执行权限

                                          [root@conn rc.d]# chmod 755 rc.loacl


                                          重启完成

                                            [root@conn /]# reboot

                                            这只是Oracle自启动的一种方式,也可以自定义脚本自启动数据库。



                                            【温馨寄语】


                                            欢迎大家关注【数据与人】,有问题可以留言,祝大家在接下来的学习中有个愉快的过程。


                                            文章转载自数据与人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                            评论