亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Oracle 12c 使用SQL*Plus來創建與移動應用程序Seeds

發布時間:2020-08-09 09:14:22 來源:ITPUB博客 閱讀:157 作者:eric0435 欄目:關系型數據庫

可以使用多種方法來創建應用程序seeds,包括使用CDB seed,克隆現有的PDB或Non-CDB,與附加一個卸載的PDB。也可以從應用程序容器中刪除應用程序seeds。

為了在應用程序容器中創建新的應用程序seed,可以執行帶有as seed子句的create pluggable database語句。可以使用應用程序種子為應用程序提供一個應用程序容器。通常在應用程序seed創建之前應用程序容器的應用程序被安裝在應用程序root中。在應用程序seed創建之后它將與應用程序root進行同步,因此應用程序被安裝在應用程序seed中。當創建應用程序seed之后,使用應用程序seed創建的任何PDB都安裝應用程序。當應用程序root中的應用程序被升級或打補丁后,應用程序seed必須使用應用程序root進行同步來應用這些改變。

通過執行帶有as seed子句的create pluggable database語句來創建應用程序seed。

一個應用程序容器可以有零或一個應用程序seed。當使用as seed子句創建應程序seed時,不用指定它的名字。應用程序seed名字總是以application_container_name$SEED命名,其中application_container_name是應用程序seed的應用程序容器的名字。例如,在salesact應用程序容器中的應用程序seed它的名字必須是salesact$SEED。

當創建一個新的應用程序seed時,必須為在create pluggable database語句中為應用程序容器指定管理員。這個語句將在應用程序容器中創建一個本地用戶的管理員,并且被授予pdb_dba角色。

創建應用程序seed的所需要滿足的條件:
.CDB必須存在

.CDB必須處于讀寫模式

.應用程序seed所屬的應用程序容器必須處于讀寫模式

.當前用戶必須是一個公共用戶,應用程序seed所屬的應用程序root是當前容器

.當前用戶有create pluggable database系統權限

.在應用程序容器中對于包含應用程序的應用程序seed,應用程序必須安裝在應用程序root

創建應用程序seed
可以通過執行帶有as seed子句的create pluggable database語句來創建應用程序。應用程序容器中的應用程序seed類似于CDB中的seed。一個應用程序seed能用來快速與簡單的創建滿足應用程序容器要求的應用程序PDB。創建應用程序seed的操作如下:
1.在SQL*Plus中,確保當前容器是應用程序root。

2.執行帶有as seed子句的create pluggable database語句來創建應用程序seed。根據需要還可以指定其它子句。在創建完應用程序seed后,它處于mounted模式,狀態為new。可以通過查詢v$pdbs視圖的open_mode列來檢查應用程序seed的打開模式。可以通過查詢cdb_pdbs或者dba_pdbs視圖的status列來查看應用程序seed的狀態。還會為應用程序seed創建缺省的服務名。服務名與應用程序seed同名并且可以被用來訪問應用程序seed。

3.以讀寫模式來打開新的應用程序seed

4.為了將新應用程序seed集成到應用程序容器中必須以讀寫模式來打開新的應用程序seed。如果試圖以只讀模式來打開新的應用程序seed將會返回錯誤信息。在應用程序seed以讀寫模式打開后,它的狀態將為normal。

5.執行一個或多個以下操作:
5.a 如果使用CDB seed中創建應用程序seed,那么將容器切換到應用程序seed,并且執行帶有sync子句的alter pluggable database語句來同步應用程序seed。同步使用應用程序root來實例化應用程序seed中的一個或多個應用程序root的應用程序。

5.b 如果使用應用程序root中創建應用程序seed,那么將容器切換到應用程序seed,然后執行pdb_to_apppdb.sql腳本來將應用程序root轉換為應用程序PDB。

當通過克隆一個應用程序PDB來創建應用程序seed時這些操作不需要執行。

6.關閉應用程序seed,然后以只讀模式來打開它。

7.備份應用程序seed。

使用CDB seed來創建應用程序seed
這個例子假設滿足以下條件:
.應用程序seed將被創建在名為salesact的應用程序容器中。

.對應用程序seed不使用存儲限制,因此不指定storage子句。

.應用程序seed不創建缺省表空間。

.不指定path_prefix子句。

.不指定file_name_convert與create_file_dest子句。可以對CDB啟用OMF或設置pdb_file_name_convert初始化參數。與CDB相關的文件將會基于OMF配置或參數設置被復制到新目錄中。

.在目標目錄中沒有與新temp文件同名的文件存在,將會創建新的temp文件,因此不用指定tempfile reuse子句。

.不需要預先定義Oracle角色被授予給pdb_dba角色。

執行的語句如下:
先切換到應用程序容器salesact中

SQL> alter session set container=salesact;

Session altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE

