centos7+oracle11gR2

环境:Centos7.4(X86_64)+Oracle11gR2(X86_64)

记录目的:装过几次oracle,步骤感觉比较繁琐,一些设置记不住,这里做个记录留待自己以后装的时候方便使用。

1、创建oracle相关用户及用户组
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle
    passwd oracle 
关于oracle组的介绍:
理论上按照需要3种用户组,实际只建两个oinstall和dba,后面再安装oracle数据库的时候把OSOPER组也设置是dba组。
a.oracle 清单组(一般为oinstall):
 OINSTALL 组的成员被视为 Oracle 软件的“所有者”,拥有对 Oracle 中央清单 (oraInventory) 的写入权限。在一个 Linux 系统上首次安装 Oracle 软件时,

 OUI 会创建 /etc/oraInst.loc 文件。该文件指定 Oracle 清单组的名称(默认为 oinstall)以及 Oracle 中央清单目录的路径。

b.数据库管理员(OSDBA,一般为 dba):

 OSDBA 组的成员可通过操作系统身份验证使用 SQL 以 SYSDBA 身份连接到一个 Oracle 实例。该组的成员可执行关键的数据库管理任务,如创建数据库、启动和关
 闭实例。该组的默认名称为dba。SYSDBA 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。不要混淆 SYSDBA 

 系统权限与数据库角色 DBA。DBA 角色不包括 SYSDBA 或 SYSOPER 系统权限。

c.数据库操作员组(OSOPER,一般为 oper):

 OSOPER 组的成员可通过操作系统身份验证使用 SQL 以 SYSOPER 身份连接到一个 Oracle 实例。这个可选组的成员拥有一组有限的数据库管理权限,如管理和运行备份。
 该组的默认名称为oper。SYSOPER 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。要使用该组,选择 Advanced 安装类型来安装 Oracle 数据库软件。

 2.修改操作系统核心参数
在Root用户下执行以下步骤:
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
    oracle soft nproc 2047
    oracle hard nproc 16384 
    oracle soft nofile 1024 
    oracle hard nofile 65536
编辑完成后按Esc键,输入“:wq”存盘退出
注:打开文件描述符的最大数量     nofile
      单个用户可用的最大进程数     nproc
      进程堆栈段的最大大小            stack
2)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144 
net.core.wmem_max = 1048576
编辑完成:wq保存退出,执行sysctl -p 使配置生效
3)编辑/etc/profile,新增以下内容
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

注:ulimit参数说明

选项 [options]  含义          例子
-H 设置硬资源限制,一旦设置不能增加。  ulimit – Hs 64;限制硬资源,线程栈大小为 64K。
-S  设置软资源限制,设置后可以增加,但是不能超过硬资源设置。  ulimit – Sn 32;限制软资源,32 个文件描述符。
-a  显示当前所有的 limit 信息。  ulimit – a;显示当前所有的 limit 信息。
-c  最大的 core 文件的大小, 以 blocks 为单位。  ulimit – c unlimited; 对生成的 core 文件的大小不进行限制。
-d  进程最大的数据段的大小,以 Kbytes 为单位。  ulimit -d unlimited;对进程的数据段大小不进行限制。
-f  进程可以创建文件的最大值,以 blocks 为单位。  ulimit – f 2048;限制进程可以创建的最大文件大小为 2048 blocks。
-l  最大可加锁内存大小,以 Kbytes 为单位。  ulimit – l 32;限制最大可加锁内存大小为 32 Kbytes。
-m  最大内存大小,以 Kbytes 为单位。  ulimit – m unlimited;对最大内存不进行限制。
-n  可以打开最大文件描述符的数量。  ulimit – n 128;限制最大可以使用 128 个文件描述符。
-p  管道缓冲区的大小,以 Kbytes 为单位。  ulimit – p 512;限制管道缓冲区的大小为 512 Kbytes。
-s  线程栈大小,以 Kbytes 为单位。  ulimit – s 512;限制线程栈的大小为 512 Kbytes。
-t  最大的 CPU 占用时间,以秒为单位。  ulimit – t unlimited;对最大的 CPU 占用时间不进行限制。
-u  用户最大可用的进程数。  ulimit – u 64;限制用户最多可以使用 64 个进程。
-v  进程最大可用的虚拟内存,以 Kbytes 为单位。  ulimit – v 200000;限制最大可用的虚拟内存为 200000 Kbytes。

4)创建数据库安装目录并授权

mkdir -p /home/data/oracle
mkdir -p /home/data/oraInventory
mkdir -p /home/data/database
chown -R oracle.oinstall /home/data
5)设置oracle用户环境变量
vi /home/oracle/.bash_profile
export ORACLE_BASE=/home/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

6)检查oracle依赖包是否安装

rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

若有没有安装的直接安装对应的包,因为有版本需求,我这里是直接将涉及的这几个包都做了更新

yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

7)使用oracle用户 上传数据库安装文件到/home/data/database下 ,并 解压两个zip包,解压完成后在database目录下会生成一个新的database目录(若用root执行,勿忘更改用户组)

8)cd 到/home/data/database/database/ 下执行./runInstaller









使用Fix&CheckAgain可以创建修复的脚本,执行脚本可以修复一些内核设置,另外如果上面执行的安装依赖包没有问题,这块可以跳过,然后一路next直到完成安装。

创建监听:

执行netca 

若有此种报错:

/data/oracle/product/11.2.0/db_1/bin/netca: line 178:  8033 Aborted                 (core dumped) $JRE $JRE_OPTIONS -classpath $CLASSPATH oracle.net.ca.NetCA $*

说明当前主机名解析有问题,需要在/etc/sysconfig/network中加入hostname=***  ,编辑/etc/hosts 加入对应的ip和主机名

为了使配置实时生效,shell中执行hostname=***,登陆到oracle账户重新执行netca即可。

启动与停止:

ORACLE启动监听器
(1)切换至oracle安装用户(一般为oracle)
su - oracle 
(2)启动监听器
lsnrctl start 
(3)停止监听器

lsnrctl stop

4)启动数据库实例
startup
5)停止实例
shutdown immediate

4、启动测试oracle:
[oracle@oracle ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 27 02:12:12 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.

SQL> startup

创建开机启动 编辑/etc/rc.d/rc.local,编辑完成后授予执行权限。

su oracle -lc "/home/data/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/home/data/oracle/product/11.2.0/db_1/bin/dbstart "

猜你喜欢

转载自blog.csdn.net/woshiji594167/article/details/80886548