Linux(CentOS 7) 安装Oracle 19c (命令行)

目录

        一、准备阶段

                0、前言

                1、Linux环境信息

                2、安装包准备

                3、修改host和hostname

                4、安装依赖

                5、创建用户及用户组

                6、修改内核参数

                7、添加环境变量

                8、修改用户shell限制 

        二、安装阶段

                1、创建目录以及解压Oracle安装包

                2、修改db_install.rsp

                3、进行安装

                4、启动监听

                5、修改dbca.rsp

                6、创建数据库

                7、使用PL/SQL连接Oracle

 一、准备阶段

0、前言

        供自己在Linux虚拟机或Linux实体机安装Oracle服务器测试,使用Windows连接Oracle服务器使用。所以整理一下安装步骤,备用。

用root操作,需要用oracle用户时,命令里面加su - oracle 切换

1、Linux环境信息

[root@bigdata03 dbca]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@bigdata03 dbca]# uname -a
Linux bigdata03 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@bigdata03 dbca]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        596M        502M        913M        2.6G        2.0G
Swap:          4.4G         11M        4.3G
[root@bigdata03 dbca]# df -h /dev/shm/
文件系统        容量  已用  可用 已用% 挂载点
tmpfs           1.9G  912M  983M   49% /dev/shm

  2、安装包准备

        ① 服务端:

官网下载:  Database Software Downloads | Oracle

选择Linux x86-64  zip包即可

Linux x86-64

ZIP(2.8 GB) 

         ②客户端

官网下载:Instant Client for Microsoft Windows (x64) 64-bit (oracle.com)

因windows的pl/sql developer工具使用,顺手下载了吧。

Basic Package

instantclient-basic-windows.x64-21.6.0.0.0dbru.zip

 3、修改host和hostname

        1、修改hostname

1、临时修改
hostname 新主机名
2、修改文件
echo '新主机名' >/etc/hostname
#注:使用命令也可以 hostnamectl set-hostname 新主机名

        2、修改hosts文件

echo 'ip地址  主机名' >>/etc/hosts

4、安装依赖

官网文档:关于操作系统要求 (oracle.com)

适用于红帽企业版 Linux 7 的软件包

安装以下软件包的最新版本:


bc
binutils
compat-libcap1
compat-libstdc++-33
elfutils-libelf
elfutils-libelf-devel
fontconfig-devel
glibc-devel

ksh
libaio
libaio-devel
libX11
libXau
libXi
libXtst
libXrender
libXrender-devel
libgcc
libstdc++
libstdc++-devel
libxcb
make
smartmontools
sysstat

注意:

如果打算使用 32 位客户端应用程序访问 64 位服务器,则还必须安装(如果可用)此表中列出的包的最新 32 位版本。

先安装 

yum install -y compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio-devel libstdc++-devel elfutils-libelf-devel fontconfig-devel libXrender-devel

5、创建用户及用户组

官方文档:Identifying an Oracle Software Owner User Account

安装完毕的用户信息: 

$ id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba), 
54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54327(asmdba),54330(racdba)

以下为具体执行步骤: 

①添加用户组

因此添加以下8个用户组,并将oracle用户添加到组里。 

groupadd oinstall
groupadd dba
groupadd asmdba
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba
groupadd oper
#添加用户并指定用户组
useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -d /data/soft/oracle -m oracle

解释:Creating Operating System Privileges Groups (oracle.com)

oinstall

oracle清单组

Oracle 软件所有者必须将 Oracle 清单组作为其主要组

dba首次在系统上安装 Oracle 数据库软件时,必须创建此组。此组标识具有数据库管理特权 (特权) 的操作系统用户帐户。SYSDBA
operOSOPER 授予操作员启动和关闭数据库的权限(权限)。默认情况下,OSDBA 组的成员具有该特权授予的所有特权。SYSOPERSYSOPER
backupdba

用于 Oracle 数据库的操作系统备份数据库组(通常为:backupdba)

如果希望一组单独的操作系统用户具有一组有限的数据库备份和恢复相关管理权限(SYSBACKUP 特权),请创建此组。

dgdba

适用于 Oracle 数据卫士的 OSDGDBA 组(通常为:dgdba)

如果您希望一组单独的操作系统用户具有一组有限的权限来管理和监视 Oracle 数据卫士(SYSDG 权限),请创建此组。要使用此权限,请将 Oracle 数据库安装所有者添加为此组的成员。

kmdba

用于加密密钥管理的操作系统数据库数据库组(通常为:kmdba)

