第182期 23ai:惊喜的全功能缓存True Cache-2安装部署(20240505)

数据库管理182期 2024-05-05

  • 数据库管理-第182期 23ai:惊喜的全功能缓存True Cache-2安装部署(20240505)
    • 1 主机配置
    • 2 操作系统配置
      • 2.1 基础配置
      • 2.2 配置hosts
      • 2.3 安装preinstall RPM包
      • 2.4 创建目录
      • 2.5 配置环境变量
    • 3 部署数据库
      • 3.1 部署DB软件
      • 3.2 创建监听
      • 3.3 创建数据库
      • 3.4 验证数据库
      • 3.5 部署sample schemas
    • 4 部署True Cache
      • 4.1 先决条件
      • 4.2 使用DBCA创建True Cache
      • 4.3 手工创建True Cache
        • 4.3.1 配置tnsname
        • 4.3.2 True Cache节点配置监听
        • 4.3.3 拷贝密码文件
        • 4.3.4 准备True Cache的pfile
        • 4.3.7 创建目录
        • 4.3.6 创建并启动True Cache
    • 总结

数据库管理-第182期 23ai:惊喜的全功能缓存True Cache-2安装部署(20240505)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Associate: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、认证技术专家、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,OceanBase观察团成员
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

上一期讲了True Cache的基础概念,本期除了True Cache配置外还包含操作系统配置以及单实例数据库安装。再次说明演示版本同之前DG_PDB版本一样为特殊版本。

1 主机配置

image.png
关于主机操作系统的安装过程这里依然省略。

2 操作系统配置

2.1 基础配置

#关闭防火墙
systemctl stop firewalld.service 
systemctl disable firewalld.service#关闭SELinux
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0#配置tmpfs
echo "tmpfs /dev/shm tmpfs defaults,size=`head -1 /proc/meminfo | tr -s ' ' | cut -d ' ' -f2`k 0 0">> /etc/fstab
systemctl daemon-reload
mount -o remount /dev/shm

2.2 配置hosts

cat >> /etc/hosts <<EOF
10.10.10.231	db01
10.10.10.232	db02
10.10.10.233	db03
EOF

2.3 安装preinstall RPM包

#这里忽略yum源配置,如离线部署则需要配置本地yum源
#针对Oracle Database 23ai在OracleLinux 9的preinstall RPM包下载地址为:
#https://www.oracle.com/database/free/get-started/
#RPM包名称为:oracle-database-preinstall-23ai-1.0-2.el9.x86_64.rpm
yum -y install oracle-database-preinstall-23ai-1.0-2.el9.x86_64.rpm

2.4 创建目录

mkdir /u01/app/oracle/product/23.0.0/dbhome_1 -p
chown oracle:oinstall /u01 -R

2.5 配置环境变量

su - oracle
cat >> .bash_profile <<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/23.0.0/dbhome_1
export ORACLE_SID=PRIMCDB
export PATH=\$ORACLE_HOME/bin:$PATH
export DISPLAY=:0
EOF#其余节点SID分别为TCCDB1,TCCDB2
cat >> .bash_profile <<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/23.0.0/dbhome_1
export ORACLE_SID=TCCDB1
export PATH=\$ORACLE_HOME/bin:$PATH
export DISPLAY=:0
EOFcat >> .bash_profile <<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/23.0.0/dbhome_1
export ORACLE_SID=TCCDB2
export PATH=\$ORACLE_HOME/bin:$PATH
export DISPLAY=:0
EOF

3 部署数据库

3.1 部署DB软件

Oracle Database 23ai单实例软件部署方式同19c、21c一致,这里不做过多展示。

3.2 创建监听

netca
#过程略

3.3 创建数据库

dbca
#过程略

注:从21c开始Oracle数据库部署必须采用CDB模式

CDB名称为PRIMCDB,PDB名称为PRIMPDB1。
数据库数据文件存储位置为:{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}。
开启FRA及归档模式。

3.4 验证数据库

