ORACLE_OCP之在CENTOS 7上安装Oracle12cR2,基于ASM存储的单实例数据库

ORACLE_OCP之在CENTOS 7上安装Oracle12cR2,基于ASM存储的单实例数据库

1、检查主机名和网络并且配置/etc/hosts文件,关闭防火墙
  • 检查防火墙状态

    systemctl status firewalld.service

  • 暂时关闭防火墙,下次启动时防火墙仍随系统启动而启动

    systemctl stop firewalld.service

  • 彻底永久关闭防火墙

    systemctl disable firewalld.service

  • 关闭SELINUX防火墙!

    vi /etc/selinux/config
    将内容
    SELINUX=enforcing
    更改为
    SELINUX=disabled

2、安装ORACLE先决条件的软件包
yum install -y bc
yum install -y compat-libcap1*
yum install -y compat-libcap*
yum install -y binutils 
yum install -y compat-libstdc++-33 
yum install -y elfutils-libelf 
yum install -y elfutils-libelf-devel 
yum install -y gcc 
yum install -y gcc-c++ 
yum install -y glibc-2.5 
yum install -y glibc-common 
yum install -y glibc-devel 
yum install -y glibc-headers 
yum install -y ksh libaio 
yum install -y libaio-devel 
yum install -y libgcc 
yum install -y libstdc++ 
yum install -y libstdc++-devel 
yum install -y make 
yum install -y sysstat 
yum install -y unixODBC 
yum install -y unixODBC-devel
yum install -y binutils*
yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install -y libXp*
yum install -y glibc-kernheaders
yum install -y net-tools-*
3、修改LINUX的内核文件
vim /etc/sysctl.conf
kernel.shmmax = 277495689510912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.file-max = 6815744
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
#net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 6
net.ipv4.tcp_keepalive_intvl = 5
net.ipv4.tcp_timestamps = 0
fs.aio-max-nr = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2

参数说明:
fs.file-max  //文件句柄数  一次可以打开文件的个数
kernel.shmall //公式:内存大小*1024*1024*1024/4*1024 //表示所有内存大小(单位:页=4K)                               
kernel.shmmax //表示最大共享内存大小,一般为物理内存的3/4 但是常用的就是将所有内存换算成字节后-1(单位:字节)
kernel.shmmni = 4096 //表示最小共享内存固定4096KB 一般是固定值
kernel.sem //4个参数依次是SEMMSL:每个用户拥有信号量最大数,SEMMNS:系统信号量最大数,SEMOPM:每次semopm系统调用操作数,SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小
net.ipv4.ip_local_port_range = 9000 65500 //ip_local_port_range表示端口的范围,为指定的内容 一般是固定值
net.core.rmem_default //表示套接字接收缓冲区大小的缺省值
net.core.rmem_max //表示套接字接收缓冲区大小的最大值。
net.core.wmem_default //表示套接字发送缓冲区大小的缺省值。
net.core.wmem_max //表示套接字发送缓冲区大小的最大值。
  • 参数编辑完成后执行下面的命令

    [root@localhost ~]# sysctl -p 生成系统参数

4、添加下列参数到/etc/security/limits.conf
vim /etc/security/limits.conf

oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728

grid   soft   nofile    1024
grid   hard   nofile    65536
grid   soft   nproc    16384
grid   hard   nproc    16384
grid   soft   stack    10240
grid   hard   stack    32768
grid   hard   memlock    134217728
grid   soft   memlock    134217728
5、添加下列条目到/etc/pam.d/login 这两个主要是限制使用进程数可以不用了解
vim /etc/pam.d/login
//32位
session required /lib/security/pam_limits.so
session required pam_limits.so
//64位
session    required     /lib64/security/pam_limits.so
session    required     pam_limits.so
6、环境变量中添加下列语句
vim /etc/profile

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
      else
      ulimit -u 16384 -n 65536
   fi
fi
  • 然后执行生效

    [root@localhost ~]# source /etc/profile

