1 安装部署

1 简介

本次以Oracle的最新版本Oracle 19c为例,采用CentOS 7操作系统作为安装基础环境

2 环境准备

2.1 关闭防火墙
systemctl stop  firewalld
systemctl disable firewalld
2.2 禁用SElinux
vim /etc/selinux/config
# 修改
SELINUX=disabled
2.3 编辑hosts和hostname文件
# 设置主机名
vim /etc/hostname
oracletest
# 修改hosts
vim /etc/hosts
10.237.132.2 oracletest
2.4 禁用透明 HugePages
vim /etc/default/grub
# 在GRUB_CMDLINE_LINUX参数的末尾添加
transparent_hugepage=never

# 使用修改后的配置生成/boot/grub2/grub.cfg文件
grub2-mkconfig -o /boot/grub2/grub.cfg
2.5 重启实例
# 重启机器
init 6
2.6 安装依赖
yum install -y  bc   binutils   compat-libcap1   compat-libstdc++-33   elfutils-libelf   elfutils-libelf-devel   fontconfig-devel   glibc   glibc-devel   ksh   libaio   libaio-devel   libX11   libXau   libXi   libXtst   libXrender   libXrender-devel   libgcc   libstdc++   libstdc++-devel   libxcb   make   smartmontools   sysstat   net-tools   gcc   gcc-c++   gcc-info   gcc-locale   gcc48   gcc48-info   gcc48-locale   gcc48-c++

3 安装前置

3.1 创建用户组
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54330 racdba
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
echo "oracle" | passwd oracle --stdin
3.2 为 Oracle 用户设置安全限制

执行以下命令编辑30-oracle.conf文件,设置oracle用户的安全限制

cat >/etc/security/limits.d/30-oracle.conf<<EOF
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    134217728
oracle   soft   memlock    134217728
EOF
3.3 修改linux内核参数

执行以下命令编辑98-oracle.conf文件

cat >/etc/sysctl.d/98-oracle.conf<<EOF
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF

然后执行sysctl --system命令重新加载内核参数

3.4 为 Oracle Database 19c 创建目录
mkdir -p /data/oracle/product/19.3.0/dbhome_1
mkdir -p /data/oradata/app/oraInventory
chown -R oracle:oinstall /data/oradata/
chown -R oracle:oinstall /data/oracle
chmod -R 775 /data/oracle
3.5 为 Oracle 用户配置 Linux 环境变量
su - oracle
vim ~/.bash_profile

# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=oracletest
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORA_INVENTORY=/data/oradata/app/oraInventory
export ORACLE_SID=orcl
export PDB_NAME=pdb1
export DATA_DIR=/data/oradata/oradata
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

编辑完成后,执行source ~/.bash_profile,使oracle用户环境变量生效

4 安装数据库

4.1 解压软件包

官网文件下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

oracle用户下执行安装文件解压命令

su - oracle
cd $ORACLE_HOME
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
4.2 安装实例
su - oracle
cd $ORACLE_HOME
./runInstaller -ignorePrereq -waitforcompletion -silent \
  oracle.install.option=INSTALL_DB_SWONLY \
  ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \
  UNIX_GROUP_NAME=oinstall \
  INVENTORY_LOCATION=${ORA_INVENTORY} \
  ORACLE_HOME=${ORACLE_HOME} \
  ORACLE_BASE=${ORACLE_BASE} \
  oracle.install.db.InstallEdition=EE \
  oracle.install.db.OSDBA_GROUP=dba \
  oracle.install.db.OSBACKUPDBA_GROUP=backupdba \
  oracle.install.db.OSDGDBA_GROUP=dgdba \
  oracle.install.db.OSKMDBA_GROUP=kmdba \
  oracle.install.db.OSRACDBA_GROUP=racdba \
  SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
  DECLINE_SECURITY_UPDATES=true

稍等片刻,数据库即安装完成

4.3 配置脚本

切换到root下

# 更改$ORACLE_BASE/oraInventory的权限
sh /data/oradata/app/oraInventory/orainstRoot.sh
# 对集群的初始化和配置任务
sh /data/oracle/product/19.3.0/dbhome_1/root.sh

5 安装后配置

5.1 配置监听

执行su - oracle命令切换到oracle用户,使用以下命令启动监听

lsnrctl start    //启动oracle数据库监听
lsnrctl status   //查看oracle数据库监听状态
lsnrctl stop     //停用oracle数据库监听
5.2 创建数据库

执行以下命令创建数据库,可能需要一些时间

dbca -silent -createDatabase \
  -templateName General_Purpose.dbc \
  -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} \
  -responseFile NO_VALUE \
  -characterSet AL32UTF8 \
  -sysPassword 123456 \
  -systemPassword 123456 \
  -createAsContainerDatabase true \
  -numberOfPDBs 1 \
  -pdbName ${PDB_NAME} \
  -pdbAdminPassword 123456 \
  -databaseType MULTIPURPOSE \
  -automaticMemoryManagement false \
  -totalMemory 800 \
  -storageType FS \
  -datafileDestination "${DATA_DIR}" \
  -redoLogFileSize 50 \
  -emConfiguration NONE \
  -ignorePreReqs

等待所有的process都变成complete状态即创建成功

5.3 添加用户
# 登录数据库
sqlplus / as sysdba
# 创建用户
create user c##oratest identified by 123456;
# 给用户授权
grant connect, resource,dba to c##oratest;

注:因Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container
Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系,所以创建用户需要加c##

5.4 连接测试

使用给定的用户名密码即可远程连接

# 可以登录服务器端执行如下命令:
# 查看数据库监听
lsnrctl status
# 如果没有开启监听,需要执行 lsnrctl start 开启监听
# 如下所示表示已开启监听
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                14-NOV-2022 16:28:20
Uptime                    0 days 1 hr. 17 min. 2 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /data/oracle/diag/tnslsnr/oracletest/listener/alert/log.xml
Listening Endpoints Summary...

6 小结

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴走的Mine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值