Oracle21C安装

随笔2周前发布 小管呀
1 0 0

一、环境准备

客户端工具:MobaXterm (如果使用可视化界面安装,需要使用此客户端,xshell可视化工具需要收费)

服务器:centos7.9   CentOS-7-x86_64-DVD-2009.iso

4核心CPU8G内存

数据库:Oracle21C  LINUX.X64_213000_db_home.zip

yum源:

阿里云镜像站:https://developer.aliyun.com/mirror/

华为云镜像站:https://mirrors.huaweicloud.com/home

 

二、安装前准备

1、规划磁盘

创建LVM

pvcreate /dev/sdb

vgcreate vgdata /dev/sdb

lvcreate -L 20G -n oraclelv vgdata

lvcreate -L 10G -n oradatalv vgdata

格式化磁盘设备

mkfs.ext4 /dev/vgdata/oraclelv
mkfs.ext4 /dev/vgdata/oradatalv

查看磁盘设备UID

lsblk -f

添加到 /etc/fstab 永久挂载磁盘

vi /etc/fstab

UUID=a4e231d7-6376-49d8-9f48-8a3b2f2da4ca    /oracle    ext4  defaults   0   0
UUID=a540ca93-d82a-4d47-904d-abd6a5a33a7c  /oradata  ext4  defaults   0   0

创建目录和挂载磁盘(如果数据库的数据量大建议将oracle安装目录和数据库数据目录分开,数据读取分开有利于数据库稳定运行,如果导数操作较多也建议单独划分一个导数磁盘)

mkdir /oracle /oradata
mount -a

 

2、关闭防火墙

检查防火墙开启状态:systemctl status firewalld.service
关闭防火墙:systemctl stop firewalld.service
检查防火墙是否开机自启:systemctl is-enabled firewalld.service
关闭防火墙开机自启:systemctl disable firewalld.service

再检查防火墙是否关闭和是否开机自启:

systemctl is-enabled firewalld.service

systemctl status firewalld.service

 

3、关闭SELINUX设置:

vi /etc/selinux/config

SELINUX=disabled

 

4、更新yum源(提供了两个镜像源,配置其中一个即可,我两个都配置了)

备份官方的yum源:

mkdir -p  /etc/yum.repos.d/back