執行語句來使用CDB seed來在應用程序容器salesact中創建應用程序seed,并打開應用程序seed。

SQL> create pluggable database as seed admin user actseedadm identified by "xxzx7817600";

Pluggable database created.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE
SALESACT$SEED                                                                                                                    MOUNTED

SQL> alter pluggable database salesact$seed open;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE
SALESACT$SEED                                                                                                                    READ WRITE

切換容器到應用程序seed(salesact$SEED)中,使用應用程序root中的所有應用程序來同步應用程序seed。

SQL> alter session set container=salesact$seed;

Session altered.

SQL>  select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT$SEED                                                                                                                    READ WRITE

SQL> alter pluggable database application all sync;

Pluggable database altered.

關閉應用程序seed(salesact$seed),然后以只讀模式來打開應用程序seed。

SQL> alter pluggable database close immediate;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT$SEED                                                                                                                    MOUNTED

SQL> alter pluggable database  open read only;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT$SEED                                                                                                                    READ ONLY

因為應用程序容器名為salesact,所以應用程序seed名為salesact$seed。在創建應用程序seed時一起創建了一個本地管理用戶并且被授予了pdb_dba公共角色。如果這個用戶在創建應用程序seed時沒有授予管理權限,那么使用sys與system公共用戶來管理應用程序seed。當創建應用程序seed時,將使用應用程序root來同步應用程序seed。因此應用程序seed將包含安裝在應用程序root中的應用程序與應用程序公共對象它們是這些應用程序的一部分。當使用應用程序seed來創建新的應用程序PDB時,應用程序PDB也會包含這些安裝的應用程序與應用程序公共對象。

使用應用程序PDB創建應用程序seed
這個例子假設滿足以下條件:
.在應用程序容器salesact中創建了應用程序seed。

.將在應用程序PBD(salesapppdb)所在的應用程序容器中創建應用程序seed。

.對應用程序seed不使用存儲限制,因此不指定storage子句。

.應用程序seed不包含缺省表空間。

.不指定path_prefix子句。

.不指定file_name_convert與create_file_dest子句。可以啟用OMF或設置pdb_file_name_convert初始化參數。與應用程序root相關的文件會基于OMF的配置或初始化參數設置被復制到新目錄中。

.在目標目錄中沒有與新temp文件同名的文件存在,因此不需要使用tempfile reuse子句。

切換容器到應用程序容器(salesact),并執行以下命令來創建應用程序seed。

SQL> create pluggable database as seed from salesapppdb;

Pluggable database created.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE
SALESAPPPDB                                                                                                                      READ WRITE
SALESACT$SEED                                                                                                                    MOUNTED

然后打開應用程序seed,再關閉應用程序seed,最后再以只讀方式打開應用程序seed。

SQL> alter pluggable database salesact$seed open;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE
SALESAPPPDB                                                                                                                      READ WRITE
SALESACT$SEED                                                                                                                    READ WRITE

SQL> alter pluggable database salesact$seed close immediate;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE
SALESAPPPDB                                                                                                                      READ WRITE
SALESACT$SEED                                                                                                                    MOUNTED

SQL> alter pluggable database salesact$seed open read only;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE
SALESAPPPDB                                                                                                                      READ WRITE
SALESACT$SEED                                                                                                                    READ ONLY

因為應用程序容器名為salesact,所以應用程序seed名字默認為salesact$seed。應用程序seed是使用應用程序pdb而創建的,因此應用程序seed就包含了安裝在應用程序root中的應用程序與應用程序公共對象,它們是這些應用程序的一部分。當使用應用程序seed來創建新的應用程序pdb時,應用程序pdb也會包含安裝的應用程序與應用程序公共對象。

使用應用程序root來創建應用程序seed
這個例子假設滿足以下條件:
.應用程序seed將創建在應用程序容器(salesact)中。應用程序seed使用對應用程序容器的root進行克隆進行創建。

.對應用程序seed不使用存儲限制,因此不使用storage子句。

.應用程序seed不包含缺省表空間。

.不使用path_prefix子句。

.不使用file_name_convert與create_file_dest子句。可以啟用OMF或設置pdb_file_name_convert初始化參數。基于OMF配置或初始化參數的設置與應用程序root相關的文件會被復制到新目錄中。

.在目標目錄中沒有與新temp文件同名的文件存在,因此不需要使用tempfile reuse子句。

切換到應用程序容器(salesact)中,執行下面的命令來創建應用程序seed。

SQL> create pluggable database as seed from salesact;

Pluggable database created.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE
SALESACT$SEED                                                                                                                    MOUNTED
SALESAPPPDB                                                                                                                      READ WRITE

打開應用程序seed,切換容器到應用程序seed,然后執行pdb_to_apppdb.sql腳本將應用程序root轉換為應用程序pdb。

SQL> alter pluggable database salesact$seed open;

