Oracle AI db 26ai中借助dbca创建pdb的过程

• 概念描述

• 测试验证

• 知识总结

• 参考文档

概念描述

在Oracle AI database 26ai中基于alert日志梳理pdb创建的过程。

测试验证

1、创建pdb命令

...

sql 复制代码
2026-01-29T02:16:46.895316-05:00
CREATE PLUGGABLE DATABASE "xfpdb" ADMIN USER pdbadmin identified by * ROLES=(CONNECT)  PARALLEL  file_name_convert=('/u01/app/oracle/oradata/CDBXF/pdbseed/undotbs01.dbf','/u01/app/oracle/oradata/CDBXF/xfpdb/undotbs01.dbf',
'/u01/app/oracle/oradata/CDBXF/pdbseed/sysaux01.dbf','/u01/app/oracle/oradata/CDBXF/xfpdb/sysaux01.dbf',
'/u01/app/oracle/oradata/CDBXF/pdbseed/system01.dbf','/u01/app/oracle/oradata/CDBXF/xfpdb/system01.dbf',
'/u01/app/oracle/oradata/CDBXF/pdbseed/temp01.dbf','/u01/app/oracle/oradata/CDBXF/xfpdb/temp01.dbf')  STORAGE INHERIT
2026-01-29T02:16:47.157285-05:00
PDB$SEED(2): AUDSYS.AUD$UNIFIED (SQL_TEXT) - CLOB populated
...

pdb创建仍然像19c,12c版本一样使用的
CREATE PLUGGABLE DATABASE XXX ADMIN ... file_name_convert=...

子句。

2、修改基表file$

sql 复制代码
Completed: CREATE PLUGGABLE DATABASE "xfpdb" ADMIN USER pdbadmin identified by * ROLES=(CONNECT)  PARALLEL  file_name_convert=('/u01/app/oracle/oradata/CDBXF/pdbseed/undotbs01.dbf','/u01/app/oracle/oradata/CDBXF/xfpdb/undotbs01.dbf',
'/u01/app/oracle/oradata/CDBXF/pdbseed/sysaux01.dbf','/u01/app/oracle/oradata/CDBXF/xfpdb/sysaux01.dbf',
'/u01/app/oracle/oradata/CDBXF/pdbseed/system01.dbf','/u01/app/oracle/oradata/CDBXF/xfpdb/system01.dbf',
'/u01/app/oracle/oradata/CDBXF/pdbseed/temp01.dbf','/u01/app/oracle/oradata/CDBXF/xfpdb/temp01.dbf')  STORAGE INHERIT
alter pluggable database "XFPDB" open
XFPDB(3):Autotune of undo retention is turned on.
XFPDB(3):Deleting old file#2 from file$
XFPDB(3):Deleting old file#4 from file$
XFPDB(3):Deleting old file#6 from file$
XFPDB(3):Deleting old file#8 from file$
XFPDB(3):Deleting old file#9 from file$
XFPDB(3):Adding new file#12 to file$(old file#2).             fopr-1, newblks-44800, oldblks-19200
XFPDB(3):Adding new file#13 to file$(old file#4).             fopr-1, newblks-51200, oldblks-15360
XFPDB(3):Adding new file#14 to file$(old file#9).             fopr-1, newblks-12800, oldblks-12800
XFPDB(3):Bug 38433601: Check for update service name
XFPDB(3):Bug 38433601: Call ksws_update_pdb_attr
2026-01-29T02:16:50.180579-05:00

pdb创建完成后对file$ 基表进行了修改delete了2,4,6,8,9add file#12,13,14

在pdb中查询file$

sql 复制代码
SQL> alter session set container=xfpdb;

Session altered.

SQL> select FILE# ,CRSCNWRP,SPARE4 from file$;

     FILE#   CRSCNWRP SPARE4
---------- ---------- ---------
        13          0
        15          0
        12          0
        14          0

file$sys用户下的数据字典基表,他对应的是cdb_data_files和dba_data_files。

sql 复制代码
SQL> select owner,OBJECT_NAME,con_id from cdb_objects where OBJECT_NAME='FILE$';