7、创建文件目录和相应的用户
groupadd -g 601 oinstall
groupadd -g 602 dba
groupadd -g 603 oper
groupadd -g 604 backupdba
groupadd -g 605 dgdba
groupadd -g 606 kmdba
groupadd -g 607 asmdba
groupadd -g 608 asmoper
groupadd -g 609 asmadmin
useradd -u 601 -g oinstall -G asmadmin,asmdba,dba,asmoper grid
useradd -u 602 -g oinstall -G dba,backupdba,dgdba,kmdba,asmadmin,oper,asmdba oracle

//为GRID用户和ORACLE用户设置密码
[root@localhost ~]# echo grid | passwd --stdin grid
Changing password for user grid.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo grid | passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.

//创建目录
//以root用户,创建Oracle Inventory 目录
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory

//以root用户,创建GI HOME目录
mkdir -p /u01/app/grid
mkdir -p /u01/app/12.2.0/grid
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid
chown -R grid:oinstall /u01/app/12.2.0
chmod -R 775 /u01/app/12.2.0/

//我们一会而需要把grid软件的安装包放到 /u01/app/12.2.0/grid 这个目录下
//以root用户,创建Oracle Base目录
mkdir -p /u01/app/oracle
mkdir /u01/app/oracle/cfgtoollogs 
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

//以root用户,创建Oracle RDBMS Home目录
mkdir -p /u01/app/oracle/product/12.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle/product/12.2.0/db_1
chmod -R 775 /u01/app/oracle/product/12.2.0/db_1
8、配置GRID和ORACLE用户的环境变量
su - grid
#grid用户的环境变量如下:
vim ~/.bash_profile

PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.2.0/grid
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib  
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ];then
            ulimit -p 16384
            ulimit -n 65536
        else
            ulimit -u 16384 -n 65536
        fi
    umask 022
fi

生成用户的环境变量
[grid@localhost ~]$ . ~/.bash_profile
 
su - oracle
#oracle用户的环境变量如下:
vim ~/.bash_profile

PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1
export ORACLE_SID=orcl
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib  
export PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/12.2.0/db_1/bin:$ORACLE_HOME/bin
export THREADS_FLAG=native;export THREADS_FLAG
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ];then
            ulimit -p 16384
            ulimit -n 65536
        else
            ulimit -u 16384 -n 65536
        fi
    umask 022
fi

生成环境变量
.[oracle@localhost ~]$ . ~/.bash_profile
  • 检测UDEV是否安装

    [root@localhost ~]# rpm -qa|grep udev
    python-pyudev-0.15-9.el7.noarch

8、配置磁盘 使用ROOT用户 先决条件是已经在虚拟机中添加了两块磁盘驱动器

在这里插入图片描述

vim /etc/udev/rules.d/60-raw.rules 
ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="raw[1-3]",OWNER="grid",GROUP="oinstall",MODE="660"
  • 添加完了重新启动系统
  • 检查磁盘是否生效 -> cd /dev/raw 下查看你添加的raw1 raw2 raw3有没有出现,并且使用ll或ls -al命令去看一下相关权限和相应的属性

    [root@localhost ~]# cd /dev/raw
    [root@localhost raw]# ls
    raw1 raw2 raw3 rawctl
    [root@localhost raw]#

9、上传软件并且解压
  • 需要把grid软件的安装包放到 /u01/app/12.2.0/grid 这个目录下

  • 下载并解压

    修改所属和权限,这里我为了方便直接给了777,最高。
    -rwxrwxrwx 1 grid oinstall 2994687209 Jan 7 08:14 linuxx64_12201_grid_home.zip
    在这里插入图片描述

    //这个文件root用户下做操作
    在这里插入图片描述

10、安装GRID

[root@localhost u01]# su - grid
[grid@localhost.localdomain:/home/grid]$cd /u01/app/12.2.0/grid/
[grid@localhost.localdomain:/u01/app/12.2.0/grid]$export DISPLAY=192.168.190.1:0.0
[grid@localhost.localdomain:/u01/app/12.2.0/grid]$./gridSetup.sh

  • 执行gridSetup.sh安装脚本弹出以下安装界面

在这里插入图片描述

在这里插入图片描述

  • raw*:这个是我们设置挂载的时候的名字

