Oracle安装与数据库创建
【前言】
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 higherRed 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 laterOracle 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 laterOracle 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
【静默安装步骤】
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、静默配置监听
1) netca.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 密码
【自启动设置】
Linux下设置ORACLE自启动,只要你按照过程操作,一定可以实现。
1、查看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执行权限
[
重启完成
[
这只是Oracle自启动的一种方式,也可以自定义脚本自启动数据库。