Cenots7下安装Oracle

简介: Cenots7下安装Oracle

centos系统安装

Centos下载地址

Centos系统安装参考网址

Centos系统安装添加分区参考

网络配置

CentOS7更换yum国内源

本次安装的oracle版本为11gr2

oracle准备工作

检查硬盘分区

比如说我们要安装在根目录下,我要需要看根目下是否有足够的空间来存放,大概需要15G的空间。

20190907150948539.png

查看swap分区:最少需要3g以上

20190907151159993.png

关闭防火墙

systemctl stop firewalld

安装oracle 11gR2 依赖的组件包

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers

需要添加额外的两个rmp包,进行强制安装

rpm包下载地址

https://pan.baidu.com/s/1UpJux1wsX4wJJRe352mKKg

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm --force --nodeps
rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm --force --nodeps

20190907153135180.png

如果还缺少包可以参考下面的

Oracle11gR2在CentOS7.4上安装,缺少如下19个包

yum install -y gcc libaio glibc.i686 compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf-devel glibc-devel glibc-headers gcc-c++ libaio-devel libaio-devel.i686 libgcc.i686 libstdc++ libstdc++.i686 unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686 ksh

调整内核参数

部分参数,在Oracle安装过程中,可自动修复(使用root用户执行Oracle安装程序给出的修复脚本),但是有部分不能自动修复。

vim /etc/sysctl.conf

末尾添加

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
fs.aio-max-nr = 1048576

使得参数生效

sysctl -p

修改配置文件

修改vim /etc/security/limits.conf

为了提高软件运行性能,需要对oracle用户设置限制。

linux对用户所使用的文件以及进程数都做了限制,我们需要修改下

在末尾添加如下设置

#oracle settings
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 65536
oracle hard nofile 65536

修改vi /etc/pam.d/login

#添加以下内容:

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

修改vi /etc/profile

验证当前的ulimits,并启用。

#添加以下内容:

if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
   else
      ulimit -u 16384 -n 65536
   fi
fi

#修改vi /etc/csh.login

#添加以下内容:

if ( $USER == "oracle" ) then
     limit maxproc 16384
     limit deors 65536
endif

创建oracle账号

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

设置密码

20190907161727253.png

创建oracle的安装目录

需要把这些目录的权限交给oracle用户

mkdir -p /oracleData/oracle
mkdir -p /oracleData/oralnventory
mkdir -p /oracleData/software
chown -R oracle:oinstall /oracleData/oracle
chown -R oracle:oinstall /oracleData/software
chown -R oracle:oinstall /oracleData/oralnventory

设置用户环境变量

切换到orace用户

#su oracle

在oracle目录下执行

$ vi .bash_profile

#添加以下内容:

ORACLE_SID=ORCL;
export ORACLE_SID
ORACLE_BASE=/oracleData/oracle;
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; 
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin; 

ORACLE_BASE下是admin和product

ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener等等一系列的东东。

这只是ORACLE自己的定义习惯。ORACLE_HOME比ORACLE_BASE目录要更深一些。也就是说:ORACLE_HOME=$ORACLE_BASE/product/version

ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。

简单说,你如果装了2个版本的oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME是2个

全局数据库名用于区别分布式数据库各个不同机器上的实例。

SID用于区别同一台机器上的不同实例,

即一个用于外部区分。

一个用于内部区分。

配置生效

source .bash_profile
su - oracle

加了”-“,是以login shell登陆的,所以会设置环境变量,如果不加,使用的还是切换前用户的环境变量

配置hosts文件

vim /etc/hosts

添加ip和主机名

20190907200800134.png

安装oracle

把软件上传到创建的文件夹下,并按照1,2的顺序解压,就会有database目录

20190907232915406.png

使用静默的方式安装

进入到database目录下

有三个文件

db_install.rsp:安装应答

dbca.rsp:创建数据库应答

netca.rsp:建立监听、本地服务名等网络设置的应答

修改response目录中的db_install.rsp文件的参数:

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=bushro
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/oracleData/oralnventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/oracleData/oracle/product/11.2.0/db_1
ORACLE_BASE=/oracleData/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
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=ZHS16GBK
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.automatedBackup.enable=false
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true

各个参数表示的意思

进行安装

./runInstaller -silent -responseFile /oracleData/software/database/response/db_install.rsp -ignorePrereq

根据提示查看日志

tail -f /oracleData/oralnventory/logs/installActions2019-09-08_12-28-09AM.log
• 1

出现这个说明安装成功

20190908004153405.png

需要执行两个相关修改权限的脚本(要切换为root用户),执行完毕切换回oracle用户

进入oracleData/oracle/product/11.2.0/db_1/ 执行root.sh脚本

进入/oracleData/oralnventory 执行orainstRoot.sh脚本

配置静默监听

通过response文件运行netca, 生成sqlnet.ora和listener.ora文件, 位于$ORACLE_HOME/network/admin目录下

netca -silent -responsefile /oracleData/software/database/response/netca.rsp

报错

20190908005507292.png

需要设置一个DISPLAY环境变量:设置为本机ip就好了

export DISPLAY=192.168.233.129:0.0

再次运行成功,就可以查看1521端口是否在监听

20190908010441153.png

静默建库

修改response目录下的dbca.rsp文件:

SID=“ORCL” //149行SID

GDBNAME = “ORCL.bushro” //78行

20190908010704807.png

dbca -silent -responseFile  /oracleData/software/database/response/dbca.rsp

屏幕突然清屏,刚刚开始不知道是怎么回事以为出错了,百度了下说是要输入账号和密码,输入账号后需要按enter,然后输入密码按enter,需要等待。。。

一开始不知道创建了%1然后删除了,再次执行命令出错说SID已经存在

删除SID的方式

/oracleData/oracle/oradata 目录下的ORCL

/oracleData/oracle/admin 目录下的ORCL

用root用户以远程登录模式编辑etc/oratab,删除最后一 行: xxx:/xx/oracle:N ,保存 退出问题解决。


再次执行命令


2019090801361055.png

启动oracle

sqlplus / as sysdba

20190908014029993.png

又报错了

修改oracle用户目录下的.bash_profile把ORACLE_SID小写改成大写

重新加载 su - oracle

如果还不行的话试试这个方法

https://www.jianshu.com/p/3eec26c6ac43

20190908021533253.png

手动注册监听

在/oracleData/oracle/product/11.2.0/db_1/network/admin/listener.ora下添加监听

SID_LIST_LISTENER =  
(SID_LIST =  
  (SID_DESC =  
  (GLOBAL_DBNAME = orcl)
  (SID_NAME = orcl)
  )
)

注:里面的orcl根据你安装的数据库实例名确定

20190913154524438.png

基本操作

启动监听、关闭监听、查看监听状态

lsnrctl start
lsnrctl stop
lsnrctl status

  • 数据库启动分为三个步骤:
    SQL> startup nomount; //启动实例,不加载数据库
    SQL> alter database mount; //加载数据库(挂起)
    SQL> alter database open; //打开数据库
    等同于 SQL> startup
  • 进入sqlplus,命令:
    sqlplus /nolog
  • 管理员sysdba权限登陆oracle:
    conn /as sysdba
  • 启动服务(实例):

     startup

  • 关闭服务(实例):
    shutdown immediate

开机启动设置

在etc/init.d目录下创建,开机启动脚本

#!/bin/bash 
#desciption:Oracle 自动启动和关闭数据库实例和监听
#chkconfig:345 66 66
#
#Set ORA_HOME TO to be equivalent to the $ORACLE_HOME
#from which you wish to execute dbstart and dbshut;
#设置你自己的 oracle 安装路径。
#Set ORA_OWNER to the user id of the owner of the
#Oracle database in ORA_HOME.
export ORA_BASE=/oracleData/oracle
export ORA_HOME=/oracleData/oracle/product/11.2.0/db_1;
export ORACLE_USER=oracle
#判断 dbstart 文件
case $1 in
    start)
    su - "$ORACLE_USER"<<EOO
    lsnrctl start
    sqlplus /nolog<<EOS
    connect / as sysdba
    startup
EOS
    emctl start dbconsole
EOO
touch /var/lock/subsys/$scriptname
    ;;
    stop)
su - "$ORACLE_USER"<<EOO
    lsnrctl stop
    sqlplus /nolog<<EOS
    connect / as sysdba
    shutdown immediate
EOS
    emctl stop dbconsole
EOO
rm -f /var/lock/subsys/scriptname
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    ;;
esac

在上面的这个脚步中,EOO或EOS一个分界符,这个分界符可以用你喜欢的任意字符代替。当Shell在执行脚步时,发现"<<"后,就把下个词当做分界符,而在分界符后面的内容都被当做输入,直到Shell再次发现此分界符时,才认为输入结束。也就是说分界符都是成对出现的。


修改脚本权限,让它变为可执行的

chmod 777 oracle

我们就可以使用简单的指令来启动oracle服务了

service oracle start
service oracle stop
相关文章
|
1月前
|
存储 Oracle 关系型数据库
|
1月前
|
Oracle 关系型数据库 网络安全
Oracle 19c 安装教程学习
Oracle 19c 安装教程学习
56 2
|
3月前
|
机器学习/深度学习 Oracle 关系型数据库
Oracle 19c单机一键安装脚本分享
Oracle 19c单机一键安装脚本分享
197 2
|
4月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
305 3
|
5月前
|
SQL Oracle 关系型数据库
Oracle数据库基础教程:从安装到基本操作的全面介绍
Oracle数据库基础教程:从安装到基本操作的全面介绍
211 10
|
4月前
|
SQL Oracle 关系型数据库
Oracle数据库基础教程:从安装到基本操作的全面介绍
Oracle数据库基础教程:从安装到基本操作的全面介绍
|
5月前
|
Oracle 数据可视化 关系型数据库
Oracle数据库安装及使用Navicat连接oracle2
Oracle数据库安装及使用Navicat连接oracle
|
5月前
|
Oracle 安全 关系型数据库
Oracle数据库安装及使用Navicat连接oracle1
Oracle数据库安装及使用Navicat连接oracle
|
5月前
|
Oracle 关系型数据库 数据库
Oracle 11G数据库安装步骤及截图操作2
Oracle 11G数据库安装步骤及截图操作
62 0
|
5月前
|
Oracle 安全 关系型数据库
Oracle 11G数据库安装步骤及截图操作1
Oracle 11G数据库安装步骤及截图操作
106 0