OWNER      OBJECT_NAM     CON_ID
---------- ---------- ----------
SYS        FILE$               3

SQL>
SQL> EXPLAIN PLAN FOR select file_name,FILE_ID,TABLESPACE_NAME from cdb_data_files;

Explained.

SQL> SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1403926647

------------------------------------------------------------------------------------------------------
| Id  | Operation                         | Name             | Rows  | Bytes | Cost (%CPU)| Time     |
------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                  |                  |     2 |   576 |     4   (0)| 00:00:01 |
|   1 |  VIEW                             | DBA_DATA_FILES   |     2 |   576 |     4   (0)| 00:00:01 |
|   2 |   UNION-ALL                       |                  |     2 |   774 |     4   (0)| 00:00:01 |
|   3 |    NESTED LOOPS                   |                  |     1 |   369 |     2   (0)| 00:00:01 |
|   4 |     NESTED LOOPS                  |                  |     1 |   359 |     1   (0)| 00:00:01 |
|   5 |      NESTED LOOPS                 |                  |     1 |   333 |     1   (0)| 00:00:01 |
|*  6 |       FIXED TABLE FULL            | X$KCCFN          |     1 |   323 |     0   (0)| 00:00:01 |
|*  7 |       TABLE ACCESS BY INDEX ROWID | FILE$            |     1 |    10 |     1   (0)| 00:00:01 |
|*  8 |        INDEX UNIQUE SCAN          | I_FILE1          |     1 |       |     0   (0)| 00:00:01 |
|*  9 |      FIXED TABLE FIXED INDEX      | X$KCCFE (ind:1)  |     1 |    26 |     0   (0)| 00:00:01 |
|  10 |     TABLE ACCESS CLUSTER          | TS$              |     1 |    10 |     1   (0)| 00:00:01 |
|* 11 |      INDEX UNIQUE SCAN            | I_TS#            |     1 |       |     0   (0)| 00:00:01 |
|  12 |    NESTED LOOPS                   |                  |     1 |   405 |     2   (0)| 00:00:01 |
|  13 |     NESTED LOOPS                  |                  |     1 |   395 |     1   (0)| 00:00:01 |
|  14 |      NESTED LOOPS                 |                  |     1 |   369 |     1   (0)| 00:00:01 |
|  15 |       NESTED LOOPS                |                  |     1 |   330 |     1   (0)| 00:00:01 |
|* 16 |        FIXED TABLE FULL           | X$KCCFN          |     1 |   323 |     0   (0)| 00:00:01 |
|* 17 |        TABLE ACCESS BY INDEX ROWID| FILE$            |     1 |     7 |     1   (0)| 00:00:01 |
|* 18 |         INDEX UNIQUE SCAN         | I_FILE1          |     1 |       |     0   (0)| 00:00:01 |
|* 19 |       FIXED TABLE FIXED INDEX     | X$KTFBHC (ind:1) |     1 |    39 |     0   (0)| 00:00:01 |
|* 20 |      FIXED TABLE FIXED INDEX      | X$KCCFE (ind:1)  |     1 |    26 |     0   (0)| 00:00:01 |
|  21 |     TABLE ACCESS CLUSTER          | TS$              |     1 |    10 |     1   (0)| 00:00:01 |
|* 22 |      INDEX UNIQUE SCAN            | I_TS#            |     1 |       |     0   (0)| 00:00:01 |
------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   6 - filter("FNNAM" IS NOT NULL AND ("CON_ID"=0 OR "CON_ID"=3) AND "FNTYP"=4 AND
              "INST_ID"=USERENV('INSTANCE') AND BITAND("FNFLG",4)<>4)
   7 - filter("F"."SPARE1" IS NULL)
   8 - access("FNFNO"="F"."FILE#")
   9 - filter(("CON_ID"=0 OR "CON_ID"=3) AND "CON_ID"=TO_NUMBER(SYS_CONTEXT('USERENV','CON_ID'
              )) AND "FENUM"="F"."FILE#")
  11 - access("F"."TS#"="TS"."TS#")
  16 - filter("FNNAM" IS NOT NULL AND ("CON_ID"=0 OR "CON_ID"=3) AND "FNTYP"=4 AND
              "INST_ID"=USERENV('INSTANCE') AND BITAND("FNFLG",4)<>4)
  17 - filter("F"."SPARE1" IS NOT NULL)
  18 - access("FNFNO"="F"."FILE#")
  19 - filter(("CON_ID"=0 OR "CON_ID"=3) AND "FNFNO"="KTFBHCAFNO")
  20 - filter(("CON_ID"=0 OR "CON_ID"=3) AND "FENUM"="F"."FILE#" AND
              "CON_ID"=TO_NUMBER(SYS_CONTEXT('USERENV','CON_ID')))
  22 - access("KTFBHCTSN"="TS"."TS#")