mv  /etc/yum.repos.d/*.repo  /etc/yum.repos.d/back 

 

获取阿里云的yum源:

wget -O /etc/yum.repos.d/CentOS-aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo

非阿里云ECS用户会出现 Couldn't resolve host 'mirrors.cloud.aliyuncs.com' 信息,不影响使用。用户也可自行修改相关配置: eg:

sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-aliyun.repo

 

获取华为云的yum源:

wget -O /etc/yum.repos.d/CentOS-huaweicloud.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo 

 

执行yum clean all清除原有 yum 缓存

执行yum makecache(刷新缓存)或者yum repolist all(查看所有配置可以使用的文件,会自动刷新缓存)。

 

5、安装Oracle数据库所需要的依赖包

yum install -y bc  binutils  compat-libcap1  compat-libstdc++-33  gcc gcc-c++  glibc  glibc-devel  ksh  libaio  libaio-devel  libgcc  libstdc++  libstdc++-devel  make  sysstat  elfutils-libelf  elfutils-libelf-devel  fontconfig-devel  libxcb  smartmontools  libX11  libXau  libXtst  libXrender  libXrender-devel  kmod  kmod-libs

 

6、创建oracle组和用户

groupadd dba;groupadd asmdba;groupadd backupdba;groupadd dgdba;groupadd kmdba;groupadd racdba;groupadd oper;groupadd oinstall

useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle

 

7、修改/etc/hosts文件,增加配置主机名解析

vi /etc/hosts

127.0.0.1 centos7oracle21 

 

8、修改内核参数: 

cat >> /etc/sysctl.conf <<EOF

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 7549747
kernel.shmmax = 30923764531
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.panic_on_oops = 1
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
vm.hugetlb_shm_group = 1000
EOF

执行sysctl -p 命令使以上设置生效

——————————————————————————–
#### 说明:
“shmmax”定义单个共享内存段的最大值,单位为字节。
“shmall”定义系统可以使用的共享内存总量,单位为页(一页=4KB),建议配置为单板的总内存大小。如
果“shmall”配置为“4194304”,即4194304*4KB/1024/1024=16GB,则用户创建超过16GB的共享内存会失
败。
shmall=是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。这两个可以设置为内存的 90%。
例如 16G 内存,16*1024*1024*1024*90% = 15461882265,shmall 的大小为
15461882265/4k(getconf PAGESIZE可得到) = 3774873
———————————————————————————

 

9、修改/home/oracle/.bash_profile,增加oracle用户环境变量配置

vi /home/oracle/.bash_profile

export PATH
export ORACLE_SID=orcl
export ORACLE_BASE=/oracle/app
export ORACLE_HOME=/oracle/app/product
export ORACLE_HOSTNAME=centos7oracle21
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:.
export JAVA_HOME=$ORACLE_HOME/jdk
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/lib:/lib:/usr/lib

DISPLAY=192.168.0.101:0.0; export DISPLAY

 

————————————————————-
DISPLAY为配置客户端图形界面(此IP为安装oracle所用的客户端IP,而不是oracle服务器的IP)
DISPLAY=192.168.0.101:0.0; export DISPLAY
————————————————————-

配置完后执行以下命令使环境变量生效:

source   /home/oracle/.bash_profile

 

10、修改系统参数

cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 4096
oracle hard nproc 16384
oracle soft nofile 2048
oracle hard nofile 65536
oracle soft stack 10240
EOF

 

11、创建安装目录,并上传安装包

mkdir -p /oracle/app/product && cd /oracle/app/product
mkdir -p /oracle/soft
scp oracle19c_19.5/LINUX.X64_213000_db_home.zip   /oracle/soft/

 

 

三、安装Oracle21C

1、解压安装到到安装目录,修改oracle安装目录的属主

unzip /oracle/soft/LINUX.X64_213000_db_home.zip  -d   /oracle/app/product

chown oracle.  /oracle  /oradata  -R  

 

2、如果使用可视化界面安装则切换到oracle用户,进入/oracle/app/product目录,执行runInstaller安装。具体oracle安装配置不再详述。

cd /oracle/app/product

./runInstaller

 

3、如果使用静默安装方式来安装,则复制/oracle/app/product/install/response/db_install.rsp文件到其他目录修改,我这里复制到/oracle目录修改

cp /oracle/app/product/install/response/db_install.rsp  /oracle

 

4、编辑/oracle/db_install.rsp文件,(db_install.rsp文件每个配置参数都有详细说明)

 

5、执行以下命令进行静默安装:

cd $ORACLE_HOME
./runInstaller -silent -responseFile /oracle/db_install.rsp
./runInstaller -silent -responseFile /oracle/db_install.rsp -ignorePrereq   (使用这两个中其中的一个安装命令即可,ignorePrereq表示忽略前置条件,有时安装的时候可能有些前置条件不满足,但其实不太影响就可以考虑忽略前置条件)

 

5.1、安装完成后根据提示,使用root用户执行
As a root user, execute the following script(s):
1. /oracle/app/inventory/orainstRoot.sh
2. /oracle/app/product/root.sh

Execute /oracle/oraInventory/orainstRoot.sh on the following nodes:
[centos7oracle21]
Execute /oracle/app/product/root.sh on the following nodes:
[centos7oracle21]

使用root账号执行: /oracle/app/inventory/orainstRoot.sh

再使用root账号执行: /oracle/app/product/root.sh

 

5.2、然后根据提示,使用oracle用户再执行(以下是oracle安装完后再进行数据库的初始化配置)

Successfully Setup Software with warning(s).
As install user, execute the following command to complete the configuration.
/oracle/app/product/runInstaller -executeConfigTools -responseFile /oracle/db_install.rsp [-silent]

 

使用oracle用户执行:/oracle/app/product/runInstaller -executeConfigTools -responseFile /oracle/db_install.rsp -silent

 

5.3、最后使用oracle监听查看命令,查看oracle实例创建情况

lsnrctl status

 

附录

db_install.rsp文件配置:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v21.0.0
oracle.install.option=INSTALL_DB_AND_CONFIG
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/oracle/oraInventory
ORACLE_HOME=/oracle/app/product
ORACLE_BASE=/oracle/app
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
oracle.install.db.rootconfig.configMethod=
oracle.install.db.rootconfig.sudoPath=
oracle.install.db.rootconfig.sudoUserName=
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=DATA_WAREHOUSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.PDBName=orclpd
oracle.install.db.config.starterdb.characterSet=ZHS16GBK
oracle.install.db.config.starterdb.memoryOption=false
oracle.install.db.config.starterdb.memoryLimit=3120
oracle.install.db.config.starterdb.password.ALL=Gmcc1234
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.password.PDBADMIN=
oracle.install.db.config.starterdb.managementOption=DEFAULT
oracle.install.db.config.starterdb.omsHost=
oracle.install.db.config.starterdb.omsPort=
oracle.install.db.config.starterdb.emAdminUser=
oracle.install.db.config.starterdb.emAdminPassword=
oracle.install.db.config.starterdb.enableRecovery=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=

 

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...