中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle 12c中怎么利用Non-CDB創建PDB

發布時間:2021-07-28 16:59:01 來源:億速云 閱讀:170 作者:Leah 欄目:關系型數據庫

本篇文章給大家分享的是有關Oracle 12c中怎么利用Non-CDB創建PDB,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

可以移動Non-CDB來變為一個PDB。可以使用以下方式來完成這個任務:
.通過克隆Non-CDB來創建PDB。從Oracle 12.1.0.2開始,可以通過克隆Non-CDB來創建PDB。這種方法是創建PDB最簡單的一種方法,但它需要從Non-CDB中把文件復制到新目錄中。

.使用dbms_pdb包來生成XML元數據文件,XML元數據文件用來描述Non-CDB的數據文件可以用來將其附加到CDB中。這種方法比克隆Non-CDB要執行更多的步驟,但它能讓你不用移動Non-CDB的文件來創建PDB。為了使用這種技術 ,Non-CDB必須是Oracle 12C的Non-CDB。如果當前的Non-CDB使用Oracle 12C之前的版本,那么你必須將Non-CDB升級到Oracle 12C。

.使用Oracle Data Pump導出/導入
可以使用Data Pump從Non-CDB中導出數據然后導入到PDB中。當你執行導入時,在用戶名后要指定PDB的連接標識符。例如,如果PDB的連接標識符為hrpdb,那么在執行導入進執行以下命令:
imdp username@hrpdb ....如果Non-CDB的版本為11.2.0.3或之后的版本,那么可以使用完全傳輸導出/導入來移動數據。當將版本為11.2.0.3或之后的11g版本的Non-CDB遷移到Oracle 12C,那么在導出時需要將version參數設置為12.0.0.0.0或更高版本。如果Non-CDB的版本為11.2.0.3之前的版本,那么可以使用傳輸表空間來移動數據或者執行完全數據庫導出\導入。

.使用goldengate復制
可以使用goldengate從Non-CDB中復制數據到PDB中。

對Non-CDB執行dbms_pdb包
可以使用dbms_pdb包來為Non-CDB生成XML元數據文件來將其附加到CDB中。使用dbms_pdb包移動Non-CDB為PDB的操作如下:
1.如果CDB不存在先創建CDB

2.確保Non-CDB處于事務一致狀態并將它置于只讀狀態

