Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Flashback transaction query in pluggable database 12c release 2

s.sorrentiJan 17 2019 — edited Apr 4 2019

Hi all,

I've a 12.2.0.1 CDB with a PDB, and trying to do a flashback transaction query fails with this error:

SELECT xid, operation, start_scn,commit_scn, logon_user, undo_sql FROM flashback_transaction_query WHERE  xid = HEXTORAW('060016009F020000')                              

ORA-16331: container "PDB1" is not open

I can't open PDB1 if the table CUSTOMERS is in PROVA.

Any idea to fix the problem?

Thanks

Simone

My script:

CREATE USER c##prova IDENTIFIED BY prova;

GRANT create session, connect, dba TO c##prova CONTAINER=ALL;

CREATE PLUGGABLE DATABASE prova ADMIN USER prova IDENTIFIED BY prova FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/cdb1/pdbseed', '/u01/app/oracle/oradata/cdb1/prova');

ALTER SESSION SET CONTAINER=prova;

alter pluggable database prova open services=all;

GRANT connect, resource, pdb_dba, alter database TO c##prova;

ho mkdir -p /u01/app/oracle/oradata/cdb1/prova/datafile/prova_TABLES

ho mkdir -p /u01/app/oracle/oradata/cdb1/prova/datafile/prova_INDEXES

ho mkdir -p /u01/app/oracle/oradata/cdb1/prova/datafile/prova_FLASHBACK

ho chmod  750 -R /u01/app/oracle/oradata/cdb1/prova

create tablespace prova_TABLES datafile '/u01/app/oracle/oradata/cdb1/prova/datafile/prova_TABLES/prova_tables.dbf1' size 1G;

create tablespace prova_INDEXES datafile '/u01/app/oracle/oradata/cdb1/prova/datafile/prova_INDEXES/prova_indexes.dbf1' size 1G;

create tablespace prova_FLASHBACK datafile '/u01/app/oracle/oradata/cdb1/prova/datafile/prova_FLASHBACK/prova_flashback1.dbf1' size 1G;

GRANT DBA, CREATE SESSION, CONNECT TO c##prova;

conn c##prova/prova

CREATE FLASHBACK ARCHIVE flash_test TABLESPACE prova_FLASHBACK QUOTA 1G RETENTION 1 YEAR;

CREATE TABLE customers( customer_id number(10) NOT NULL, customer_name varchar2(50) NOT NULL)TABLESPACE prova_TABLES  FLASHBACK ARCHIVE flash_test;

INSERT INTO customers(customer_id, customer_name) VALUES (1, 'Oliver');

Comments
Post Details
Added on Jan 17 2019
1 comment
550 views