Centos 7.2系统安装Oracle12C数据库

一、实验环境
操作系统:centos7.2
数据库版本:Oracle 12C for x86 (64位)

二、安装前准备工作
1.系统支持
Oracle 12 c:支持以下Linux版本(都是64位系,没有32位):

  • Supported Oracle Linux 7 and Red Hat Enterprise Linux 7 Distributions for x86-64
  • Supported Oracle Linux 6 and Red Hat Enterprise Linux 6 Distributions for x86-64
  • Supported Oracle Linux 5 and Red Hat Enterprise Linux 5 Distributions for x86-64
  • Supported SUSE Distributions for x86-64

2.系统架构
系统架构符合Oracle12C数据库软件要求:
Red Hat Enterprise Linux 7: 3.10.0-54.0.1.el7.x86_64 or later

# uname –a
3.10.0-327.el7.x86_64

3.内存要求
最小内存:1G
推荐内存:2G或更高

# grep MemTotal /proc/meminfo
MemTotal:        8061216 kB

4.交换分区要求
物理内存:1G~2G 交换分区:物理内存的1.5倍
物理内存:2G-16G 交换分区:与物理内容大小相等
物理内存:大于16G 交换分区:16G

# grep SwapTotal /proc/meminfo

5.磁盘要求
/tmp最少1G的空间

# df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           3.9G     0  3.9G   0% /dev/shm

安装Oracle软件需要的硬盘空间
Centos 7.2系统安装Oracle12C数据库_第1张图片
6.软件包要求
不同版本的Linux对软件包的要求会有所不同,本例安装的是Centos 7.2的版本,故以此为例,其他版本请查阅官方文档:

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.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
unixODBC (非官方文档要求)
xhost(非官方文档要求)
xclock(非官方文档要求)

软件包的安装可以通过YUM源的方式进行安装

三、操作系统配置修改
1.创建用户和组
oracle需要创建以下几个组和用户:

  • The Oracle Inventory group (typically, oinstall) 用于管理Oracle产品清单:
  • The OSDBA group (typically, dba) 用于Oracle database管理(SYSDBA权限)
  • The Oracle software owner (typically, oracle) 属于Oracle Inventory和Oracle OSDBA组
  • The OSOPER group (optional. Typically, oper)
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
Changing password for user oracle.
New password: 
BAD PASSWORD: it is based on a dictionary word
Retype new password: 
passwd: all authentication tokens updated successfully.

2.设置内核参数
1)参数资源范围
按照官网的提示,需要将系统的一些参数修改在合适的范围内:

Parameter Minimum File
semmsl 250 /proc/sys/kernel/sem
semmns 32000 /proc/sys/kernel/sem
semopm 100 /proc/sys/kernel/sem
semmni 128 /proc/sys/kernel/sem
shmall 40 percent of the size of physical memory in pages Note: If the server supports multiple databases, or uses alarge SGA, then set this parameter to a value that is equal to the total amount of shared memory, in 4K pages, that the system canuse at one time /proc/sys/kernel/shmall
shmmax Half the size of physical memory in bytes See My Oracle Support Note 567506.1 for additional information about configuring shmmax /proc/sys/kernel/shmmax
shmmni 4096 /proc/sys/kernel/shmmni
panic_on_oops 1 /proc/sys/kernel/panic_on_oops
file-max 6815744 /proc/sys/fs/file-max
ip_local_port_range Minimum: 9000 Maximum: 65500 See the “Setting UDP and TCP Kernel Parameters Manually” section in Oracle Database Installation Guide forLinux /proc/sys/net/ipv4/ip_local_port_range
rmem_default 262144 /proc/sys/net/core/rmem_default
rmem_max 4194304 /proc/sys/net/core/rmem_max
wmem_default 262144 /proc/sys/net/core/wmem_default
wmem_max 1048576 /proc/sys/net/core/wmem_max
aio-max-nr 1048576 Note: This value limits concurrent outstanding requests and should be set to avoid I/O subsystem failures. /proc/sys/fs/aio-max-nr

如果系统的参数值高于表中所列的值,那么可以不需要修改此参数
2)检查系统设置
通过下表所示的方法来检查系统参数的设置是否符合参数要求范围

Parameter Command
semmsl, semmns, semopm, and semmni # /sbin/sysctl -a | grep sem (This command displays the value of the semaphore parameters in the order listed.)
shmall, shmmax, and shmmni # /sbin/sysctl -a | grep shm
file-max # /sbin/sysctl -a | grep file-max
ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range
rmem_default # /sbin/sysctl -a | grep rmem_default
rmem_max # /sbin/sysctl -a | grep rmem_max
wmem_default # /sbin/sysctl -a | grep wmem_default
wmem_max # /sbin/sysctl -a | grep wmem_max

3)设置系统参数
如果系统不符合上述参数,修改/etc/sysctl.conf文件,以满足参数需要(以下为数据请根据自身系统实际情况设置,如果自身的值高于前表所列值,则无需修改)

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048576