Warning: PDB altered with errors.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE
SALESACT$SEED                                                                                                                    READ WRITE
SALESAPPPDB                                                                                                                      READ WRITE

SQL> alter session set container=salesact$seed;

Session altered.

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

...
SQL> BEGIN
  2    execute immediate '&open_sql &restricted_state';
  3  EXCEPTION
  4    WHEN OTHERS THEN
  5    BEGIN
  6      IF (sqlcode <> -900) THEN
  7        RAISE;
  8      END IF;
  9    END;
 10  END;
 11  /

PL/SQL procedure successfully completed.

SQL> 
SQL> WHENEVER SQLERROR CONTINUE;



SQL> alter pluggable database close immediate instances=all;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT$SEED                                                                                                                    MOUNTED

1 row selected.

SQL> alter pluggable database open read only instances=all;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT$SEED                                                                                                                    READ ONLY

1 row selected.

因為應用程序容器名為salesact,所以應用程序seed名為salesact$seed。應用程序seed是使用應用程序root進行創建的。因此應用程序seed包含安裝在應用程序root中的應用程序與應用程序公共對象,它們是這些應用程序的一部分。當使用應用程序seed來創建新應用程序PDB時,應用程序pdb也會包含安裝的應用程序與應用程序公共對象。

從應用程序容器中拔出應用程序seed
拔出應用程序seed就是斷開應用程序seed與應用程序容器的關聯。當不再需要應用程序seed時可以將其刪除。拔出應用程序seed類似于拔出PDB。為了拔出應用程序seed,連接到它的應用程序root并使用alter pluggable database語句來指定生成xml文件或.pdb文件。當指定xml文件后,在卸載完成后生成的xml文件會包含描述應用程序seed的元數據。

SQL> alter pluggable database salesact$seed close immediate instances=all;

Pluggable database altered.



SQL>  select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
SALESACT                                                                                                                         READ WRITE
SALESACT$SEED                                                                                                                    MOUNTED
SALESAPPPDB                                                                                                                      READ WRITE

3 rows selected.



SQL> alter pluggable database salesact$seed unplug into '/tts/plug/salesact_seed.xml';

Pluggable database altered.

刪除應用程序seed
當不再需要應用程序seed時,可以執行drop pluggable database語句來刪除。當刪除應用程序seed時,CDB的控制文件會被修改來刪除與被刪除應用程序seed的所有相關信息,但是歸檔重做日志與備份不會被刪除,但可以使用RMAN來刪除它們。

SQL> drop pluggable database salesapppdb including datafiles;

Pluggable database dropped.

創建應用程序PDB
可以在應用程序root容器中執行create pluggable database語句來創建應用程序PDB。創建應用程序pdb與在CDB root中創建PDB都是使用相同的SQL語句。當在應用程序root中執行create pluggable database語句時新創建的PDB為應用程序PDB。SQL語句必須在應用程序root中執行并且對應用程序root中所定義的應用程序數據庫有顯式依賴性。創建應用程序PDB的操作如下:

1.在SQL*Plus中,確保當前容器為應用程序root

2.執行create pluggable database語句。在應用程序PDB完成創建之后,它處于mounted模式并且狀態為NEW。可以通過查詢v$pdbs視圖的open_mode列來查看應用程序pdb的打開模式,可以通過查詢cdb_pdbs或dba_pdbs視圖的status列來查看應用程序pdb的狀態。對于新創建的應用程序PDB也會創建一個缺省的服務名,服務名與應用程序PDB同名并且可以被用來訪問應用程序PDB。

3.以讀寫模式來打開應用程序PDB

4.為了將新的應用程序PDB集成到應用程序容器必須以讀寫模式來打開新的應用程序PDB。如果試圖以只讀模式來打開應用程序PDB將會返回錯誤信息。在應用程序PDB以讀寫模式打開后它的狀態將變為NORMAL。

5.切換容器為應用程序PDB

6.執行alter pluggable database ... sync來同步應用程序PDB。同步使用應用程序PDB來實例化應用程序PDB中的一個或多個應用程序root中的應用程序。

7.關閉應用程序PDB,然后以只讀模式打開。

8.備份應用程序PDB。

向AI問一下細節

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

AI

巴塘县| 辰溪县| 平果县| 天全县| 南昌县| 金平| 嘉禾县| 宁化县| 南投市| 措美县| 东方市| 嘉鱼县| 英山县| 晋宁县| 崇州市| 桐庐县| 鲁山县| 澄迈县| 荆门市| 鲜城| 武安市| 松原市| 通道| 威宁| 湄潭县| 潼关县| 平武县| 达日县| 图片| 寻甸| 武义县| 惠安县| 勃利县| 阆中市| 县级市| 中江县| 开原市| 镇安县| 余庆县| 轮台县| 上林县|