Note
-----
   - this is an adaptive plan

52 rows selected.

3、重建temp表空间

sql 复制代码
Completed: alter pluggable database "XFPDB" open
2026-01-29T02:16:55.557564-05:00
XFPDB(3):CREATE SMALLFILE TEMPORARY TABLESPACE TEMP_NON_ENC TEMPFILE '/u01/app/oracle/oradata/CDBXF/xfpdb/temp01_NON_ENC.dbf' SIZE 84M REUSE AUTOEXTEND ON NEXT  8192K MAXSIZE 4095M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K
XFPDB(3):Tablespace created: TEMP_NON_ENC ts# 5
XFPDB(3):Completed: CREATE SMALLFILE TEMPORARY TABLESPACE TEMP_NON_ENC TEMPFILE '/u01/app/oracle/oradata/CDBXF/xfpdb/temp01_NON_ENC.dbf' SIZE 84M REUSE AUTOEXTEND ON NEXT  8192K MAXSIZE 4095M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K
XFPDB(3):ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "TEMP_NON_ENC"
XFPDB(3):Completed: ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "TEMP_NON_ENC"
ALTER PLUGGABLE DATABASE "XFPDB" CLOSE IMMEDIATE
2026-01-29T02:16:55.667448-05:00
XFPDB(3):JIT: pid 60281 requesting stop
XFPDB(3):TABLE SYS.ACTIVITY_TABLE$: ADDED INTERVAL PARTITION SYS_P503 (1) VALUES LESS THAN (106)
XFPDB(3):Buffer Cache flush started: 3
XFPDB(3):Buffer Cache flush finished: 3
Completed: Pluggable database XFPDB closed services=None
Completed: ALTER PLUGGABLE DATABASE "XFPDB" CLOSE IMMEDIATE
alter pluggable database "XFPDB" open
XFPDB(3):Autotune of undo retention is turned on.
2026-01-29T02:16:56.887292-05:00
XFPDB(3):Opening pdb with no Resource Manager plan active
Completed: Pluggable database XFPDB opened read write
2026-01-29T02:16:57.602788-05:00
Completed: alter pluggable database "XFPDB" open
XFPDB(3):drop tablespace TEMP including contents and datafiles
2026-01-29T02:16:57.978035-05:00
XFPDB(3):Deleted file /u01/app/oracle/oradata/CDBXF/xfpdb/temp01.dbf
XFPDB(3):Tablespace dropped: TEMP ts# 3
XFPDB(3):Completed: drop tablespace TEMP including contents and datafiles
XFPDB(3):CREATE SMALLFILE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/app/oracle/oradata/CDBXF/xfpdb/temp01.dbf' SIZE 84M REUSE AUTOEXTEND ON NEXT  8192K MAXSIZE 4095M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K
XFPDB(3):Tablespace created: TEMP ts# 3
XFPDB(3):Completed: CREATE SMALLFILE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/app/oracle/oradata/CDBXF/xfpdb/temp01.dbf' SIZE 84M REUSE AUTOEXTEND ON NEXT  8192K MAXSIZE 4095M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K
XFPDB(3):ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "TEMP"
ALTER PLUGGABLE DATABASE "XFPDB" CLOSE IMMEDIATE
XFPDB(3):JIT: pid 60281 requesting stop
XFPDB(3):Buffer Cache flush started: 3
XFPDB(3):Buffer Cache flush finished: 3
2026-01-29T02:16:58.646017-05:00
Completed: Pluggable database XFPDB closed services=None
Completed: ALTER PLUGGABLE DATABASE "XFPDB" CLOSE IMMEDIATE
alter pluggable database "XFPDB" open
XFPDB(3):Autotune of undo retention is turned on.
2026-01-29T02:16:59.379553-05:00
XFPDB(3):Opening pdb with no Resource Manager plan active
2026-01-29T02:16:59.678638-05:00
Completed: Pluggable database XFPDB opened read write
Completed: alter pluggable database "XFPDB" open
XFPDB(3):drop tablespace TEMP_NON_ENC including contents and datafiles
XFPDB(3):Deleted file /u01/app/oracle/oradata/CDBXF/xfpdb/temp01_NON_ENC.dbf
XFPDB(3):Tablespace dropped: TEMP_NON_ENC ts# 5
XFPDB(3):Completed: drop tablespace TEMP_NON_ENC including contents and datafiles

