Linux Oracle19C静默安装

安装包下载路径
https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html#19c

一、安装前准备

1.关闭防火墙,禁止防火墙开机自启

systemctl stop firewalld.service --关闭防火墙
systemctl disable firewalld.service -- 禁止防火墙开机启动
systemctl status firewalld.service  -- 查看防火墙状态

关闭防火墙

2.关闭selinux

vi /etc/selinux/config -- 编辑文件
SELINUX=disabled  --修改

关闭selinux

3.yum安装必要安装包

若执行一遍失败则执行第二遍

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

检查是否安装成功(31个安装包)

rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

二、创建用户组

1.创建oinstall和dba组

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba

2.创建oracle用户

/usr/sbin/useradd -g oinstall -G dba oracle

3.设置oracle密码

passwd oracle

4.查看创建结果

id oracle

三、修改内核参数

1.编辑配置文件

vi /etc/sysctl.conf

2.文件内容添加

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

修改内核参数

3.使配置生效

/sbin/sysctl -p

四、修改配置

1.修改用户限制

1)编辑文件

vi  /etc/security/limits.conf

2)在文件末尾添加以下内容

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240

2.修改 /etc/pam.d/login

vi  /etc/pam.d/login

添加以下内容

session required /lib64/security/pam_limits.so
session required pam_limits.so

3.修改/etc/profile

vi /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

使配置生效

source /etc/profile

4.创建目录

如何linux曾经安装过oracle,通过 echo $ORACLE_HOME 查看是否有环境变量目录,如果有根据环境变量目录来创建文件夹。

mkdir -p /u01/app/oracle/product/12/db_1
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/

mkdir -p /home/oracle/etc
chown -R oracle:oinstall /home/oracle/etc
chmod -R 775 /home/oracle/etc

mkdir -p /home/data
chown -R oracle:oinstall /home/data
chmod -R 775 /home/data

5.配置oracle环境变量

vi /home/oracle/.bash_profile   

如果没有找到/home/oracle/.bash_profile 执行下面命令

cp /etc/skel/.bash_logout  /home/oracle/    
cp /etc/skel/.bash_profile /home/oracle/
cp /etc/skel/.bashrc  /home/oracle/

在末尾添加以下内容:

export ORACLE_SID=orcl    #数据库database.rsp中的SID 
export ORACLE_BASE=/u01/app/oracle                   #BASE目录
export ORACLE_HOME=$ORACLE_BASE/product/12/db_1   #oracle安装包的目录
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/lib/usr/lib:/usr/local/lib
export TEMP=/tmp
export TMP=/tmp
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

set -o vi
stty erase ^h

if [ -t 0 ]; then
   stty intr ^C
fi
umask 022

使用 source /home/oracle/.base_profile 使oracle的环境变量生效。

五、ORACLE 19c 静默安装

1.上传ORACLE 19C 的安装包至/u01/app/oracle/product/12/db_1目录下并解压。

1)切换至oracle用户

su - oracle

2)解压安装包

cd /u01/app/oracle/product/12/db_1
unzip LINUX.X64_193000_db_home.zip

2.拷贝ORCALE程序安装和数据库创建的rsp响应文件。

1).把ORCALE程序安装文件拷贝至/orcale/etc/目录下

  cp /u01/app/oracle/product/12/db_1/install/response/db_install.rsp  /home/oracle/etc/
  cp /u01/app/oracle/product/12/db_1/assistants/netca/netca.rsp  /home/oracle/etc/
  cp /u01/app/oracle/product/12/db_1assistants/dbca/dbca.rsp  /home/oracle/etc/

3.修改db_install.rsp配置文件

vi /home/orcale/etc/db_install.rsp

修改以下内容:

oracle.install.option=INSTALL_DB_SWONLY  #安装类型
UNIX_GROUP_NAME=oinstall #安装组
INVENTORY_LOCATION=/u01/app/oraInventory #INVENTORY目录
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE  #ORCALE版本
oracle.install.db.OSDBA_GROUP=dba  #dba用户组
oracle.install.db.OSOPER_GROUP=dba     #dba用户组
oracle.install.db.OSBACKUPDBA_GROUP=dba #dba用户组
oracle.install.db.OSDGDBA_GROUP=dba #dba用户组
oracle.install.db.OSKMDBA_GROUP=dba #dba用户组
oracle.install.db.OSRACDBA_GROUP=dba #dba用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE  //数据库类型
oracle.install.db.config.starterdb.SID=orcl

4.安装ORCALE程序

1)切换用户

su - oracle

2)切换目录

cd  /u01/app/oracle/product/12/db_1

3)执行安装命令

./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq

5.使用root用户执行以上所提示的脚本:

 su - root
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/12/db_1/root.sh

如果以上执行没有/orainstRoot.sh脚本,解决办法:

原因因为/etc/ora文件存在,删除该文件,在重新执行一次。

./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq

6.静默建库配置文件修改

su - oracle
vi /home/oracle/etc/dbca.rsp

创建数据库,修改相应文件,有些参数有默认值就不需要

GDBNAME = "orcl"
SID = "orcl"
templateName=General_Purpose.dbc

7.执行静默建库 (如果第一遍安装过,没有卸载干净。这边可能会报错)

dbca -silent -createDatabase  -responseFile  /home/oracle/etc/dbca.rsp 

输入口令:

sys——sys
system—system

查看进程

ps -ef | grep ora_ | grep -v grep

8.配置监听过程

1)切换用户

su - orcale

2)切换目录

cd /u01/app/oracle/product/12/db_1/bin

3)使用命令配置监听过程

netca /silent/responsefile   /u01/app/oracle/product/12/db_1/assistants/netca/netca.rsp

4)启动监听

查看监听端口 netstat -tnpl | grep 1521
启动 lsnrctl start
查看状态 lsnrctl status

5)激活数据库

sqlplus / as sysdba;
alter system register;

6)创建oracle 用户

create user 用户名 identified by 口令[即密码];
grant connect, resource,dba to 用户名;

六、开机自启动

1.修改/etc/oratab文件

vi /etc/oratab

将页末的N改为Y。

##2. 建立自启动脚本

[root@localhost init.d]# vim /etc/rc.d/init.d/oracle

添加以下内容(有些值如ORACLE_HOME和ORACLE_USER等根据实际情况可以修改):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
#oracle: Start/Stop Oracle Database 19c
#chkconfig: 345 90 10
#description: The Oracle Database is an Object-Relational Database Management System.
#
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/u01/app/oracle/product/12/db_1
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0

3.修改/etc/init.d/oracle服务文件权限

[root@localhost bin]# chmod 755 /etc/init.d/oracle

4.设置为开机启动

[root@seiang11g ~]# chkconfig oracle on

4.进行测试

start:

[root@localhost bin]# service oracle start

stop:

[root@localhost bin]# service oracle stop

restart:

[root@localhost bin]# service oracle restart

status:

[root@localhost bin]# service oracle status

Reboot重启linux。

[root@localhost bin]# reboot

————————————————

原文链接:https://blog.csdn.net/qq_44831069/article/details/120039639