在这里插入图片描述

  • 点击ok之后出现以下界面,随意选择其中一个即可,这里我选择了第一个,然后点击下一步
    在这里插入图片描述
  • 设置一个密码,这里会弹出一个确认弹窗,点击yes
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • Checks出来此时系统缺少一些必备软件,我们需要把他们都安装上。(不同的环境会有不同的检查结果,不一定是一样的,根据实际情况安装提示的软件即可)
    在这里插入图片描述
  • 所有告警软件都安装完成之后点击Check again,显示如下,即是检查通过
    在这里插入图片描述
    在这里插入图片描述
  • 点击install,安装
    在这里插入图片描述
  • 中途会弹出这个窗口,让你执行相关脚本,直接去root下执行就行
    在这里插入图片描述
  • 完成,点击close
    在这里插入图片描述
  • rlwrap软件配置
    rlwrap-0.37-1.el6.x86_64.rpm 该软件务必在ROOT用户下安装,如果切换到ORACLE用户下安装可能会发生相关的权限问题

su - grid
vim /home/grid/.bash_profile
#添加如下:
alias sqlplus=‘rlwrap sqlplus’
alias rman=‘rlwrap rman’
alias asmcmd=‘rlwrap asmcmd’

  • 添加完内容后保存退出 并执行以下命令来生成环境变量

    . /home/grid/.bash_profile

11、检查ASM的状态:

crsctl stat res -t

[grid@localhost.localdomain:/home/grid]$crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATADG.dg
               ONLINE  ONLINE       localhost                STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       localhost                STABLE
ora.asm
               ONLINE  ONLINE       localhost                Started,STABLE
ora.ons
               OFFLINE OFFLINE      localhost                STABLE	#不用关心
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       localhost                STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE	#不用关心
ora.evmd
      1        ONLINE  ONLINE       localhost                STABLE
--------------------------------------------------------------------------------
12、安装oracle12c
- 在oracle用户下的.bash_profile文件中添加一下两个别名
如果你当前是oracle用户的话 直接使用 vim /home/oracle/.bash_profile进入到环境变量文件(绝对路径)
- 如果你当前不是oracle用户的话请执行以下命令
	>su - oracle
	vi /home/oracle/.bash_profile
	#将下面三行文字粘贴进该文件中即可
	alias sqlplus='rlwrap sqlplus'
	alias rman='rlwrap rman'

	- 添加完内容后保存退出 并执行以下命令来生成环境变量
		>. /home/oracle/.bash_profile

#进入到oracle用户中,cd /u01/database/ 执行runinstall
[oracle@localhost.localdomain:/home/oracle]$export DISPLAY=192.168.190.1:0.0
[oracle@localhost.localdomain:/home/oracle]$ls
[oracle@localhost.localdomain:/home/oracle]$cd /u01/database/
[oracle@localhost.localdomain:/u01/database]$ls
install  response  rpm  runInstaller  sshsetup  stage  welcome.html
[oracle@localhost.localdomain:/u01/database]$./runInstaller
  • 执行runinstall脚本弹出,点击是
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 安装。
    在这里插入图片描述
  • 安装过程中会弹出,如下的弹窗,root执行脚本。
    在这里插入图片描述
  • 安装完毕,点击close
    在这里插入图片描述
  • 执行dbca建库

    [oracle@localhost.localdomain:/u01/database]$dbca
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 设置oracle密码
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 安装
    在这里插入图片描述
  • 完成,点击close
    在这里插入图片描述
到此我们整个安装过程就完成了!!!
最后,启动EM EXPRESS
//oracle用户下:
lsnrctl start

SQL> select dbms_xdb_config.gethttpsport() from dual;
SQL> select dbms_xdb_config.gethttpport() from dual;

设置em端口
//设置https端口的端口号
exec dbms_xdb_config.setHTTPSPort(8089); 
//设置http端口的端口号
exec dbms_xdb_config.setHTTPPort(8090);


SQL> exec dbms_xdb_config.setHTTPSPort(8089);

PL/SQL procedure successfully completed.

SQL> exec dbms_xdb_config.setHTTPPort(8090);

PL/SQL procedure successfully completed.

SQL>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值