[oracle@jytest1 ~]$ export ORACLE_SID=orcl1
[oracle@jytest1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Sep 7 00:38:31 2017

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

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area 4294967296 bytes
Fixed Size                  8628936 bytes
Variable Size            2583692600 bytes
Database Buffers         1694498816 bytes
Redo Buffers                8146944 bytes
Database mounted.
SQL> alter database open read only;

Database altered.


[oracle@jytest2 ~]$ export ORACLE_SID=orcl2
[oracle@jytest2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Sep 7 00:38:31 2017

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

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area 4294967296 bytes
Fixed Size                  8628936 bytes
Variable Size            2583692600 bytes
Database Buffers         1694498816 bytes
Redo Buffers                8146944 bytes
Database mounted.
SQL> alter database open read only;

Database altered.

3.連接到Non-CDB,并執行dbms_pdb.describe過程來創建描述Non-CDB的XML元數據文件。執行該過程的用戶必須有sysdba權限。

SQL> exec dbms_pdb.describe(pdb_descr_file=>'/cdb_pdb/orcl.xml');

PL/SQL procedure successfully completed.


[oracle@jytest2 cdb_pdb]$ ls -lrt
total 8
-rw-r--r-- 1 oracle asmadmin 6963 Sep  7 00:18 orcl.xml

4.執行dbms_pdb.check_plug_compatibility過程來判斷是否Non-CDB與目標CDB兼容。當執行這個過程時設置以下參數:
-pdb_descr_file:設置XML元數據文件的完整路徑。
-pdb_name:指定新PDB名字,如果這個參數被忽略,那么將使用XML元數據文件中的PDB名字。

SQL> set serveroutput on
  1  declare
  2  compatible constant varchar2(3) :=
  3  case dbms_pdb.check_plug_compatibility(
  4  pdb_descr_file => '/cdb_pdb/orcl.xml',
  5  pdb_name => 'orclpdb')
  6  when true then 'yes'
  7  else 'no'
  8  end;
  9  begin
 10  dbms_output.put_line(compatible);
 11  end;
 12  /
yes

PL/SQL procedure successfully completed.

如果輸出為yes,那么Non-CDB是兼容的,并且可以繼續下一步操作。如果輸出為no,那么Non-CDB與目標CDB不兼容,并且可以檢查pdb_plug_in_violations視圖來檢查為什么不兼容。所有的違反條目在繼續操作之前必須被修復。例如,任何版本或補丁不匹配可以通過執行升級或打補丁來解決。在修復這個違反條目后,再次執行dbms_pdb.check_plug_compatibility來確保Non-CDB與目標CDB兼容。

5.關閉Non-CDB

[grid@jytest1 ~]$ srvctl stop database -db orcl

6.插入Non-CDB

SQL> create pluggable database orclpdb using '/cdb_pdb/orcl.xml'
  2  copy
  3  file_name_convert = ('+DATA/orcl/datafile/', '+data/jy/orclpdb/','+DATA/orcl/tempfile/','+data/jy/orclpdb/');

Pluggable database created.


SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
PDB$SEED                                                                                                                         READ ONLY
JYPDB                                                                                                                            READ WRITE
ORCLPDB                                                                                                                          MOUNTED

ASMCMD [+data/jy/orclpdb] > ls -lt
Type      Redund  Striped  Time             Sys  Name
DATAFILE  UNPROT  COARSE   SEP 07 00:00:00  N    usertbs01.dbf => +DATA/jy/4D913A1436E25EE2E053AB828A0AF7B8/DATAFILE/USERTBS.278.954031319
DATAFILE  UNPROT  COARSE   SEP 07 00:00:00  N    users01.dbf => +DATA/jy/4D913A1436E25EE2E053AB828A0AF7B8/DATAFILE/USERS.302.954031321
DATAFILE  UNPROT  COARSE   SEP 07 00:00:00  N    undotbs01.dbf => +DATA/jy/4D913A1436E25EE2E053AB828A0AF7B8/DATAFILE/UNDOTBS1.273.954031321
TEMPFILE  UNPROT  COARSE   SEP 07 00:00:00  N    temp01.dbf => +DATA/jy/4D913A1436E25EE2E053AB828A0AF7B8/TEMPFILE/TEMPTS1.315.954031465
DATAFILE  UNPROT  COARSE   SEP 07 00:00:00  N    system01.dbf => +DATA/jy/4D913A1436E25EE2E053AB828A0AF7B8/DATAFILE/SYSTEM.303.954031321
DATAFILE  UNPROT  COARSE   SEP 07 00:00:00  N    sysaux01.dbf => +DATA/jy/4D913A1436E25EE2E053AB828A0AF7B8/DATAFILE/SYSAUX.295.954031321

如果這里沒有任何錯誤,那么現在不打開新PDB。

7.執行$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql腳本,這個腳本必須在第一次打開新PDB之前執行。如果PDB不是由Non-CDB創建而來,那么就不需要執行這個腳本。為了執行noncdb_to_pdb.sql腳本,完成以下操作:
a.訪問PDB,當前用戶必須有sysdba權限,并且權限必須是公共或本地授予給PDB。最好使用as sysdba進行連接。

b.執行noncdb_to_pdb.sql腳本:

SQL>@$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql

8.以讀寫模式打開新PDB

SQL> alter pluggable database orclpdb open read write;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
PDB$SEED                                                                                                                         READ ONLY
JYPDB                                                                                                                            READ WRITE
ORCLPDB                                                                                                                          READ WRITE

以上就是Oracle 12c中怎么利用Non-CDB創建PDB,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

徐闻县| 慈利县| 贵阳市| 城口县| 曲靖市| 柳州市| 芜湖市| 合肥市| 吕梁市| 花莲县| 电白县| 金秀| 博湖县| 邹平县| 霸州市| 东方市| 京山县| 晴隆县| 栾城县| 吉水县| 夏河县| 嘉荫县| 会昌县| 梁平县| 临武县| 纳雍县| 德保县| 阳春市| 开平市| 平乐县| 常宁市| 上虞市| 平泉县| 喜德县| 黔西县| 宝丰县| 五大连池市| 定日县| 庐江县| 吴旗县| 乐业县|