让配置生效,可不重启系统:
# /sbin/sysctl –p
这些值的设定,如果此处不知该如何设置也没关系,后期在图形界面按照进行检查时,可根据检查的提示进行修改

3.设置oracle用户资源限制
1)资源范围
检查Oracle安装用户(oracle)资源限制,下表是资源范围:

Resource Shell Limit Resource Soft Limit Hard Limit
Open file descriptors nofile at least 1024 at least 65536
Number of processes available to a single user nproc at least 2047 at least 16384
Size of the stack segment of the process stack at least 10240 KB at least 10240 KB, and at most 32768 KB

2)检查系统设置
检查Oracle安装用户的资源范围

Resource Shell Limit Resource Soft Limit (KB) Hard Limit (KB)
Open file descriptors nofile at least 1024 at least 65536
Number of processes available to a single user nproc at least 2047 at least 16384
Size of the stack segment of the process stack at least 10240 at least 10240, and at most 32768
Maximum Locked Memory Limit memlock at least 90 percent of the current RAM when HugePages memory is enabled and at least 3145728 KB (3GB) when HugePages is disabled at least 90 percent of the current RAM when HugePages memory is enabled and at least 3145728 KB (3 GB) when HugePages is disabled
  • 检查Open file descriptors的资源限制:
$ ulimit -Sn
1024                //参数要求at least 1024
$ ulimit -Hn
4096                //参数要求at least 65536
  • 检查Number of processes available to a single user的资源限制
$ ulimit -Su
10586                  //参数要求  at least 2047        
$ ulimit -Hu
 15086                 //参数要求  at least 16384
  • 检查stack的资源限制
$ ulimit -Ss
8192              	 //参数要求at least 10240
$ ulimit -Hs
unlimited            //参数要求at least 10240, and at most 32768

3)设置资源范围
如果经过检查,发现Oracle用户的资源限制不符合要求,则可以通过/etc/security/limits.conf进行修改此范围

#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
oracle              hard    stack   32768

注意:

  • 上述的值只是一个示范的值,并不是必须如此设置,请根据自身系统的实际情况参考所限制的资源范围进行设置。
  • 此值的更改会立即生效,但如果是用oracle用户登录时做的修改,则必须在oracle用户重新登录时,更改才会生效。

4.创建Oracle所需的目录
Oracle软件安装需要创建以下两类文件,并且授予此类文件正确的用户、用户组和相应的权限

  • Oracle软件的安装目录
  • Oracle软件数据文件目录
    建议Oracle的安装目录与数据目录最好为独立的目录,软件安装目录的空间最少要在3G或4G的空间。

1)创建Oracle软件的安装目录

# mkdir -p /mount_point/app/
# chown -R oracle:oinstall /mount_point/app/
# chmod -R 775 /mount_point/app/

在本此实验中,创建的目录和授予相应的权限方式如下

# mkdir -p /u01/app
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app

2)创建Oracle的数据文件目录
一般生产环境中,会单独挂载一个磁盘充当数据文件夹,本例中/data为一个单独的挂载磁盘。

#mkdir -p  /data/u02/oradata
#chown -R oracle:oinstall /data
#chmod -R 775 /data/u02/oradata

5.配置用户环境变量
设置Oracle安装用户oracle的的环境变量:
一般情况都会使用Bash shell的环境,故需修改 .bash_profile配置文件(也可以先不设置环境变量,在具体进行图形安装的时候根据安装路径进行实际设置)

$vi  .bash_profile
export DISPLAY=192.168.0.88:0.0 #操作端(本机)的地址
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=test
export ORACLE_HOME=$ORACLE_BASE/product/11.2/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export ORACLE_BASE ORACLE_HOME PATH LD_LIBRARY_PATH ORACLE_SID 
修改完配置文件,需重新用oracle账户登录以使参数生效,或者直接用下述命令来生效
$source .bash_profile 
$set  #检查环境变量是否生效
  • DISPLAY:设置为操作机的本端地址,以便通过Xmanager软件,在本端计算机显示出Oracle软件的安装界面。
  • ORACLE_BASE:Oracle公司产品的根目录ORACLE_BASE下是admin和product
  • ORACLE_HOME:oracle产品的目录,ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener等等(如果装了2个版本的oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME是2个)
  • ORACLE_SID:设置系统环境变量,使操作系统识别数据库实例名。

6.其他配置
1)本地计算机打开Xmanager软件
在服务器端,设置了在192.168.0.88主机进行图形显示

export DISPLAY=192.168.0.88:0.0

故需在此IP主机打开“Xmanager – Passive”软件。

2)关闭防火墙

#iptable –F

为了不影响测试,暂时关闭系统的防火墙

3)关闭SElinux
在不重启系统的情况下,可通过如下命令将SELinux改为警告模式

#setenforce  0   #转换成警告模式—permissive

7.启动数据库安装界面
将数据库安装文件拷贝到/tmp,解压缩,生产database文件夹:

$ unzip p21419221_121020_Linux-x86-64_1of10.zip
$ unzip p21419221_121020_Linux-x86-64_2of10.zip
$ ls
database                             solaris.x64_11gR2_database_1of2.zip
hsperfdata_noaccess                  solaris.x64_11gR2_database_2of2.zip
hsperfdata_root
进入database目录,运行安装程序
$ cd database/
$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 180 MB.   Actual 10060 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 15299 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-03-27_11-32-09AM. Please wait ...

此时会在打开“Xmanager – Passive”软件的主机上弹出安装界面:
Centos 7.2系统安装Oracle12C数据库_第2张图片
四、数据库安装
配置安全更新。电子邮件可写可不写,取消下面的“我希望通过My Oracle Support接受安全更新(W)”.
Centos 7.2系统安装Oracle12C数据库_第3张图片
可以选择第二项,只装软件,随后在安装实例,本例选择了“安装和配置数据库”,则一起进行了安装。
Centos 7.2系统安装Oracle12C数据库_第4张图片
选择服务器类
Centos 7.2系统安装Oracle12C数据库_第5张图片
网格安装选项。选择“单实例数据库安装”
Centos 7.2系统安装Oracle12C数据库_第6张图片
选择高级安装
Centos 7.2系统安装Oracle12C数据库_第7张图片
选择产品语言:
Centos 7.2系统安装Oracle12C数据库_第8张图片
选择数据库版本(企业版)
Centos 7.2系统安装Oracle12C数据库_第9张图片
设置安装位置,此处即为系统配置中环境变量的设置,如果之前环境变量没有设置,可以到此图形界面后,再将路径粘贴在.bash_profile下设置环境变量。
Centos 7.2系统安装Oracle12C数据库_第10张图片
产品清单目录,如果是第一次安装,需指定安装文件的目录,在前面已经设置了目录的权限:
Centos 7.2系统安装Oracle12C数据库_第11张图片
所以这里默认直接安装即可
Centos 7.2系统安装Oracle12C数据库_第12张图片
如果报下图的错,则是由于/u01/app权限问题,可进行权限修改。
Centos 7.2系统安装Oracle12C数据库_第13张图片
选择创建数据库的类型,这里选择“一般用途/事务处理”
Centos 7.2系统安装Oracle12C数据库_第14张图片
填写数据库名和SID名称,和之前环境变量设置的内容要相符合“Create as Container database”为12C的新特性,可以建立一个容器,利于进行数据库迁移,使数据库虚拟化
Centos 7.2系统安装Oracle12C数据库_第15张图片
配置选项:
内存选择,本例选择为自动模式
Centos 7.2系统安装Oracle12C数据库_第16张图片
切换到“字符集”选项卡,考虑到实际数据库的中文特性,所以选择“ZHS16CBK”,请根据自己数据库的实际情况进行选择,如下图所示
Centos 7.2系统安装Oracle12C数据库_第17张图片
数据库存储,指定文件系统类型以及数据文件的位置,这里我选择之间建立的/data/u02/oradata路径
Centos 7.2系统安装Oracle12C数据库_第18张图片
EM默认即可,如果有云平台,可进行勾选设置
Centos 7.2系统安装Oracle12C数据库_第19张图片
备份和恢复,本实验选择不自动备份
Centos 7.2系统安装Oracle12C数据库_第20张图片
为了便于测试,这里使用了相同的密码
Centos 7.2系统安装Oracle12C数据库_第21张图片
选择数据库管理员组以及数据库操作者组,这里为了方便所有组都为dba,在实际生产中,会进行分开设置,以便控制权限
Centos 7.2系统安装Oracle12C数据库_第22张图片
进行先决条件检查,如图所以有以下几个方面出现警告
Centos 7.2系统安装Oracle12C数据库_第23张图片
根据提示,为部分参数值设置问题,按照所提示的要求进行修改即可:编辑:/etc/sysctl.conf
Centos 7.2系统安装Oracle12C数据库_第24张图片
Centos 7.2系统安装Oracle12C数据库_第25张图片
完成先决条件检查,如果所有设置都符合要求,则会弹出下图:
Centos 7.2系统安装Oracle12C数据库_第26张图片
开始安装:
Centos 7.2系统安装Oracle12C数据库_第27张图片
安装过程中会提示用root账号运行以下两个脚本:
Centos 7.2系统安装Oracle12C数据库_第28张图片
按照提示进行运行即可
Centos 7.2系统安装Oracle12C数据库_第29张图片

bash-3.2# cd /u01/app/oracle/product/11.2.0/dbhome_1/
bash-3.2# sh root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/dbhome_
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Creating /usr/local/bin directory...
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...
Creating /var/opt/oracle/oratab file...
Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

Centos 7.2系统安装Oracle12C数据库_第30张图片
安装完会弹出下图对话框,列出数据库的配置清单
Centos 7.2系统安装Oracle12C数据库_第31张图片
Centos 7.2系统安装Oracle12C数据库_第32张图片
Centos 7.2系统安装Oracle12C数据库_第33张图片

你可能感兴趣的:(笔记)