sql / as sysdba
#这里也“重新”引入一下从12.2开始加入的新的数据库连接工具,sql可以上下翻页并且自适应列宽度和页长度,但是需要数据库启动才能连接,无法进行startup操作
select banner_full from v$version;
select con_id,name,open_mode from v$containers;

image.png

3.5 部署sample schemas

详见Oracle在GitHub上页面:https://github.com/oracle-samples/db-sample-schemas
本次在PRIMPDB1中部署sample schemas中的HR、SH、CO,部署步骤省略。
image.png

4 部署True Cache

4.1 先决条件

  • 在True Cache节点安装数据库软件
  • 确保主库(Primary Database)是归档模式(ARCHIVELOG MODE)
  • 不要在主库配置LOG_ARCHIVE_CONFIG和LOG_ARCHIVE_DEST_n参数,True Cache会自动在主库配置这些参数

4.2 使用DBCA创建True Cache

这里和之前搭ADG一样还是不大喜欢用dbca来创建True Cache,相关内容可以通过下面网址进行查看,这里不做演示了:

https://docs.oracle.com/en/database/oracle/oracle-database/23/odbtc/configuring-true-cache-oracle-dbca.html

4.3 手工创建True Cache

4.3.1 配置tnsname

需要在主库和True Cache节点都配置相同的tnsname,$ORACLE_HOME/network/admin/tnsnames.ora:

# True Cache network name
TCCDB1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db02)(PORT = 1521)))(CONNECT_DATA =(SID = TCCDB1)))TCCDB2 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db03)(PORT = 1521)))(CONNECT_DATA =(SID = TCCDB2)))# True Cache database application service name
PROD_TC =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db02)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = db03)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = PROD_TC)))# Primary database network name
PRIMCDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db01)(PORT = 1521)))(CONNECT_DATA =(SID = PRIMCDB)))# Primary database application service name
PROD =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db01)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = PROD)))listener_primary =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = db01)(PORT=1521)))listener_true_cache =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = db02)(PORT=1521))(ADDRESS = (PROTOCOL = TCP)(HOST = db03)(PORT=1521)))
4.3.2 True Cache节点配置监听

db02,$ORACLE_HOME/network/admin/listener.ora:

SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = TCCDB1)(ORACLE_HOME = /u01/app/oracle/product/23.0.0/dbhome_1)(SID_NAME = TCCDB1)))LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = db02)(PORT = 1521)))

db02,$ORACLE_HOME/network/admin/listener.ora:

SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = TCCDB2)(ORACLE_HOME = /u01/app/oracle/product/23.0.0/dbhome_1)(SID_NAME = TCCDB2)))LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = db03)(PORT = 1521)))
4.3.3 拷贝密码文件

这里需要将主库的密码文件(如果使用还需要拷贝wallet)至True Cache节点。

scp $ORACLE_HOME/dbs/orapwPRIMCDB db02:$ORACLE_HOME/dbs/orapwTCCDB1
scp $ORACLE_HOME/dbs/orapwPRIMCDB db03:$ORACLE_HOME/dbs/orapwTCCDB2
4.3.4 准备True Cache的pfile

db02,$ORACLE_HOME/dbs/initTCCDB1.ora

true_cache=true
enable_pluggable_database=true
db_name=PRIMCDB
db_unique_name=TCCDB1
db_files=200
sga_target=4G
fal_server=PRIMCDB
fal_client=TCCDB1
instance_name=TCCDB1
db_create_file_dest=/u01/app/oracle/oradata
local_listener=listener
remote_listener=listener_primary

db03,$ORACLE_HOME/dbs/initTCCDB2.ora

true_cache=true
enable_pluggable_database=true
db_name=PRIMCDB
db_unique_name=TCCDB2
db_files=200
sga_target=4G
fal_server=PRIMCDB
fal_client=TCCDB2
instance_name=TCCDB2
db_create_file_dest=/u01/app/oracle/oradata
local_listener=listener
remote_listener=listener_primary
4.3.7 创建目录

在db02和db03创建物理文件目录:

mkdir /u01/app/oracle/oradata
4.3.6 创建并启动True Cache

db02和db03操作:

