Oracle AI db 26ai中借助dbca创建pdb的过程
❝
Oracle AI db 26ai在Linux X86-64平台本地部署版本发布后,笔者进行单机版安装,并进行建库等,本文梳理中通过dbca创建pdb的过程。
笔者文章集合详见:
概念描述
在Oracle AI database 26ai中基于alert日志梳理pdb创建的过程。
测试验证
1、创建
pdb命令
...
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$
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,9
add file#12,13,14
在
pdb中查询
file$
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>
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表空间
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表空间
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>
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-
