CentOS7安装oracle 11gR2

一、软件准备
从Oracle官网下载数据库安装包两个:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
二、网络环境
主机名:linux_oracle11g
IP:172.16.91.203
三、检查并安装需要的依赖包
rpm -qa | grep binutils
rpm -qa | grep compat-libstdc++-33
rpm -qa | grep elfutils-libelf
rpm -qa | grep elfutils-libelf-devel
rpm -qa | grep gcc
rpm -qa | grep gcc-c++
rpm -qa | grep glibc
rpm -qa | grep glibc-2.17-157.el7_3.5.i686
rpm -qa | grep glibc-common
rpm -qa | grep glibc-devel
rpm -qa | grep glibc-devel-2.17-157.el7_3.5.i686
rpm -qa | grep glibc-headers
rpm -qa | grep ksh
rpm -qa | grep libaio
rpm -qa | grep libaio-0.3.109-13.el7.i686
rpm -qa | grep libaio-devel
rpm -qa | grep libaio-devel-0.3.109-13.el7.i686
rpm -qa | grep libgcc
rpm -qa | grep libgcc-4.8.5-11.el7.i686
rpm -qa | grep libstdc++
rpm -qa | grep libstdc++-4.8.5-11.el7.i686
rpm -qa | grep libstdc++-devel
rpm -qa | grep libstdc++-devel-4.8.5-11.el7.i686
rpm -qa | grep make
rpm -qa | grep sysstat
rpm -qa | grep unixODBC
rpm -qa | grep unixODBC-devel
rpm-qa|grep libXi-1.7.4-2.el7.i686
rpm -qa | grep libcap
如果相关的依赖包没有安装,用yum去安装,语法如下
yum install binutils
yum install libgcc*i686*##适用于后缀中有i686的安装包
备注:如果在安装软件过程中,还提示缺包,则根据提示把缺少的包安装
四、防火墙设置
1)临时关闭SELinux
setenforce 0
2)安装firewalld
yum install firewalld
3)开启1521端口
firewall-cmd –add-port=1521/tcp
4)重启防火墙
firewall-cmd –reload
五、设置安装环境
3.1 修改主机名
在/etc/hosts中添加服务器内网IP和主机名
vim /etc/hosts
键入i切换为编辑模式在文件末尾添加
172.16.91.203 linux_oracle11g
键入:wq保存退出
5.2 修改内核参数
vim /etc/sysctl.conf
键入i切换为编辑模式在后面追加下面配置

#Oracle
kernel.sem = 250 32000 100 128
kernel.shmmax = 17179869184
kernel.shmmni = 4096
kernel.shmall = 8388608
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 8388608
net.core.wmem_default = 4194304
net.core.wmem_max = 4194304
fs.aio-max-nr = 1048576

键入:wq保存退出
执行/sbin/sysctl -p命令,使修改生效
备注:
kernel.shmmax此处数值一般设为物理内存的40~50%(单位B,用于定义单个共享内存段的最大值)
kernel.shmall通过getconf PAGE_SIZE获取分页值大小默认是4K,即:4096B。对于32G的内存,4K(即4096B)分页大小的系统而言,SHMALL的值应该设置为32*1024*1024*1024/4096 =8388608
5.3 修改用户限制
1)vim /etc/security/limits.conf在文件后面追加下面配置

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

2)vim /etc/pam.d/login在文件后面追加下面配置

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

3)vim /etc/profile 在配置文件结尾处
(unset i 和 unset -f pathmunge之间)追加下面配置

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 命令,使修改生效
4)创建用户组和用户

groupaddoinstall
groupadd dba
useradd -g oinstall -G dba -d /home/oracle oracle
passwd oracle          ##设置oracle用户的密码为oracle

5)创建目录及修改权限
(1)创建数据库系统安装目录
mkdir-p/home/oracle/app/oracle/product/11.2.0/db_1/
(2)创建数据备份目录
mkdir -p /home/oracle/backup/
(3)创建清单目录
mkdir-p/home/oracle/oraInventory/
(4)修改目录权限及目录所有者
chown -R oracle:oinstall /home/oracle/app
chown -R oracle:oinstall /home/oracle/backup
chown -R oracle:oinstall /home/oracle/oraInventory
chmod -R 775 /home/oracle/app
5.4 设置并刷新环境变量
(1)切换为oracle用户
su - oracle
(2)vim /home/oracle/.bash_profile
将/home/oracle/.bash_profile中原有的PATH路径注释掉,追加下面配置

umask 022
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

保存后source~/.bash_profile使修改生效
六、安装包导入,可以用U盘挂载,也可以使用ftp服务器上传,这里介绍使用U盘挂载方式
(1)切换为root用户
输入命令su -
输入root用户的登录密码
(2)插入U盘后,fdisk-l命令查看U盘是否被挂载,如果在显示内容的末尾有以下信息,则U盘已经被服务器识别
设备 Boot Start End Blocks Id System
/dev/sdb1 * 128 30719999 15359936 c W95 FAT32 (LBA)
(3)在mnt目录下创建usb目录
cd /mnt
mkdirusb
(4)挂载U盘
mount-tvfat/dev/sdb1 /mnt/usb

(5)df-h查看是否有/mnt/usb,如果有表示挂载成功
(6)将前面准备的数据库安装文件移动到/home/oracle
cd /mnt/usb
mv linux.x64_11gR2_database_1of2.zip /home/oracle
mv linux.x64_11gR2_database_2of2.zip /home/oracle
(7)安装unzip
yum install unzip
(8)解压oracle安装文件
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
解压后的安装文件在/home/oracle/database目录中
(9)卸载U盘
umount /mnt/usb
备注:该流程以FAT32文件格式的U盘为例
在卸载U盘过程中可能遇到以下报错
umount: /mnt/usb: device is busy
可用lsof |grep /mnt/usb命令查找占用进程,配合kill命令
杀掉进程再次卸载
七、静默安装Oracle11g
7.1 修改响应文件
(1)切换为oracle用户
su - oracle
(2)复制响应文件模版
cp -R /home/oracle/database/response /home/oracle
(3)修改安装应答文件
cd /home/oracle/reponse
vim db_install.rsp
(4)按照下面配置更改db_install.rsp应答文件