sqlplus / as sysdba
startup nomount--验证密码文件位置
SELECT file_name FROM v$passwordfile_info;--创建比启动True Cache
CREATE TRUE CACHE;

image.png
image.png

至此没有报错,两台True Cache都以搭建完成。

总结

本期演示了如何部署单实例数据库以及搭建True Cache的过程,但到现在True Cache功能还不可用,下一期将进行后续配置。
老规矩,知道写了些啥。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习:基于K-近邻(KNN)、高斯贝叶斯(GaussianNB)、SVC、随机森林(RF)、梯度提升树(GBDT)对葡萄酒质量进行预测

前言 系列专栏&#xff1a;机器学习&#xff1a;高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目&#xff0c;每个项目都处理一组不同的问题&#xff0c;包括监督和无监督学习、分类、回归和聚类&#xff0c;而且涉及创建深度学…

linux上如何排查JVM内存过高?

怎么排查JVM内存过高&#xff1f; 前言&#xff1a; 想必工作一两年以后的同学都会逐渐面临到&#xff0c;jvm等问题&#xff0c;但是可能苦于无法熟练的使用一些工具&#xff1b;本文将介绍几个比较常用分析工具的使用方法&#xff0c;带着大家一步步定位分析问题。 1、top 查…

springmvc下

第二类初始化操作 multipartResolver应用 localeResolver应用 themeResolver应用 handlerMapping应用 handlerAdapter应用 handlerExceptionReslver requestToViewNameTranslator应用 viewResolver应用 flashMapManager应用 dispatcherServlet逻辑处理 processRequest处理web请…

目标跟踪—卡尔曼滤波

目标跟踪—卡尔曼滤波 卡尔曼滤波引入 滤波是将信号中特定波段频率滤除的操作&#xff0c;是抑制和防止干扰的一项重要措施。是根据观察某一随机过程的结果&#xff0c;对另一与之有关的随机过程进行估计的概率理论与方法。 历史上最早考虑的是维纳滤波&#xff0c;后来R.E.卡…

【C语言】分支和循环(上)

【C语言】分支和循环&#xff08;上&#xff09; 1、if语句1.2 else1.3分支中包含多条语句1.4嵌套if1.5悬空else问题 2、关系操作符3、条件操作符4、逻辑操作符&#xff1a;与、或、非&#xff08;取反&#xff09;&#xff08;&&&#xff0c;||&#xff0c;&#xff0…

小猪APP分发平台 – 掌握移动应用的推广新途径

在移动互联网高速发展的背景下小猪APP分发平台 – 掌握移动应用的推广新途径&#xff0c;app分发已成为开发者和企业关注的重点。小猪APP分发平台作为行业内的新星小猪APP分发平台 – 掌握移动应用的推广新途径&#xff0c;提供了一个创新且高效的方式帮助开发者推广他们的应用…

ZOC8 for Mac v8.08.1激活版:卓越性能的SSH客户端

在远程连接和管理的世界中&#xff0c;ZOC8 for Mac以其卓越的性能和丰富的功能&#xff0c;成为了众多专业人士的首选SSH客户端。它支持SSH1、SSH2、Telnet、Rlogin、Serial等多种协议&#xff0c;让您轻松连接到远程服务器。ZOC8拥有简洁直观的界面和强大的功能设置&#xff…

SQL 基础 | JOIN 操作介绍

在SQL中&#xff0c;JOIN是一种强大的功能&#xff0c;用于将两个或多个表中的行结合起来&#xff0c;基于相关的列之间的关系。 JOIN操作通常用在SELECT语句中&#xff0c;以便从多个表中检索数据。 以下是几种基本的JOIN类型以及它们的用法&#xff1a; INNER JOIN&#xff1…

STM32 串口IDLE接收空闲中断+DMA

参考 http://t.csdnimg.cn/fAV38 1.基础知识 STM32 IDLE 接收空闲中断 功能&#xff1a; 在使用串口接受字符串时&#xff0c;可以使用空闲中断&#xff08;IDLEIE置1&#xff0c;即可使能空闲中断&#xff09;&#xff0c;这样在接收完一个字符串&#xff0c;进入空闲状态时&…

