干货速看!CentOS7+Oracle 19c安装并开启IPv6监听,一文打尽
sinye56 2024-10-09 19:43 10 浏览 0 评论
写在开篇
近日,工信部印发了关于贯彻落实《推进IPv6规模部署行动计划》的通知,额。。。不好意思,跑题了!其实也没有跑题,本篇就是想要讲跟IPV6有关的东西。现在很多最新版的组件都默认支持IPV6了,比如Nginx、PHP、MySQL等等。那么本篇专门讲解一下Oracle 19C如何开启对IPV6的支持,从安装到配置、到IPV6监听的配置,一文打尽。
关于IPV6的基础知识,笔者后续会找时间,专门输出一篇文章分享给大家。
前戏热身
Oracle OUI 静默安装要点概述
Oracle OUI 静默安装,即 Oracle OUI Silent Installations,之所以能实现静默,是因为底层通过三个 response files 指定了一些必需的配置项的具体设置,管理员可以通过修改这三个 response file,针对自己的情况进行定制配置,从而实现静默安装。
这三个 response files,说明如下:
$ORACLE_HOME/install/response/db_install.rsp: 静默式安装或升级 oracle 二进制包时使用;
$ORACLE_HOME/assistants/dbca/dbca.rsp: 静默式安装、配置、删除数据库实例时使用;
$ORACLE_HOME/assistants/netca/netca.rsp: 静默式配置 oracle 数据库的网络监听时使用;
在执行静默安装前,最好备份这三个文件。
最低硬件配置
- 内存至少8G: grep MemTotal /proc/meminfo
- SWAP分区至少8G: grep SwapTotal /proc/meminfo
- 磁盘空间至少10g,其中/tmp目录下空间至少2g: df -h
下载相关安装包
- preinstall rpm 包下载链接:https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
- zip 安装包的下载链接:https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html
操作系统的初始化工作
- 配置 /etc/hosts 和 /etc/hostname;
- 配置 selinux 为permissive或disabled:涉及文件/etc/selinux/config 和命令 setenforce Permissive
- 关闭防火墙:systemctl stop/disalbe firewalld
进入主题
执行安装前自动配置
- 下载对应版本的 preinstall rpm包(该rpm 包可以用来在正式安装前执行一些必要的配置);
># yum localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
- 该步骤自动在操作系统上创建了oracle系统用户:
># id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
准备统一安装的路径
># mkdir /opt/u01
># mkdir /opt/u02
># ln -s /opt/u01 /
># ln -s /opt/u02 /
创建oracle运行时必需的目录并赋权
># mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
># mkdir -p /u02/oradata
># mkdir /u02/flash_recovery_area
># chown -R oracle:oinstall /opt/u01 /opt/u02
># chmod -R 775 /opt/u01 /opt/u02
创建配置环境变量的辅助脚本,和数据库启停的辅助脚本,并赋权
># su - oracle
>$ touch /home/oracle/scripts/setEnv.sh
>$ touch /home/oracle/scripts/start_all.sh
>$ touch /home/oracle/scripts/stop_all.sh
>$ chown -R oracle:oinstall /home/oracle/scripts
>$ chmod u+x /home/oracle/scripts/*.sh
- setEnv.sh脚本具体内容如下:
cat > /home/oracle/scripts/setEnv.sh <<EOF
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=oracle19csvr
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=zabbix
export PDB_NAME=pdb1_zabbix
export DATA_DIR=/u02/oradata
export PATH=/usr/sbin:/usr/local/bin:$PATH
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
EOF
- start_all.sh脚本具体内容如下:
cat > /home/oracle/scripts/start_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.sh
export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES
dbstart \$ORACLE_HOME
EOF
- stop_all.sh脚本具体内容如下:
cat > /home/oracle/scripts/stop_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.sh
export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES
dbshut \$ORACLE_HOME
EOF
配置环境变量/home/oracle/.bash_profile,引用上述环境变量配置辅助脚本
>$ echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile
>$ source .bash_profile
- 需要注意
注意:
上述环境变量辅助脚本 setEnv 中的配置项 ORACLE_SID=zabbix 和 PDB_NAME=pdb1_zabbix,跟后文 dbca 配置文件$oracle_home/assistants/dbca/dbca.rsp 中的配置项sid=zabbix 和pdbName=pdb1_zabbix 是一一呼应的。
上传oracle19c二进制安装包并解压
- 上传到/u01/app/oracle/product/19.0.0/dbhome_1 路径下并解压
cd /u01/app/oracle/product/19.0.0/dbhome_1
unzip LINUX.X64_193000_db_home.zip
配置静默安装配置文件db_install.rsp
- 配置文件在LINUX.X64_193000_db_home.zip中的install目录下,更改前先备份
cd /u01/app/oracle/product/19.0.0/dbhome_1/install/response/
cp -a db_install.rsp {,db_install.rsp.bak.20220202}
- 重点修改项如下,/u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=oinstall
oracle.install.db.OSOPER_GROUP=oinstall
oracle.install.db.OSBACKUPDBA_GROUP=oinstall
oracle.install.db.OSDGDBA_GROUP=oinstall
oracle.install.db.OSKMDBA_GROUP=oinstall
oracle.install.db.OSRACDBA_GROUP=oinstall
oracle.install.db.rootconfig.executeRootScript=false
执行静默安装前,可以执行以下命令,检查各种配置项是否配置正确
>$ /u01/app/oracle/product/19.0.0/dbhome_1/runInstaller -executePrereqs -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp
Launching Oracle Database Setup Wizard...
Prerequisite checks executed successfully.
Moved the install session logs to:
/u01/app/oraInventory/logs/InstallActions2022-02-02_11-06-47AM
执行静默安装
>$ /u01/app/oracle/product/19.0.0/dbhome_1/runInstaller -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp
根据runInstaller安装时的提示,切换使用root执行提示中的两个脚本文件
>$ sh /u01/app/oraInventory/orainstRoot.sh
>$ sh /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
- 从执行结果的提示可以看出,root.sh执行时创建了配置文件 /etc/oratab
- 配置文件/etc/oratab,是 oracle 运行时的一个比较重要的配置文件,后续的 dbca 命令会更新该配置文件
验证安装结果
- 使用sqlplus验证软件包安装结果
- 上述步骤完成后,oracle所有的二进制文件都已经安装完毕,可以通过sqlplus命令验证下安装结果
使用NetCA配置 oracle监听服务
- 通过netca静默式配置监听服务
- 这里使用了默认配置,未对该配置文件做任何修改
>$ netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp
- 执行这一步是为了自动生成listener.ora
开始进入高潮部分
新增IPV6的监听地址与端口
- 查找监听文件listener.ora并进行修改
>$ vim /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fd15:4ba5:5a2b:1008::5)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.8)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ZABBIX.DB)
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
(SID_NAME = zabbix)
)
(SID_DESC =
(GLOBAL_DBNAME = PDB1_ZABBIX.DB)
(SID_NAME = zabbix)
)
)
ADR_BASE_LISTENER=/u01/app/oracle
- listener.ora是服务器端用的,oracle监听程序,就是读的这个文件,里面有oracle服务器端的socket监听地址和端口( 如果要想局域网中的其他人,能够访问我本地的oracle,要把我本机的地址写进去,如192.168.11.8、fd15:4ba5:5a2b:1008::5
启动监听和查看监听状态
>$ lsnrctl start # 启动
>$ lsnrctl status
使用 DBCA 创建 Oracle 数据库实例
- DBCA ,即Database Configuration Assistant(数据库配置助手) ,可以用来创建 Oracle 数据库实例;
- DBCA 即支持 GUI 互动模式,也支持SILENT静默模式;
- 静默模式下需要更改配置文件 /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp
- 改动前最好备份,重点修改项如下:
gdbName=zabbix.db
sid=zabbix
createAsContainerDatabase=true
pdbName=pdb1_zabbix
pdbAdminPassword=Root.123456
templateName=General_Purpose.dbc
sysPassword=Root.123456
systemPassword=Root.123456
dbsnmpPassword=Root.123456
datafileDestination=/u02/oradata
recoveryAreaDestination=/u02/flash_recovery_area
characterSet=UTF8
nationalCharacterSet=UTF8
listeners=LISTENER
databaseType=OLTP
sampleSchema=true
- gdbName: 数据库的全局数据库名称
- sid: 数据库的系统标识符 (SID)
- createAsContainerDatabase: 将数据库创建为容器数据库的标志
- pdbName: 如果需要创建一个或多个 pdb,请指定 pdbname/pdbanme 前缀
- pdbAdminPassword: PDB 管理员用户密码
- templateName: 模板名称
- sysPassword: SYS 用户密码
- systemPassword: SYSTEM 用户的密码
- dbsnmpPassword: DBSNMP 用户密码
- datafileDestination: 数据文件的位置
- recoveryAreaDestination: 数据文件的位置
- characterSet: 数据库字符集
- nationalCharacterSet: 数据库的国家字符集
- listeners: 指定要向其注册数据库的侦听器列表。 默认情况下,为 $ORACLE_HOME/network/admin/listener.ora 中指定的所有侦听器配置数据库
- databaseType: 用于指定内存百分比时的内存分配
- sampleSchema: 指定是否将示例模式添加到您的数据库
开始通过dbca命令静默式创建数据库
>$ dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp
数据库创建完成后,使用lsnrctl status验证下监听状态
[oracle@oracle19csvr admin]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 05-FEB-2022 10:20:57
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fd15:4ba5:5a2b:1008::5)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 02-FEB-2022 22:16:06
Uptime 2 days 12 hr. 4 min. 51 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oracle19csvr/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fd15:4ba5:5a2b:1008::5)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.8)(PORT=1521)))
Services Summary...
Service "86b637b62fdf7a65e053f706e80a27ca.db" has 1 instance(s).
Instance "zabbix", status READY, has 1 handler(s) for this service...
Service "d70b94075c19d292e055000000000005.db" has 1 instance(s).
Instance "zabbix", status READY, has 1 handler(s) for this service...
Service "pdb1_zabbix.db" has 1 instance(s).
Instance "zabbix", status READY, has 1 handler(s) for this service...
Service "zabbix.db" has 1 instance(s).
Instance "zabbix", status READY, has 1 handler(s) for this service...
Service "zabbixXDB.db" has 1 instance(s).
Instance "zabbix", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@oracle19csvr admin]$
数据库创建完成后,通过sqlplus尝试登录验证下
[oracle@oracle19csvr admin]$ sqlplus sys/Root.123456@zabbix as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Feb 5 10:17:47 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
- 上述命令 “sqlplus sys/Root.123456@zabbix as sysdba” 中使用的zabbix是配置文件 dbca.rsp 中指定的 sid=zabbix,是 oracle数据库的System identifier (SID),;
- 上述命令执行成功后,登录的是根容器 CDB$ROOT,若要切换到某个可插拔数据库 pdb,可以使用命令 alter session set container=pdbName;。
添加对可插拔数据库实例的监听,以及让其支持ipv6的侦听
- 如果使用 dbca 创建数据库时创建了可插拔数据库 pdb,则需要更改配置文件 tnsnames.ora,添加对可插拔数据库实例的监听;
- 配置文件路径:/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/tnsnames.ora
- 配置完毕的 tnsname.ora 内容如下:
ZABBIX =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.8)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = fd15:4ba5:5a2b:1008::5)(PORT = 1521)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ZABBIX)
)
)
PDB1_ZABBIX.DB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.8)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = fd15:4ba5:5a2b:1008::5)(PORT = 1521)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PDB1_ZABBIX.DB)
)
)
- 可见添加了对可插拔数据库实例 pdb1_zabbix 的监听配置(pdb1_zabbix是通过配置文件dbca.rsp的配置项pdbName=pdb1_zabbix 指定的)
- tnsnames.ora是记录客户端访问数据库的本地配置,客户端是通过tnsnames.ora来识别连接服务器的,如果你没有添加tnsnames.ora,那么你就连接不上服务器的
使用命令 tnsping 验证对可插拔数据库pdb的监听配置是否正确:
[oracle@oracle19csvr admin]$ tnsping pdb1_zabbix
TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 05-FEB-2022 10:49:34
Copyright (c) 1997, 2019, Oracle. All rights reserved.
Used parameter files:
/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.8)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = fd15:4ba5:5a2b:1008::5)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdb1_zabbix)))
OK (20 msec)
写在最后
好了,终于结束了,整个过程下来可以说是“千辛万苦”啊!不断的碰到问题,解决问题。不断的掉到坑里,再从坑里爬出来。在本篇中笔者并没有把所遇到的问题分享出来。因为碰到的问题是五花八门呀!如果您也想在Oracle 19C将IPV6的监听玩起来,说不定遇到的问题会和笔者不一样,那就仁者见仁,智者见智了。本文只是抛砖引玉,望能和广大朋友一起交流哈。非常感谢您的关注,望多多点赞、转发。
本文转载于:https://mp.weixin.qq.com/s/1ao5tS43mpFeALDPdso-Wg
相关推荐
- 一个不错的软件版本命名规范!
-
之前写了一篇如何自动生成版本号的文章,《让你的C程序,自动打印版本信息》初衷是让自己的程序在运行时自动打印与版本相关的信息,避免测试时因为版本信息不确定导致的一些功能对应不上去的问题,当时留了一个坑,...
- 国产操作系统迎来发展风口 公务领域更能培育起Linux生态
-
谷歌和微软在俄罗斯市场的一番套路猛如虎,就让我们深刻地意识到了,只有自己的东西才能靠得住。也由此,国内操作系统发展迎来了发展风口。我就看到有朋友就秀出了他们单位采购的纯国产的主机,一款华为的主机,纯国...
- 5个大有“前途”的Linux桌面发行版本
-
ZD至顶网CIO与应用频道08月27日专栏:Linux无处不在。你的服务器里,你的电话、汽车、手表、烤面包机、冰箱……和台式机里都有Linux的身影。虽然在桌面上见到Linux的用户比在自动调温...
- Linux 常用应用软件大全
-
编译自:https://www.fossmint.com/most-used-linux-applications/作者:MartinsD.Okoi译者:HankChow对于许多应用程序...
- Linux 4.1 系列的最大版本 4.1.18 LTS发布,带来大量修改
-
(LCTT译注:这是一则过期的消息,但是为了披露更新内容,还是发布出来给大家参考)著名的内核维护者GregKroah-Hartman貌似正在度假中,因为SashaLevin2016年2月16日的...
- Linux发行版需要杀软吗?卡巴斯基推出免费KVRT病毒扫描清理工具
-
IT之家6月4日消息,你认为使用Linux发行版,需要杀毒软件吗?或许很多用户认为Linux发行版偏小众,因此受到黑客攻击的风险也相对较小,不过卡巴斯基并不这么认为,近期推出了适用于...
- 适合开发人员的 5款 Linux 发行版
-
什么是Linux?Linux是基于Unix的操作系统。由LinusTorvalds开发于1991年首次发布其内核。因为Linux是开源软件,其发行版由不同组织发布,因此不同的发行版具有不同的风格...
- VMware Workstation 17.0 Pro 发布:新增 TPM 2.0 完美兼容Win11
-
IT之家11月18日消息,VMwareWorkstation17.0Pro现已发布,它带来了许多新特性,例如微软Windows11硬性要求:虚拟可信平台模块(TPM)2.0。...
- 你是否需要一个容器专用的Linux发行版本?
-
单单使用容器是不够的,提供商们认为你需要一个容器专用的Linux发行版本。我们可以让容器在不同的操作系统上运行,不同的操作系统都有自己的虚拟化服务,如:SolarisZones、BSDJails、...
- Tizen 3.0版本发布 采用Linux 4.1内核
-
2015-09-2111:31:39作者:马荣【中关村在线软件资讯】9月21日消息:尽管三星靠着Android系统设备在移动市场赚钱,但是仍然没有忘记自家的Tizen开发。现在Tizen3.0版...
- 欧拉操作系统演进:应用累计超130万套 支持鲲鹏、英特尔、飞腾等芯片
-
21世纪经济报道记者倪雨晴深圳报道4月15日,在欧拉开发者大会(openEulerDeveloperDay2022)的主论坛上,欧拉首个数字基础设施全场景长周期版openEuler22.03...
- Papyros:以Material Design为灵感的Linux发行版本
-
项目团队并不希望只是采用传统的桌面主题,而是致敬谷歌Android系统的MaterialDesign设计语言想要打造出某些不同以往足够吸引用户的Linux发行版本,自然该版本还在不断的更新和改进中,...
- 比特网早报:全国空间计量技术委员会成立,银河麒麟操作系统上架微信Linux4.0.0版本
-
2024年11月6日消息,昨夜今晨,科技圈都发生了哪些大事?行业大咖抛出了哪些新的观点?比特网为您带来值得关注的科技资讯:全国空间计量技术委员会在北京成立近日,经市场监管总局批准,全国空间计量技术委员...
- 2024年最稳定的5个Linux发行版,赶紧收藏!
-
Linux是最流行的免费开源平台之一。Linux已被广泛使用,因为它安全、可扩展和灵活。Linux发行版收集开源代码,对其进行编译,并将其组合成一个可以轻松启动和安装的操作系统。它们还提供不同的...
- 彰显Linux生态繁华,Ubuntu、Fedora等四发行版同时发布新版本
-
上周对于开源社区来说是忙碌的一周。EndeavourOS和TrueNASScale于周二(4月16日)发布,Fedora于周三(4月17日)发布,Ubuntu于周四(4月18日)发布。四个新版本中都...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- linux进程通信 (63)