Oracle12cๅ…‹้š†PDB

Oracle12cๅ…‹้š†PDB

๐““๐“ธ๐“ท Lv6

Oracle12c/19cๅ…‹้š†PDB

ไธ€ใ€ไปŽPDB$SEEDๅ…‹้š†
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 BBSPROD READ WRITE NO

SQL> set linesize 200 pagesize 200
SQL> col file_name for a70
SQL> select con_id,file_name from cdb_data_files;

CON_ID FILE_NAME
---------- ----------------------------------------------------------------------
3 /u01/app/oracle/oradata/PRODCDB/bbsprod/example01.dbf
3 /u01/app/oracle/oradata/PRODCDB/bbsprod/SAMPLE_SCHEMA_users01.dbf
3 /u01/app/oracle/oradata/PRODCDB/bbsprod/sysaux01.dbf
3 /u01/app/oracle/oradata/PRODCDB/bbsprod/system01.dbf
1 /u01/app/oracle/oradata/PRODCDB/system01.dbf
1 /u01/app/oracle/oradata/PRODCDB/sysaux01.dbf
1 /u01/app/oracle/oradata/PRODCDB/undotbs01.dbf
1 /u01/app/oracle/oradata/PRODCDB/users01.dbf

8 rows selected.

[oracle@demo ~]$ mkdir -p /u01/app/oracle/oradata/PRODCDB/pdb1

SQL> create pluggable database pdb1 admin user pdbadmin identified by oracle123 file_name_convert=('/u01/app/oracle/oradata/PRODCDB/pdbseed', '/u01/app/oracle/oradata/PRODCDB/PDB1');

Pluggable database created.

SQL> alter pluggable database pdb1 open;

Pluggable database altered.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 BBSPROD READ WRITE NO
4 PDB1 READ WRITE NO
ไบŒใ€ไปŽๆœฌๅœฐPDBๅ…‹้š†
1
2
3
SQL> create pluggable database pdb2 from pdb1 file_name_convert=('/u01/app/oracle/oradata/PRODCDB/PDB1','/u01/app/oracle/oradata/PRODCDB/PDB2');

Pluggable database created.
ไธ‰ใ€ไปŽ่ฟœ็จ‹ๅ…‹้š†PDB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[oracle@demo ]$ tnsping xprod

TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 20-NOV-2022 08:22:40

Copyright (c) 1997, 2014, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.129)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = xprod)))
OK (0 msec)

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 BBSPROD READ WRITE NO
4 PDB1 MOUNTED
5 PDB2 MOUNTED

SQL> create database link xprod_link connect to system identified by oracle using 'xprod';

Database link created.

SQL> select name from v$datafile@xprod_link;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PRODCDB/undotbs01.dbf
/u01/app/oracle/oradata/PRODCDB/xprod/system01.dbf
/u01/app/oracle/oradata/PRODCDB/xprod/sysaux01.dbf
/u01/app/oracle/oradata/PRODCDB/xprod/SAMPLE_SCHEMA_users01.dbf
/u01/app/oracle/oradata/PRODCDB/xprod/example01.dbf

SQL> create pluggable database xprod from xprod@xprod_link file_name_convert=('/u01/app/oracle/oradata/PRODCDB/xprod','/u01/app/oracle/oradata/PRODCDB/xprod');

Pluggable database created.

SQL> alter pluggable database xprod open;

Pluggable database altered.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 BBSPROD READ WRITE NO
4 PDB1 MOUNTED
5 PDB2 MOUNTED
6 XPROD READ WRITE NO
ๅ››ใ€ไปŽ่ฟœ็จ‹non-CDBๅ…‹้š†่‡ณๆœฌๅœฐPDB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
[oracle@demo admin]$ tnsping oradb

TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 21-NOV-2022 00:38:20

Copyright (c) 1997, 2014, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.129)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = oradb)))
OK (0 msec)

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 BBSPROD READ WRITE NO
4 PDB1 MOUNTED
5 PDB2 MOUNTED
6 XPROD READ WRITE NO

SQL> create database link oradb_link connect to system identified by oracle using 'oradb';

Database link created.

SQL> select 1 from dual@oradb_link;

1
----------
1

SQL> select name from v$datafile@oradb_link;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/oradb/system01.dbf
/u01/app/oracle/oradata/oradb/sysaux01.dbf
/u01/app/oracle/oradata/oradb/undotbs01.dbf
/u01/app/oracle/oradata/oradb/users01.dbf

SQL> create pluggable database pdb3 from non$cdb@oradb_link file_name_convert=('/u01/app/oracle/oradata/oradb','/u01/app/oracle/oradata/PRODCDB/pdb3');

Pluggable database created.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 BBSPROD READ WRITE NO
4 PDB1 MOUNTED
5 PDB2 MOUNTED
6 XPROD READ WRITE NO
7 PDB3 MOUNTED

SQL> alter pluggable database pdb3 open;

Warning: PDB altered with errors.

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 BBSPROD READ WRITE NO
4 PDB1 MOUNTED
5 PDB2 MOUNTED
6 XPROD READ WRITE NO
7 PDB3 READ WRITE YES

ๅœจPDB3้‡Œๆ‰ง่กŒ่„šๆœฌ:
[oracle@demo admin]$ tnsping pdb3

TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 21-NOV-2022 01:22:24

Copyright (c) 1997, 2014, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.130)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = pdb3)))
OK (0 msec)

[oracle@demo ~]$ cd $ORACLE_HOME/rdbms/admin

[oracle@demo admin]$ sqlplus sys@pdb3 as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Mon Nov 21 01:23:37 2022

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Enter password:

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> @noncdb_to_pdb.sql
  • Title: Oracle12cๅ…‹้š†PDB
  • Author: ๐““๐“ธ๐“ท
  • Created at : 2024-06-17 20:50:23
  • Updated at : 2024-07-20 05:15:41
  • Link: https://www.zhangdong.me/oracle12c-clone-pdb.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
่ฏ„่ฎบ