(三)Appdesigner-界面转换及数据导入和保存

提示&#xff1a;文章为系列文章&#xff0c;可以在对应学习专栏里面进行学习。对应资源已上传 目录 前言 一、Appdesigner是什么&#xff1f; 二、界面切换 三、数据导入及保存 &#xff08;一&#xff09;数据导入 &#xff08;二&#xff09;数据保存 总结 前言 Appd…

ubuntu搭建kms服务器

1.下载kms开源包(如果提示找不到wget命令的话:apt install wget): wget https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz2.解压: tar -xzvf binaries.tar.gz接着cd 进入 Linux/intel/static/ 文件夹下: 3.选择对应的文件&#xff0c;这里我们选…

C++:继承-继承权限

在C中&#xff0c;类的权限分为公有、私有和保护三种。这些权限控制了类的成员&#xff08;数据成员和成员函数&#xff09;对外部代码的可见性和访问性。 公有&#xff08;public&#xff09;权限&#xff1a; 在公有权限下声明的成员可以被类的外部代码直接访问&#xff1b;公…

第十篇:深入文件夹:Python中的文件管理和自动化技术

深入文件夹&#xff1a;Python中的文件管理和自动化技术 1 文件系统基础操作 在今天的技术博客中&#xff0c;我们将深入探讨Python中的文件系统基础操作。文件系统对于任何操作系统都是不可或缺的组成部分&#xff0c;它管理着数据的存储、检索以及维护。Python通过其标准库中…

【Linux 进程】 自定义shell

目录 关于shell 1.打印提示符&&获取用户命令字符​编辑 2.分割字符串 3.检查是否为内建命令 cd命令 export命令 echo命令 1.输出最后一个执行的命令的状态退出码&#xff08;返回码&#xff09; 2.输出指定环境变量 4.执行外部命令 关于shell Shell 是计算机操…

免费开源,无需 GPU,本地化部署大语言模型的对话系统

免费开源&#xff0c;无需 GPU&#xff0c;本地化部署大语言模型的对话系统 分类 编程技术 项目名: FreeAskInternet -- 本地化部署大语言模型的对话系统 Github 开源地址&#xff1a; https://github.com/nashsu/FreeAskInternet FreeAskInternet 是一个免费开源的工具&am…

Kotlin: Expecting a ‘>‘

数组值为任意类型&#xff0c;声明报错: Kotlin: Expecting a > var anyArr1: Array<Any?> arrayOf("a", "b", "c", true, 34)原因是&#xff1a; // var anyArr1: Array<Any?> arrayOf("a", "b", "c…

发电厂智能巡检机器人:让发电厂更安全、更高效

在发电厂的众多应用场景中&#xff0c;升压站、化学车间、空冷塔、输煤皮带、综合管廊等&#xff0c;一直以来都是人工巡检的主战场。然而&#xff0c;这些场所环境极为复杂&#xff0c;人工巡检面临着诸多难题&#xff0c;强度大、频率低、间隔长等问题突出。这使得设备在运行…

c++多线程基础

简介 c多线程基础需要掌握这三个标准库&#xff1a;std::thread, std::mutex, and std::async。 1. Hello, world #include <iostream> #include <thread>void hello() { std::cout << "Hello Concurrent World!\n"; }int main() {std::thread…

[NSSCTF]prize_p2

题目 打开是一段js代码 // 导入所需的模块 const { randomBytes } require(crypto); // 导入 crypto 模块&#xff0c;用于生成随机字节 const express require(express); // 导入 Express.js 模块&#xff0c;用于构建 Web 应用程序 const fs require(fs); // 导入文件系…

论文笔记:(Security 22) 关于“二进制函数相似性检测”的调研

个人博客链接 注&#xff1a;部分内容参考自GPT生成的内容 [Security 22] 关于”二进制函数相似性检测“的调研&#xff08;个人阅读笔记&#xff09; 论文&#xff1a;《How Machine Learning Is Solving the Binary Function Similarity Problem》&#xff08;Usenix Securi…