如果您希望一组单独的操作系统用户具有一组有限的加密密钥管理权限(如 Oracle 钱包管理器管理(SYSKM 权限),请创建此组。要使用此权限,请将 Oracle 数据库安装所有者添加为此组的成员。

racdba

用于 Oracle 实际应用程序集群管理的 OSRACDBA 组(通常为:racdba)

如果您希望一组单独的操作系统用户具有一组有限的 Oracle 实际应用程序集群 (RAC) 管理权限(SYSRAC 权限),请创建此组。要使用此权限:

将 Oracle 数据库安装所有者添加为此组的成员。对于 Oracle 重新启动配置,如果您有单独的 Oracle 网格基础结构安装所有者用户 (),则还必须将该用户添加为数据库的 OSRACDBA 组的成员,以使 Oracle 网格基础结构组件能够连接到数据库。gridgrid

asmdba的 OSDBA 在安装过程中,必须将一个组指定为用于 ASM 的 OSDBA 组。此组的成员被授予对 Oracle 自动存储管理的访问权限。asmdba

②新建用户home目录以及其他需要的目录

#使用oracle用户操作

#oracle基目录
mkdir -p /data/soft/oracle/base
#oraclehome
mkdir -p /data/soft/oracle/base/product/19.3.0
# Location of the data file's
mkdir -p /data/soft/oracle/flash_recovery_area
mkdir -p /data/soft/oracle/oradata
#ORA_INVENTORY是当前操作系统上,Oracle相关软件的安装目录清单
mkdir -p /data/soft/oracle/orainventory

基目录base/product/19.3.0/下面放置orcle安装包 我这用的是 LINUX.X64_193000_db_home.zip

6、修改内核参数

官方文档 :更改内核参数值 (oracle.com)

此处修改内核参数使用的是root或者有权限的用户 

[oracle@bigdata03 oracle]$ vi /etc/sysctl.conf

在文件最后添加以下

# 以下新增
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
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

#官方文档
#[oracle@bigdata03 oracle]$ vi /etc/sysctl.d/99-sysctl.conf

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

7、添加环境变量

官方文档: Procedure for Configuring Oracle Software Owner Environments

使用oracle用户操作

su - oracle

id
#看看 前面给的用户组对不

vi .bash_profile

在文件里面追加以下内容

# oracle_base 数据库目录结构的基目录
# ORACLE_HOME 表示ORACLE软件安装的目录
# ORACLE_SID ORACLE的SID,作用是用来区分同一台计算机上的同一个数据库的不同实例。
# #Oracle数据库的实例名

# ORACLE_TERM 指定安装Oracle终端的类型
# TNS_ADMIN 指定listener.ora tnsnames.ora的位置
# NLS_LANG 指定Client的字符集
# 以下是Linux的变量:
# LD_LIBRARY_PATH 设置临时的库文件的path路径
# PATH 设置搜索路径
# CLASSPATH 设置java lib文件搜索路径
# TMPDIR 临时目录
# set -o vi 默认的编辑器设置成vi
# umask 022 用来设置创建文件或目录的默认权限

export TMP=$HOME/tmp
export TMPDIR=$TMP

export ORACLE_BASE=/data/soft/oracle/base
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0
export ORACLE_SID=orcl
export ORECLE_HOSTNAME=bigdata03
export ORECLE_UNQNAME=orcl

export ORA_INVENTORY=/data/soft/oracle/orainventory
export PDB_NAME=pdb1
export DATA_DIR=/data/soft/oracle/oradata
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/network/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
#export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH

 修改完毕后    source .bash_profile 

(需要中文的可以在/etc/profile 添加一个export LANG=zh_CN.utf8)

8、 修改用户shell限制

 官方文档 : 检查 Oracle 软件安装用户的资源限制

此处使用root或有权限的管理员用户 

vi /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    3145728
oracle   soft   memlock   3145728

二、安装阶段

1、创建目录以及解压Oracle安装包 

root或者管理员

# 1 上传zip压缩包到/data/soft/oracle/base/product/19.3.0
# 2 直接把前面创建的/data/soft/oracle给oracle用户
sudo chown -R oracle:oinstall /data/soft/oracle
# 3 把oracle用户的家目录改成/data/soft/oracle
sudo usermod -d /data/soft/oracle -m oracle
# 4 登陆oracle用户 发现前缀bash-xx 啥的 因为模板没有所以导致的
sudo cp -a /etc/skel/.   /data/soft/oracle

# 5 使用oracle用户进行解压
cd ~/base/product/19.3.0
unzip LINUX.X64_193000_db_home.zip
# yum install -y unzip 

2、修改db_install.rsp

(使用oracle用户)

官方文档 : 编辑响应文件模板 (oracle.com)

db_install.rsp

无提示安装甲骨文数据库。

dbca.rsp

使用 Oracle DBCA 静默创建和配置 Oracle 数据库。

netca.rsp

使用 Oracle NETCA 对 Oracle 网络进行静默配置。

gridsetup.rsp

Oracle 网格基础设施安装的静默配置。

 1、将响应文件从响应文件目录复制到系统上的某个目录:

例如,对于甲骨文数据库:

$ cp $ORACLE_HOME/install/response/db_install.rsp $ORACLE_HOME/install/response/db_install.rsp.bak

2、在文本编辑器中打开响应文件:

3、按照文件中的说明进行编辑。

vi $ORACLE_HOME/install/response/db_install.rsp
修改以下值
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/soft/oracle/orainventory
ORACLE_HOME=/data/soft/oracle/base/product/19.3.0
ORACLE_BASE=/data/soft/oracle/base
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=false

cat install/response/db_install.rsp | grep -v '#' | grep "=[A-Z|0-9|a-z|/]"
查看核对是否一致

4、通过将对文件的权限更改为 600 来保护响应文件:

$ chmod 600 /local_dir/db_install.rsp

3、进行安装

(oracle用户)

cd $ORACLE_HOME/
./runInstaller -silent -responseFile /data/soft/oracle/base/product/19.3.0/install/response/db_install.rsp

我的安装完毕但是有警告以及报错

正在启动 Oracle 数据库安装向导...

[WARNING] [INS-13014] 目标环境不满足一些可选要求。
   原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。installActions2022-09-30_00-11-53AM.log
   操作: 从日志 installActions2022-09-30_00-11-53AM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。
可以在以下位置找到此会话的响应文件:
 /data/soft/oracle/base/product/19.3.0/install/response/db_2022-09-30_00-11-53AM.rsp

可以在以下位置找到本次安装会话的日志:
 /data/soft/oracle/tmp/InstallActions2022-09-30_00-11-53AM/installActions2022-09-30_00-11-53AM.log

以 root 用户的身份执行以下脚本:
        1. /data/soft/oracle/orainventory/orainstRoot.sh
        2. /data/soft/oracle/base/product/19.3.0/root.sh

在以下节点上执行/data/soft/oracle/orainventory/orainstRoot.sh:
[bigdata03]
在以下节点上执行/data/soft/oracle/base/product/19.3.0/root.sh:
[bigdata03]


Successfully Setup Software with warning(s).
已将安装会话日志移动到:
 /data/soft/oracle/orainventory/logs/InstallActions2022-09-30_00-11-53AM

 直接打开所说的日志(因为我的环境变量设置的中文所以提示都是中文)

# 打开日志搜索ERROR
vi  /data/soft/oracle/tmp/InstallActions2022-09-30_00-11-53AM/installActions2022-09-30_00-11-53AM.log
# 错误1
PRVF-7573 : 节点 "bigdata03" 上的交换空间大小不足 [应为 = 3.7002GB (3879944.0KB); 找到 = 1.5GB (1572860.0KB)]
# 处理方式 添加swap
#1、添加Swap分区
#先切换至root用户,使用dd命令创建名为swapfile 的swap交换文件,count指定扩展4G虚拟内存。
 dd if=/dev/zero of=/var/swapfile bs=1024 count=4194304
#2、对交换文件格式化并转换为swap分区
 mkswap  /var/swapfile
#3.挂载并且激活分区
 swapon   /var/swapfile
#4.查看新swap分区是否激活
 free -h
#5.修改 fstab 配置,设置开机自动挂载该分区,添加如下代码
 vi /etc/fstab
/var/swapfile   swap  swap  defaults  0  0
#6.查看是否使用了虚拟内存
[root@wangxin ~]# free


#错误2
 [Result.addErrorDescription:760]  PRVF-7532 : 节点 "bigdata03" 上缺少程序包 "sysstat"
# 处理方式 安装缺失依赖
sudo yum install -y sysstat

#错误3
 [Result.addErrorDescription:760]  PRVF-7532 : 节点 "bigdata03" 上缺少程序包 "smartmontools"
# 处理方式 安装缺失依赖
sudo yum install -y smartmontools

#错误4
 [Result.addErrorDescription:760]  PRVF-7532 : 节点 "bigdata03" 上缺少程序包 "libXi(x86_64)"
# 处理方式 安装缺失依赖
sudo yum install -y libXi

4、启动监听

oracle 用户

lsnrctl start

5、修改dbca.rsp

(oracle用户)

cd /data/soft/oracle/base/product/19.3.0/assistants/dbca
cp dbca.rsp dbca.rsp.bak
vi dbca.rsp
#在文件修改以下内容
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=orcl
sid=orcl
databaseConfigType=SI
templateName=General_Purpose.dbc
sysPassword=password
systemPassword=password
emExpressPort=5500
dbsnmpPassword=password
datafileDestination=/data/soft/oracle/oradata
recoveryAreaDestination=/data/soft/oracle/flash_recovery_area

修改完毕后
cat  dbca.rsp | grep -v '#' | grep '=[a-z|A-Z|0-9|/]'
检查

6、创建数据库

(oracle用户)

dbca -silent -createDatabase -responseFile /data/soft/oracle/base/product/19.3.0/assistants/dbca/dbca.rsp

7、使用PL/SQL连接Oracle

1、客户端zip包解压缩

2、配置客户端路径

3、开始使用oracle即可 

4、配置tra文件

instantclient_19_16\network\admin目录下找到 tnsnames.ora

#配置格式如下
orcl183 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.31.183)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
192.168.31.183/orcl =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.31.183)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值