I am presently evaluating Oracle 23's FREE image with XStream using the Oracle Container Registry image having completed the following custom-setup options:
- Created the
recovery_area
path in the image for archive logs. - Set
db_recovery_file_dest_size
anddb_recovery_file_dest
andenable_goldengate_replication
. - Enabled archive log mode and bounced the database after above configurations.
- Created the
c##xsadmin
tablespaces in both theFREE
andFREEPDB
databases. - Created the user
c##xsadmin
in theFREE
root database assigned to its tablespaces. - Grant
CREATE_SESSION
,SET CONTAINER
,XSTREAM_CAPTURE
, andXSTREAM_APPLY
to thec##xsadmin
user. - Created a local user in
FREEPDB1
that I connect with the following grants:CONNECT
,CREATE SESSION
,CREATE TABLE
,CREATE SEQUENCE
. - Created the
c##xsuser
tablespaces in both theFREE
andFREEPDB1
databases. - Created the common user
c##xsuser
in theFREE
root database specifying thec##xsuser
tablespaces above. - Grant
CREATE SESSION
,SET CONTAINER
,SELECT ON V$DATABASE
,FLASHBACK
,SELECT_CATALOG_ROLE
, andEXECUTE_CATALOG_ROLE
to thec##xsuser
common user.
With those steps in place, I begin to create the XStream outbound server by running the following using the c##xsadmin
user in the FREE
database:
DECLARE
tables DBMS_UTILITY.UNCL_ARRAY;
schemas DBMS_UTILITY.UNCL_ARRAY;
BEGIN
tables(1) := NULL;
schemas(1) := 'debezium';
DBMS_XSTREAM_ADM.CREATE_OUTBOUND(
server_name => 'dbzxout',
table_names => tables,
schema_names => schemas);
END;
Finally, I reconnect as the sys
user with sysdba
role and execute:
DBMS_XSTREAM_ADM.ALTER_OUTBOUND(
server_name => 'dbzxout',
connect_user => 'c##xsuser');
END;
In the container I see XStream and GG start:
The following output is now a tail of the alert.log:
Current log# 3 seq# 6 mem# 0: /opt/oracle/oradata/FREE/redo03.log
2023-11-03T16:07:51.090708+00:00
Thread 1 advanced to log sequence 7 (LGWR switch), current SCN: 3168082
Current log# 1 seq# 7 mem# 0: /opt/oracle/oradata/FREE/redo01.log
2023-11-03T16:07:51.105474+00:00
NET (PID:920): Archived Log entry 5 added for B-1146462010.T-1.S-6 ID 0x548cb679 LAD:1 [krse.c:4846]
2023-11-03T16:07:52.900689+00:00
First applied SCN for apply w/ object number 70773 and subscriber sequence number 1 is updated to SCN: 0 (0x0000000000000000)
2023-11-03T16:07:52.907440+00:00
First applied SCN of the XStream path from capture (CAP$_DBZXOUT_1) to propagation () to apply (DBZXOUT) is set to SCN: 3166601 (0x0000000000305189)
Resize operation completed for file# 3, fname /opt/oracle/oradata/FREE/sysaux01.dbf, old size 573440K, new size 583680K
2023-11-03T16:07:59.672209+00:00
Resize operation completed for file# 3, fname /opt/oracle/oradata/FREE/sysaux01.dbf, old size 583680K, new size 604160K
Resize operation completed for file# 3, fname /opt/oracle/oradata/FREE/sysaux01.dbf, old size 604160K, new size 614400K
2023-11-03T16:08:01.292894+00:00
Resize operation completed for file# 3, fname /opt/oracle/oradata/FREE/sysaux01.dbf, old size 614400K, new size 645120K
2023-11-03T16:08:04.237279+00:00
Resize operation completed for file# 3, fname /opt/oracle/oradata/FREE/sysaux01.dbf, old size 645120K, new size 655360K
2023-11-03T16:08:04.286567+00:00
Resize operation completed for file# 3, fname /opt/oracle/oradata/FREE/sysaux01.dbf, old size 655360K, new size 686080K
2023-11-03T16:08:06.824192+00:00
Resize operation completed for file# 3, fname /opt/oracle/oradata/FREE/sysaux01.dbf, old size 686080K, new size 696320K
2023-11-03T16:08:06.857728+00:00
Resize operation completed for file# 3, fname /opt/oracle/oradata/FREE/sysaux01.dbf, old size 696320K, new size 727040K
2023-11-03T16:08:08.921850+00:00
:
LOGMINER: Gathering statistics on logminer dictionary. (incremental, nonparallel)
Running SELECT dbms_apply_process.get_apply#('DBZXOUT');
outputs:
1000
Running SELECT STATE FROM V$PROPAGATION_RECEIVER;
outputs:
Waiting for message from propagation sender
Running SELECT SERVER_NAME, CONNECT_USER, CAPTURE_NAME, SOURCE_DATABASE, CAPTURE_USER, QUEUE_OWNER FROM ALL_XSTREAM_OUTBOUND;
outputs:
DBXOUT | C##XSUSER | CAP$_DBXOUT_1 | FREE | C##XSADMIN | C##XSADMIN
I have also checked DBA_ALERT_HISTORY
and DBA_OUTSTANDING_ALERTS
for good measure and I don't get any results, so I'm really baffled as to why when my client attempts to attach to the XStream process, I get the error:
Caused by: oracle.streams.StreamsException: ORA-26701: XStream process DBZXOUT does not exist
I compared this to my steps for Oracle 19 and the only difference I found was needing to assign XSTREAM_CAPTURE
and XSTREAM_APPLY
roles rather than using the DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE
package and it works for that version.
Does anyone have any suggestions on what I may have done incorrectly?