创建TEMP_NON_ENC临时表空间 ,drop temp临时表空间并重建,drop TEMP_NON_ENC 临时表空间。将数据库的默认临时表空间修改为temp表空间。

TEMP_NON_ENC从名称来看是非加密临时表空间。

从数据库日志看在创建pdb过程中,有创建temp和drop temp动作,根据官网描述应该是表空间转换。
About Encryption Conversion for Tablespaces and Databases

4、创建users表空间

sql 复制代码
XFPDB(3):CREATE BIGFILE TABLESPACE "USERS" LOGGING  DATAFILE  '/u01/app/oracle/oradata/CDBXF/xfpdb/users01.dbf' SIZE 7M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED  EXTENT MANAGEMENT LOCAL  SEGMENT SPACE MANAGEMENT  AUTO
XFPDB(3):Tablespace created: USERS ts# 6
XFPDB(3):Completed: CREATE BIGFILE TABLESPACE "USERS" LOGGING  DATAFILE  '/u01/app/oracle/oradata/CDBXF/xfpdb/users01.dbf' SIZE 7M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED  EXTENT MANAGEMENT LOCAL  SEGMENT SPACE MANAGEMENT  AUTO
XFPDB(3):ALTER DATABASE DEFAULT TABLESPACE "USERS"
XFPDB(3):Completed: ALTER DATABASE DEFAULT TABLESPACE "USERS"

创建USERS表空间并设为数据库默认表空间,26ai中users表空间是bigfile类型。

5、查询pdb中的表空间

sql 复制代码
SQL> select con_id,TABLESPACE_NAME,BIGFILE from cdb_tablespaces;

    CON_ID TABLESPACE_NAME                BIG
---------- ------------------------------ ---
         3 SYSTEM                         YES
         3 SYSAUX                         YES
         3 UNDOTBS1                       YES
         3 TEMP                           NO
         3 USERS                          YES

26ai中创建pdb时的系统默认表空间类型是bigfile。

知识总结

26ai中通过dbca方式创建pdb总体与之前版本一致,默认表空间类型发生了变化,默认表空间SYSTEM,SYSAUX,UNDOTBS,USERS为bigfie,表空间类型的变化对于日常日常运维中表空间扩容的方式也发生变化。

-the end-

相关推荐
heze092 小时前
sqli-labs-Less-28a
数据库·mysql·网络安全
久违8162 小时前
SQL注入攻击核心技术深度总结
数据库·sql·oracle
2401_891450462 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
helloworldandy2 小时前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
「光与松果」2 小时前
Oracle中v$session视图用法
数据库·oracle
木辰風2 小时前
PLSQL自定义自动替换(AutoReplace)
java·数据库·sql
无限码力2 小时前
华为OD技术面真题 - 数据库MySQL - 3
数据库·mysql·华为od·八股文·华为od技术面八股文
heartbeat..2 小时前
Redis 中的锁:核心实现、类型与最佳实践
java·数据库·redis·缓存·并发
Prince-Peng2 小时前
技术架构系列 - 详解Redis
数据结构·数据库·redis·分布式·缓存·中间件·架构