
I was cloning a PDB from another PDB when I faced this error:
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 TECH01 READ WRITE NO
SQL> select file_name from cdb_data_files;
FILE_NAME
/u01/app/oracle/oradata/TECHCDB/system01.dbf
/u01/app/oracle/oradata/TECHCDB/sysaux01.dbf
/u01/app/oracle/oradata/TECHCDB/undotbs01.dbf
/u01/app/oracle/oradata/TECHCDB/users01.dbf
/u01/app/oracle/oradata/TECHCDB/TECH01/pdbseed/system01.dbf
/u01/app/oracle/oradata/TECHCDB/TECH01/pdbseed/sysaux01.dbf
/u01/app/oracle/oradata/TECHCDB/TECH01/ts_tde.dbf
/u01/app/oracle/oradata/TECHCDB/TECH01/TS_16K.DBF
/u01/app/oracle/oradata/TECHCDB/TECH01/USERSDB1.DBF
9 rows selected.
SQL>!mkdir /u01/app/oracle/oradata/TECHCDB/TECH02
SQL>!ls -ld /u01/app/oracle/oradata/TECHCDB/TECH02
drwxrwxr-x 2 oracle oracle 4096 Jan 30 12:37 /u01/app/oracle/oradata/TECHCDB/TECH02
SQL> !ls -ltr /u01/app/oracle/oradata/TECHCDB/TECH02
total 0
SQL>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 TECH01 READ WRITE NO
SQL> alter pluggable database TECH01 close;
Pluggable database altered.
SQL>alter pluggable database TECH01 open read only;
Pluggable database altered.
SQL>create pluggable database TECH02 from TECH01 FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/TECHCDB/TECH01/','/u01/app/oracle/oradata/TECHCDB/TECH02');
Pluggable database created.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 TECH01 READ ONLY NO
4 TECH02 MOUNTED
SQL> alter pluggable database TECH02 open;
Warning: PDB altered with errors.
SQL> show errors
No errors.
SQL>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 TECH01 READ WRITE NO
4 TECH02 READ WRITE YES
SQL> alter pluggable database TECH02 close;
Pluggable database altered.
SQL>alter pluggable database TECH02 open read write;
Warning: PDB altered with errors.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 TECH01 READ WRITE NO
4 TECH02 READ WRITE YES
Then I was wondering what shall I do now once the command is “show errors” but replied “No errors.”, and it didn’t give any clear message that was different from “Warning: PDB altered with errors.”. I came to a realization after doing some research and I found that the view pdb_plug_in_violations and found out the reason of the warning and it was because my database has Transparent Data Encryption configured and was missing the keys from the source database as showed below:
SQL> select message,time from pdb_plug_in_violations; MESSAGE< TIME PDB needs to import keys from source. 30-JAN-20 12.47.01.691154 PM SQL> select * from v$encryption_wallet; WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID FILE /u01/app/oracle/admin/TECHCDB/wallet NOT_AVAILABLE UNKNOWN SINGLE UNDEFINED 0
So I have copied the keys from the source and I have solved my problem. I hope that when you face any warning with your PDB you can use this to help you track the possible problems in your database.


*The views expressed here are my own and do not represent those of my employer.*
Hello, I’m Bruno — a dual citizen of Brazil and Sweden. I bring a global perspective shaped by experiences in both South America and Europe, with a strong focus on collaboration and innovation across cultures. I am a Computer Scientist, PhD Candidate in Information and Communication Technologies, focusing on Data Science and Artificial Intelligence, and hold dual Master’s degrees in Data Science and Cybersecurity. With over fifteen years of international experience spanning Brazil, Hungary, and Sweden, I have collaborated with global organizations such as IBM, Playtech, and Oracle, as well as contributed remotely to projects across multiple regions. My professional interests include Databases, Cybersecurity, Cloud Computing, Data Science, Data Engineering, Big Data, Artificial Intelligence, Programming, and Software Engineering, all driven by a deep passion for transforming data into strategic business value.