oracle.install.option=INSTALL_DB_SWONLY                      ##安装类型
ORACLE_HOSTNAME=linux_oracle11g                          ##主机名称
UNIX_GROUP_NAME=oinstall##安装组
INVENTORY_LOCATION=/home/oracle/oraInventory##INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN##选择语言
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1    
ORACLE_BASE=/home/oracle/app
oracle.install.db.InstallEdition=EE                        ##oracle版本
oracle.install.db.EEOptionsSelection=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=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=10240       ##自动管理内存的内存(M)     
oracle.install.db.config.starterdb.password.ALL=oracle  ##所有数据库用户使用同一个密码       
oracle.install.db.config.starterdb.control=DB_CONTROL
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true                   ##设置安全更新

7.2 静默安装Oracle11g
(1)切换到/home/oracle/database目录
cd /home/oracle/database
(2)静默安装
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp

如果出现这样的错误 [FATAK] [INS-13013] Target environment do not meet some mondotory requirment 时
在安装命令加上选项 –ignorePrereq

当安装界面出现一下信息时,安装成功
The installation of Oracle Database 11g was successful.
Please check ‘/home/oracle/oraInventory/logs/silentInstal2017-08-07_10-52-09PM.log’ for more details.
As a root user, execute the following script(s):
1. /home/oracle/oraInventory/orainstRoot.sh
2. /home/oracle/app/oracle/product/11.2.0/db_1/root.sh

Successfully Setup Software.
7.3 执行脚本
(1)切换为root用户
命令su-
输入root用户密码
(2)切换目录
cd /home/oracle/app/oracle/product/11.2.0/db_1/
(3)执行脚本
./root.sh
八、配置Oracle监听
(1)切换Oracle用户
su - oracle
(2)切换目录
cd /home/oracle/response
(3)启动监听
netca /silent /responsefile /home/oracle/response/netca.rsp

备注:成功运行后,在/home/oracle/app/oracle/product/11.2.0/db_1/
network/admin目录下生成sqlnet.ora和listener.ora两个文件

(4)修改listener.ora以及tnsnames.ora配置
cd /home/oracle/app/oracle/product/11.2.0/db_1/network/admin/
vimlistener.ora以下面配置为标准修改

SID_LIST_LISTENER=
(SID_LIST=
 (SID_DESC=
   (SID_NAME=PLSExtProc)
   (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1)
   (PROGRAM=extproc)
 )
  (SID_DESC=
    (GLOBAL_DBNAME=orcl)
    (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_)
    (SID_NAME=orcl)
)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.12.41)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /home/oracle/app

vimtnsnames.ora以下面配置为标准修改

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.12.41)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

(5)重启监听器
lsnrctl reload
九、新建oracle数据库
(1)切换目录
cd /home/oracle/response
(2)vim /home/oracle/response以下面配置为准修改应答文件

RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
DATAFILEDESTINATION = /home/oracle/app/oradata
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "10240"

(3)创建数据库

dbca -silent -responseFile /home/oracle/response/dbca.rsp
(4)建库后实例查询

ps -ef | grep ora_ | grep -v grep

oracle 843 1 0 21:59 ? 00:00:02 ora_vkrm_orcl
oracle 944 1 0 22:32 ? 00:00:00 ora_w000_orcl
oracle 10607 1 0 8月07 ? 00:00:04 ora_pmon_orcl
oracle 10609 1 0 8月07 ? 00:01:33 ora_vktm_orcl
oracle 10613 1 0 8月07 ? 00:00:00 ora_gen0_orcl
oracle 10615 1 0 8月07 ? 00:00:01 ora_diag_orcl
oracle 10617 1 0 8月07 ? 00:00:00 ora_dbrm_orcl
oracle 10619 1 0 8月07 ? 00:00:01 ora_psp0_orcl
oracle 10621 1 0 8月07 ? 00:00:22 ora_dia0_orcl
oracle 10623 1 0 8月07 ? 00:00:02 ora_mman_orcl
oracle 10625 1 0 8月07 ? 00:00:02 ora_dbw0_orcl
oracle 10627 1 0 8月07 ? 00:00:01 ora_lgwr_orcl
oracle 10629 1 0 8月07 ? 00:00:06 ora_ckpt_orcl
oracle 10631 1 0 8月07 ? 00:00:02 ora_smon_orcl
oracle 10633 1 0 8月07 ? 00:00:00 ora_reco_orcl
oracle 10635 1 0 8月07 ? 00:00:08 ora_mmon_orcl
oracle 10637 1 0 8月07 ? 00:00:10 ora_mmnl_orcl
oracle 10639 1 0 8月07 ? 00:00:00 ora_d000_orcl
oracle 10641 1 0 8月07 ? 00:00:00 ora_s000_orcl
oracle 10720 1 0 8月07 ? 00:00:00 ora_qmnc_orcl
oracle 10735 1 0 8月07 ? 00:00:06 ora_cjq0_orcl
oracle 10737 1 0 8月07 ? 00:00:00 ora_q000_orcl
oracle 10739 1 0 8月07 ? 00:00:00 ora_q001_orcl
oracle 10823 1 0 8月07 ? 00:00:01 ora_smco_orcl

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章