Linux下 安装Oracle

查看Linux系统信息

查看Linux系统信息

查看Linux系统信息

在这里插入图片描述


CentOS更新yum源

先看CentOS的版本:
$ cat /etc/redhat-release
根据版本下载163镜像的yum,在下载之前先备份:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
之后下载yum源:
CentOS6.5:
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS7:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
如果wget命令不生效,说明还没有安装wget工具,输入yum -y install wget 回车进行安装,或者使用
curl -O http://mirrors.aliyun.com/repo/Centos-7.repo

证书更新:

证书检查

可以先通过rpm命令检查下CA证书,可以发现是2013版的。

$ rpm -qa |grep ca-certificates
ca-certificates-2013.1.94-65.0.el6.noarch

更新:

$  yum --disablerepo=epel -y update ca-certificates

yum update -y # 更新系统命令


修改yum配置,默认同时安装32位和64位rpm

[root@OracleCentOS ~]# echo 'multilib_policy=all' >> /etc/yum.conf

安装Oracle 12c所需rpm包

[root@OracleCentOS ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC unixODBC-devel xterm

添加组

[root@OracleCentOS ~]# groupadd oinstall
[root@OracleCentOS ~]# groupadd dba
[root@OracleCentOS ~]# groupadd oper

添加用户 oracle,主组为oinstall,次组为dba和oper

[root@OracleCentOS ~]# useradd -g oinstall -G dba,oper oracle

查看用户oracle的组

[root@localhost ~]# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper)

设置密码

[root@OracleCentOS ~]# passwd oracle

------------------------------可选--------------
添加用户osasm
[root@OracleCentOS ~]# groupadd asmadmin
[root@OracleCentOS ~]# useradd osasm
[root@OracleCentOS ~]# usermod -g oinstall -G asmadmin,dba,operosasm
[root@OracleCentOS ~]# passwd osasm我设的是 find1way


修改配置,在limits.conf中添加以下内容

[root@OracleCentOS ~]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle stack nproc 16384

编辑/etc/pam.d/login文件

[root@OracleCentOS ~]# vi /etc/pam.d/login  
# 添加以下内容  
session required /lib/security/pam_limits.so  
session required pam_limits.so

编辑 /etc/sysctl.conf文件

[root@OracleCentOS ~]# vi /etc/sysctl.conf

#同时可以拥有的的异步IO请求数目
fs.aio-max-nr = 1048576
#表示一个进程可以打开的文件句柄的最大数量.
fs.file-max = 6815744
#定义了共享内存段的最大尺寸,可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可
kernel.shmmax = 8589934592
#系统任意时刻可以分配的所有共享内存段的总和的最大值
kernel.shmall =2097152
#设置系统范围内共享内存段的最大数量,也是系统中可以启动的Oracle实例的最大数量
kernel.shmmni = 4096
#表示设置的信号量
kernel.sem = 250 32000 100 128
#专用服务器模式下与用户进程通信时分配给用户的端口区间
net.ipv4.ip_local_port_range = 9000 65000
#默认接收缓冲区大小
net.core.rmem_default = 262144
#接收缓冲区最大值
net.core.rmem_max = 4194304
#默认的发送缓冲区大小
net.core.wmem_default = 262144
#发送缓冲区最大值
net.core.wmem_max = 1048586

使用以下命令让内核一更改生效

[root@OracleCentOS ~]# sysctl -p

如果出现

  1. error: “net.bridge.bridge-nf-call-ip6tables” is an unknown key
  2. error: “net.bridge.bridge-nf-call-iptables” is an unknown key
  3. error: “net.bridge.bridge-nf-call-arptables” is an unknown key
    先执行
# modprobe bridge -- 加载bridge模块

修改大内存限制

查看oracle用户组的id

[root@oraclecentOS ~]# id oracle  
uid=501(oracle) gid=502(oinstall) groups=502(oinstall),503(dba),504(oper)

将dba组id(这里是503)添加到系统内核中

[root@oraclecentOS ~]# echo 503 > /proc/sys/vm/hugetlb_shm_group

[root@OracleCentOS ~]#vi /etc/sysctl.conf
添加vm.hugetlb_shm_group=503
[root@OracleCentOS ~]# sysctl -p

配置网络

[root@oraclecentOS ~]# hostname
oraclecentos
[root@oraclecentOS ~]# vi /etc/hosts
添加 127.0.0.1 oraclecentos

创建相关目录,使用空间最大的分区安装

[root@oraclecentOS ~]# mkdir -p /home/u01/app/
[root@oraclecentOS ~]# chown -R oracle:oinstall /home/u01/app/
[root@oraclecentOS ~]# chmod -R 775 /home/u01/app/

配置环境变量

[root@oraclecentOS ~]# su - oracle
[oracle@oraclecentOS ~]$ echo $SHELL
/bin/bash
[oracle@oraclecentOS ~]$ cd ~
[oracle@oraclecentOS ~]$ vi .bash_profile
添加
umask=022
export TMP=/tmp
export TMPDIR=/tmp
 
[oracle@oraclecentOS ~]$ source .bash_profile

本地安装 X-manger用来读取远程主机的 oracle安装界面

安装完成后新建一个连接,使用 oracle用户登录

启动连接(如果服务器上没有xterm,yum -y install xterm安装一下),
如果出现

已拒绝X11转移申请!
要解决此问题请激活远程SSH服务器的X11转移功能

X11 forwarding依赖“xorg-x11-xauth”软件包,所以必须先安装“xorg-x11-xauth”软件包

yum install xorg-x11-xauth

如果出现

Could not execute auto check for display colors using command /usr/bin/xdpyinfo if the DISPLAY variable is set. Failed

yum install xdpyinfo

查看服务器上 /etc/ssh/sshd_config文件里面的X11Forwarding 是否是yes

修改为yes

将之前上传到oracle用户家目录的安装包文件解压,进入databse目录,然后执行安装脚本

/home/oracle/oraclelinuxx64_12201_database.zip
unzip oraclelinuxx64_12201_database.zip
cd database
./runInstaller

不创建容器插件,不使用pdb

内存使用操作系统内存的60%-80%,如果报错INS-35172,是共享内存不够,修改后重启机器,参见https://www.linuxidc.com/Linux/2015-07/120183.htm

MEMORY_TARGET=物理内存 x 80%
MEMORY_MAX_SIZE=物理内存 x 80%

对于OLTP系统:
SGA_TARGET=(物理内存 x 80%) x 80%
SGA_MAX_SIZE=(物理内存 x 80%) x 80%
PGA_AGGREGATE_TARGET=(物理内存 x 80%) x 20%

对于DSS系统:
SGA_TARGET=(物理内存 x 80%) x 50%
SGA_MAX_SIZE=(物理内存 x 80%) x 50%
PGA_AGGREGATE_TARGET=(物理内存 x 80%) x 50%

这里不使用自动内存管理

这里密码为FIND1way12345

这里下一步会检查安装需要的环境,如果有没有装的包安装以下,然后check again,一定要没有任何警告和错误再安装

安装之前需要关闭服务器的iptables

service iptables stop

点击install之后,其中有一步需要使用root执行,按提示进入终端,使用root登录,分别执行提示中给出的两个脚本,第二个脚本的选项按默认执行,一路回车,不需要选择,有一步问是否需要安装TFA,默认是不安装,直接回车

# chkconfig  ntpd on 执行这个

如果提示这个,进入终端

su - oracle 

手工启动以下监听

lsnrctl start

然后retry


安装完成之后如果有错误,可以查看日志

cd /home/u01/app/oraInventory/logs

安装完成后修改 .bash_profile

[oracle@oraclecentOS ~]$ vi .bash_profile  
添加以下内容  
########## for Oracle ##########
ORACLE_BASE=/home/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_HOME
ORACLE_SID=orcl
export ORACLE_SID
PATH=$PATH:.:$ORACLE_HOME/bin
export PATH

监听文件: /home/u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
监听日志: /home/u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

测试一下启动停止

su - oracle
cd $ ORACLE_HOME/bin

启动

dbstart
lsnrctl start

停止

dbshut
lsnrctl stop

查看监听状态

lsnrctl stat

dbstart dbstop没有提示

修改 /etc/oratab

orcl:/home/oracle/app/oracle/product/12.2.0/dbhome_1:N

N改成Y

启动错误:

[oracle@oracle11g ~]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME

错误原因
dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题
解决方法
分别打开两个文件找到:ORACLE_HOME_LISTNER= 1 , 修改为 O R A C L E H O M E L I S T N E R = 1,修改为 ORACLE_HOME_LISTNER= 1,修改为ORACLEHOMELISTNER=ORACLE_HOME,命令如下:

[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbstart
[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbshut

修改后保存退出,问题解决

运行日志文件:

/home/u01/app/oracle/product/12.2.0/dbhome_1/rdbms/log

启动,关闭,数据库操作日志

/home/u01/app/oracle/admin/orcl/adump
/home/u01/app/oracle/admin/orcl/dpdump

监听日志

$ORACLE_HOME/ listener.log
/home/u01/app/oracle/product/12.2.0/dbhome_1/network/log/

监听日志停止记录,开启记录

lsnrctl set log_status off
lsnrctl set log_status on

猜你喜欢

转载自blog.csdn.net/Laputa_Castle/article/details/117773688