一、环境准备
- container模式在23.8.0.25.04这个版本有报错提示。最后校验,预计RPM上安装解决。
- 操作系统与目录规范--挂载目录报错,原因不知是不是现在的container已到了23.8.0.25.04有改变
--挂载本地磁盘到镜像的路径,在podman配置文件中
--将报错 -v /u01/app/oracle/oradata/tru-cc-free:/opt/oracle/oradata
# 创建符合 OFA 标准的目录
sudo mkdir -p /u01/app/oracle/oradata/{pri-db-free,tru-cc-free}
sudo chmod 775 /u01/app/oracle/oradata/*
官方手册:
主库必须为归档模式(ARCHIVELOG)
True%20Cache%20节点需安装相同版本的%20Oracle%20软件
- 拉取官方镜像
podman%20pull%20container-registry.oracle.com/database/free:latest
二、网络配置(Oracle%20网络规范)
#%20创建%20macvlan%20网络
podman network create -d macvlan \ --subnet=192.168.168.0/24 \ --gateway=192.168.168.1 \ -o parent=ens-192 tc_net
--parent 参数需替换为宿主机实际物理网卡
检查tc-net
[root@OL95 oradata]#podman inspect tc_net | grep -iw 'subnet'"subnet": "192.168.168.0/24",
创建名为%20oracle_pwd%20的%20Secret,内容来自文件或标准输入
echo "QAZwsx123456" > password.txt podman secret create oracle_pwd password.txt
三、主库部署(pri-db-free)--2025-06-01已验证,命令下是运行记录
podman run -td --name pri-db-free --hostname pri-db-free --net=tc_net --ip 192.168.168.10 -p :1521 --add-host="tru-cc-free:192.168.168.20"--secret=oracle_pwd -e ENABLE_ARCHIVELOG=true-e ENABLE_FORCE_LOGGING=truecontainer-registry.oracle.com/database/free:latest
[root@OL95 oradata]# podman run -d --name pri-db-free \
--hostname pri-db-free \
--network tc_net --ip 192.168.168.10 \
-p 1521:1521 \
--add-host="tru-cc-free:192.168.168.20" \
-e ORACLE_PWD=QAZwsx123456 \
-e ENABLE_ARCHIVELOG=true \
-e ENABLE_FORCE_LOGGING=true \
container-registry.oracle.com/database/free:latest
297bf1942d33a259a1514ff6ff6137f9c066a30d3adc26ff8ef9e6d45fafd1f3
[root@OL95 oradata]# podman logs -f pri-db-freeStarting Oracle Net Listener.
Oracle Net Listener started.
Starting Oracle Database instance FREE.
Oracle Database instance FREE started.
The Oracle base remains unchanged with value /opt/oracle
SQL*Plus: Release 23.0.0.0.0 - Production on Sun Jun 1 12:39:48 2025
Version 23.8.0.25.04
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.8.0.25.04
SQL>
User altered.
SQL>
User altered.
SQL>
Session altered.
SQL>
User altered.
SQL> Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.8.0.25.04
The Oracle base remains unchanged with value /opt/oracle#########################DATABASE IS READY TO USE!#########################The following output is now a tail of the alert.log:
Completed: Pluggable database FREEPDB1 opened read write
Completed: ALTER DATABASE OPEN
2025-06-01T12:39:48.847180+00:00
===========================================================
Dumping current patch information
===========================================================
No patches have been applied
===========================================================
2025-06-01T12:39:51.091870+00:00
FREEPDB1(3):TABLE AUDSYS.AUD$UNIFIED: ADDED INTERVAL PARTITION SYS_P288 (3989) VALUES LESS THAN (TIMESTAMP' 2025-06-02 00:00:00')
2025-06-01T12:40:43.660432+00:00
TABLE SYS.WRP$_REPORTS: ADDED AUTOLIST FRAGMENT SYS_P336 (2) VALUES (( 1471336774, TO_DATE(' 2025-05-26 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
TABLE SYS.WRP$_REPORTS_DETAILS: ADDED AUTOLIST FRAGMENT SYS_P337 (2) VALUES (( 1471336774, TO_DATE(' 2025-05-26 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
TABLE SYS.WRP$_REPORTS_TIME_BANDS: ADDED AUTOLIST FRAGMENT SYS_P340 (2) VALUES (( 1471336774, TO_DATE(' 2025-05-26 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
验证归档状态 :
[root@OL95 oradata]# podman exec -it pri-db-free sqlplus / as sysdba;SELECT log_mode FROM v$database; LOG_MODE ------------ ARCHIVELOG
容器内开启归档
podman%20exec%20-it%20pri-db-free%20\
sqlplus%20/%20as%20sysdba
>%20ALTER%20DATABASE%20ARCHIVELOG;
>%20ALTER%20SYSTEM%20SET%20LOG_ARCHIVE_DEST_1='LOCATION=/opt/oracle/oradata/arch';
拷贝主库密码文件到true%20cache主机,
建议在启动%20tru-cc-free主机的时候,logs会报错,再拷贝。
podman%20cp%20pri-db-free:/opt/oracle/product/23ai/dbhomeFree/dbs/orapwFREE%20tru-cc-free:/var/tmp/
四、True%20Cache%20部署(tru-cc-free)
- 启动true%20cache%20容器
podman run -td --name tru-cc-free \ --hostname tru-cc-free \ --net=tc_net \ --ip 192.168.168.20 \ -p :1521 \ --add-host="pri-db-free:192.168.168.10" \ --secret=oracle_pwd \ -e TRUE_CACHE=true \ -e PRIMARY_DB_PWD_FILE=/var/tmp/orapwFREE \ -e PRIMARY_DB_CONN_STR=192.168.168.10:1521/FREE \ container-registry.oracle.com/database/free:latest
运行记录
[root@OL95 oradata]# podman logs -f tru-cc-freeStarting Oracle Net Listener.
Oracle Net Listener started.
Starting Oracle Database instance FREE.
Oracle Database instance FREE started.
The Oracle base remains unchanged with value /opt/oracle
SQL*Plus: Release 23.0.0.0.0 - Production on Sun Jun 1 13:00:50 2025
Version 23.8.0.25.04
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.8.0.25.04
SQL>
User altered.
SQL>
User altered.
SQL>
Session altered.
SQL>
User altered.
SQL> Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.8.0.25.04
The Oracle base remains unchanged with value /opt/oracle#########################DATABASE IS READY TO USE!#########################The following output is now a tail of the alert.log:
Completed: Pluggable database FREEPDB1 opened read write
Completed: ALTER DATABASE OPEN
2025-06-01T13:00:50.880130+00:00
===========================================================
Dumping current patch information
===========================================================
No patches have been applied
===========================================================
2025-06-01T13:00:51.659941+00:00
FREEPDB1(3):TABLE AUDSYS.AUD$UNIFIED: ADDED INTERVAL PARTITION SYS_P288 (3989) VALUES LESS THAN (TIMESTAMP' 2025-06-02 00:00:00')
2025-06-01T13:00:59.355968+00:00
TABLE SYS.WRP$_REPORTS: ADDED AUTOLIST FRAGMENT SYS_P336 (2) VALUES (( 1471336774, TO_DATE(' 2025-05-26 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
TABLE SYS.WRP$_REPORTS_DETAILS: ADDED AUTOLIST FRAGMENT SYS_P337 (2) VALUES (( 1471336774, TO_DATE(' 2025-05-26 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
TABLE SYS.WRP$_REPORTS_TIME_BANDS: ADDED AUTOLIST FRAGMENT SYS_P340 (2) VALUES (( 1471336774, TO_DATE(' 2025-05-26 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
五、生成true%20cache的service
Creating%20True%20Cache%20with%20DBCA
手册介绍:
Once%20the%20True%20Cache%20container%20turns%20healthy,%20create%20database%20application%20services%20(sales_tc%20and%20sales_pdb_tc)%20for%20the%20True%20Cache%20by%20running%20the%20following%20commands%20from%20the%20pri-db-free%20container:
podman%20exec%20-it%20pri-db-free%20bash
$ORACLE_HOME/bin/dbca%20-configureDatabase%20-configureTrueCacheInstanceService%20-sourceDB%20FREE%20
-trueCacheConnectString%20192.168.168.20:1521/FREE%20-trueCacheServiceName%20sales_tc%20-serviceName%20FREE%20
-sysPassword%20$(cat%20/run/secrets/oracle_pwd)%20-silent
$ORACLE_HOME/bin/dbca%20-configureDatabase%20-configureTrueCacheInstanceService%20-sourceDB%20FREE%20
-trueCacheConnectString%20192.168.168.20:1521/FREE%20-trueCacheServiceName%20sales_pdb_tc%20-serviceName%20FREEPDB1%20
-pdbName%20FREEPDB1%20-sysPassword%20$(cat%20/run/secrets/oracle_pwd)%20-silent
bash-4.4$ $ORACLE_HOME/bin/dbca -configureDatabase -configureTrueCacheInstanceService -sourceDB FREE \ > -trueCacheConnectString 192.168.168.20:1521/FREE -trueCacheServiceName sales_tc -serviceName FREE \ > -sysPassword $(cat /run/secrets/oracle_pwd) -silent Session ID of the current execution is: 1 ----------------- Running Initialization job Completed Initialization job 33% complete ----------------- Running Validate_true_cache_instance_connection job Completed Validate_true_cache_instance_connection job 37% complete ----------------- Running Validate_dataguard job Skipping. Job is detected as not applicable. 41% complete ----------------- Running Validate_db_version job Completed Validate_db_version job 44% complete ----------------- Running Validate_true_cache_instance job Completed Validate_true_cache_instance job 48% complete ----------------- Running Validate_archive_log_mode job Completed Validate_archive_log_mode job 52% complete ----------------- Running Validate_pdb job Skipping. Job is detected as not applicable. 56% complete ----------------- Running Validate_primary_db_service job Completed Validate_primary_db_service job 59% complete ----------------- Running Validate_true_cache_db_service job Completed Validate_true_cache_db_service job 63% complete ----------------- Running Validate_true_cache_instance_open_mode job Execution of Validate_true_cache_instance_open_mode failed 67% complete [FATAL] [DBT-19953] True Cache is not in redo apply mode. CAUSE: True Cache should be in READ ONLY WITH APPLY mode *** Executing jobs which need to be run always... *** ******** PLUGIN EXECUTION FAILED ******** DBCA resume command:dbca -configureDatabase -configureTrueCacheInstanceService -sourceDB FREE -trueCacheConnectString 192.168.168.20:1521/FREE -trueCacheServiceName sales_tc -serviceName FREE -sysPassword ******************* -silent -resume -sessionID 1 Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE0.log" for further details. bash-4.4$ bash-4.4$ $ORACLE_HOME/bin/dbca -configureDatabase -configureTrueCacheInstanceService -sourceDB FREE \ > -trueCacheConnectString 192.168.168.20:1521/FREE -trueCacheServiceName sales_pdb_tc -serviceName FREEPDB1 \ > -pdbName FREEPDB1 -sysPassword $(cat /run/secrets/oracle_pwd) -silent Session ID of the current execution is: 2 ----------------- Running Initialization job Completed Initialization job 33% complete ----------------- Running Validate_true_cache_instance_connection job Completed Validate_true_cache_instance_connection job 37% complete ----------------- Running Validate_dataguard job Skipping. Job is detected as not applicable. 41% complete ----------------- Running Validate_db_version job Completed Validate_db_version job 44% complete ----------------- Running Validate_true_cache_instance job Completed Validate_true_cache_instance job 48% complete ----------------- Running Validate_archive_log_mode job Completed Validate_archive_log_mode job 52% complete ----------------- Running Validate_pdb job Completed Validate_pdb job 56% complete ----------------- Running Validate_primary_db_service job Completed Validate_primary_db_service job 59% complete ----------------- Running Validate_true_cache_db_service job Completed Validate_true_cache_db_service job 63% complete ----------------- Running Validate_true_cache_instance_open_mode job Execution of Validate_true_cache_instance_open_mode failed 67% complete [FATAL] [DBT-19953] True Cache is not in redo apply mode. CAUSE: True Cache should be in READ ONLY WITH APPLY mode *** Executing jobs which need to be run always... *** ******** PLUGIN EXECUTION FAILED ******** DBCA resume command:dbca -configureDatabase -configureTrueCacheInstanceService -sourceDB FREE -trueCacheConnectString 192.168.168.20:1521/FREE -trueCacheServiceName sales_pdb_tc -serviceName FREEPDB1 -pdbName FREEPDB1 -sysPassword ******************* -silent -resume -sessionID 2 Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE1.log" for further details. bash-4.4$
六:生成FREEPB1/SEVICE
podman run -td --name pri-db-free \ --hostname pri-db-free \ --net=tc_net \ --ip 192.168.168.10 \ -p :1521 \ --secret=oracle_pwd \ --add-host="tru-cc-free:192.168.168.20" \ -e ENABLE_ARCHIVELOG=true \ -e ENABLE_FORCE_LOGGING=true \ container-registry.oracle.com/database/free:latest podman run -td --name tru-cc-free \ --hostname tru-cc-free \ --net=tc_net \ --ip 192.168.168.20 \ -p :1521 \ --secret=oracle_pwd \ --add-host="pri-db-free:192.168.168.10" \ -e TRUE_CACHE=true \ -e PRIMARY_DB_CONN_STR=192.168.168.10:1521/FREE \ -e PDB_TC_SVCS="FREEPDB1:sales1:sales1_tc;FREEPDB1:sales2:sales2_tc;FREEPDB1:sales3:sales3_tc;FREEPDB1:sales4:sales4_tc" \ container-registry.oracle.com/database/free:latest
修改容器内的密码
podman%20exec%20tru-cc-free%20./setPassword.sh%20QAZwsx123456
连接字符串格式:[username]@[hostname]:[port]/[DB%20service%20name]%20[AS%20SYSDBA]
要连接到每一个%20Pluggable%20Database%20(PDB),请使用:
七、连接到%20Oracle%20Database%20Free
SQL
sqlplus%20sys@localhost:1521/FREEPDB1%20as%20sysdba
要连接到%20Container%20Database%20(CDB),请使用:
sqlplus%20sys@localhost:1521/FREE%20as%20sysdba
Java
OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:@localhost:1521/FREEPDB1"); // jdbc:oracle:thin@[hostname]:[port]/[DB service name]ods.setUser("[Username]");
ods.setPassword("[Password]");Connection conn = ods.getConnection();
PreparedStatement stmt = conn.prepareStatement("SELECT 'Hello World!' FROM dual");ResultSet rslt = stmt.executeQuery();while (rslt.next()) {
System.out.println(rslt.getString(1));
}
八、检测 True%20Cache
--container模式在23.8.0.25.04这个版本有
SQL> col service_id set A20 SQL> col service for A20 SQL> col name for A20 SQL> col true_cache_service for A30 SQL> SELECT service_id, name, true_cache_service FROM v$active_services; SERVICE_ID NAME TRUE_CACHE_SERVICE ---------- -------------------- ------------------------------ 3 freeXDB 1 SYS$BACKGROUND 2 SYS$USERS 8 freepdb1 4 free
编辑推荐:
- 3-Oracle23 ai free True Cache podman实操03-03
- 还是要感谢一下Oracle03-03
- 使用relink解决国产操作系统上安装11g的问题03-03
- 山水行吟03-03
- 2025年10个顶·级GPU云平台:Serverless+RL开启AI普惠时代03-03
- 68元洗剪吹没落了,10元快剪干翻“Tony老师”03-03
- OGG双活集群,年故障时间=0分钟!03-03
- 苹果越来越像安卓,华为越来越像苹果03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 3-Oracle23 ai free True Cache podman实操
- 还是要感谢一下Oracle
还是要感谢一下Oracle
26-03-03 - 2025年10个顶·级GPU云平台:Serverless+RL开启AI普惠时代
- 68元洗剪吹没落了,10元快剪干翻“Tony老师”
68元洗剪吹没落了,10元快剪干翻“Tony老师”
26-03-03 - OGG双活集群,年故障时间=0分钟!
OGG双活集群,年故障时间=0分钟!
26-03-03 - 苹果越来越像安卓,华为越来越像苹果
苹果越来越像安卓,华为越来越像苹果
26-03-03 - 茅台不值2000块,这个公仔就值吗?
茅台不值2000块,这个公仔就值吗?
26-03-03 - 别只盯着iOS换皮了,苹果这波是冲着鸿蒙来的
别只盯着iOS换皮了,苹果这波是冲着鸿蒙来的
26-03-03 - Oracle Procedure IV
Oracle Procedure IV
26-03-03 - 19c使用asm报磁盘组未挂在及密码错误
19c使用asm报磁盘组未挂在及密码错误
26-03-03
