快照是数据库基于时间点的完整镜像,主要用于快速恢复和PDB复制。
利用PDB快照创建新PDB的语法如下:
[oracle@oracle-db-19c ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Fri Dec 2 09:45:45 2022
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle. All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> show con_nameCON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB1 READ WRITE NO4 PDB2 MOUNTED5 CNDBAPDB MOUNTED6 CNDBAPDB3 MOUNTED7 CNDBAPDB2 MOUNTED8 CNDBAPDB4_FRESH MOUNTED
SQL> show con_name;CON_NAME
------------------------------
CDB$ROOT
SQL>SQL> alter session set container=PDB1;Session altered.SQL> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------3 PDB1 READ WRITE NO
SQL> alter pluggable database snapshot CNDBAPDB5_20221202;Pluggable database altered.SQL>
SQL> conn / as sysdba
Connected.
SQL> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB1 READ WRITE NO4 PDB2 MOUNTED5 CNDBAPDB MOUNTED6 CNDBAPDB3 MOUNTED7 CNDBAPDB2 MOUNTED8 CNDBAPDB4_FRESH MOUNTED
SQL>
SQL> CREATE PLUGGABLE DATABASE CNDBAPDB6 FROM PDB1 USING SNAPSHOT CNDBAPDB5_20221202;Pluggable database created.SQL> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB1 READ WRITE NO4 PDB2 MOUNTED5 CNDBAPDB MOUNTED6 CNDBAPDB3 MOUNTED7 CNDBAPDB2 MOUNTED8 CNDBAPDB4_FRESH MOUNTED9 CNDBAPDB6 MOUNTED
SQL>
可以手动生成快照,也可以指定每隔多长时间自动生成一次快照,最多可以存储8个快照。
1. 设置自动创建PDB快照
可以设置每隔一段时间自动创建一个PDB。
EVERY snapshot_interval [ MINUTES | HOURS ]
查看当前PDB快照模式
SQL>
SQL> SELECT SNAPSHOT_MODE "S_MODE",SNAPSHOT_INTERVAL/60 "SNAP_INT_HRS" FROM DBA_PDBS;S_MODE SNAP_INT_HRS
------ ------------
MANUALSQL>
设置每隔24小时就创建一个快照,需要在相应的PDB下执行命令:
SQL>
SQL> ALTER PLUGGABLE DATABASE SNAPSHOT MODE EVERY 24 HOURS;Pluggable database altered.SQL>
再次查看快照模式,代码如下:
SQL> SELECT SNAPSHOT_MODE "S_MODE",SNAPSHOT_INTERVAL/60 "SNAP_INT_HRS" FROM DBA_PDBS;S_MODE SNAP_INT_HRS
------ ------------
AUTO 24SQL>
2.手动创建PDB快照
SQL> show con_name;CON_NAME
------------------------------
CDB$ROOT
SQL> SQL> alter session set container=PDB1;Session altered.SQL> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------3 PDB1 READ WRITE NO
SQL> alter pluggable database snapshot CNDBAPDB5_20221202;Pluggable database altered.SQL>
查看快照信息
SQL> set LINESIZE 150
SQL> col con_name format a10
SQL> col snapshot_name format a30
SQL> col full_snapshot_path format a55
SQL> col snap_scn default
SQL> select con_id,con_name,snapshot_name,snapshot_scn as snap_scn,full_snapshot_path from dba_pdb_snapshots order by snap_scn;CON_ID CON_NAME SNAPSHOT_NAME SNAP_SCN FULL_SNAPSHOT_PATH
------ ---------- ------------------------------ ---------- -------------------------------------------------------3 PDB1 CNDBAPDB5_20221202 18991475 /u02/oradata/snap_2714456025_18991475.pdb3 PDB1 SNAP_2714456025_1122376588 18997049 /u02/oradata/snap_2714456025_18997049.pdbSQL>
SQL>
SQL> select con_id,con_name,snapshot_name,snapshot_scn as snap_scn,full_snapshot_path from dba_pdb_snapshots order by snap_scn;CON_ID CON_NAME SNAPSHOT_NAME SNAP_SCN FULL_SNAPSHOT_PATH
------ ---------- ------------------------------ ---------- -------------------------------------------------------3 PDB1 CNDBAPDB5_20221202 18991475 /u02/oradata/snap_2714456025_18991475.pdb3 PDB1 SNAP_2714456025_1122376588 18997049 /u02/oradata/snap_2714456025_18997049.pdbSQL> ALTER PLUGGABLE DATABASE DROP SNAPSHOT SNAP_2714456025_1122376588;Pluggable database altered.SQL> select con_id,con_name,snapshot_name,snapshot_scn as snap_scn,full_snapshot_path from dba_pdb_snapshots order by snap_scn;CON_ID CON_NAME SNAPSHOT_NAME SNAP_SCN FULL_SNAPSHOT_PATH
------ ---------- ------------------------------ ---------- -------------------------------------------------------3 PDB1 CNDBAPDB5_20221202 18991475 /u02/oradata/snap_2714456025_18991475.pdbSQL>
SQL> select con_id,con_name,snapshot_name,snapshot_scn as snap_scn,full_snapshot_path from dba_pdb_snapshots order by snap_scn;CON_ID CON_NAME SNAPSHOT_NAME SNAP_SCN FULL_SNAPSHOT_PATH
------ ---------- ------------------------------ ---------- -------------------------------------------------------3 PDB1 CNDBAPDB5_20221202 18991475 /u02/oradata/snap_2714456025_18991475.pdbSQL> ALTER PLUGGABLE DATABASE SET MAX_PDB_SNAPSHOTS=0;Pluggable database altered.SQL> select con_id,con_name,snapshot_name,snapshot_scn as snap_scn,full_snapshot_path from dba_pdb_snapshots order by snap_scn;no rows selectedSQL> ALTER PLUGGABLE DATABASE SET MAX_PDB_SNAPSHOTS=8;Pluggable database altered.SQL>
容器数据对象用于显示关于多租户的相关信息。每个容器数据对象通过CON_ID 来区分不同的容器
显示与CDB相关的PDB的信息,包括每个PDB的状态
SQL> set pagesize 200
SQL> set linesize 200
SQL> desc CDB_PDBS;Name Null? Type----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------PDB_ID NOT NULL NUMBERPDB_NAME NOT NULL VARCHAR2(128)DBID NOT NULL NUMBERCON_UID NOT NULL NUMBERGUID RAW(16)STATUS VARCHAR2(10)CREATION_SCN NUMBERVSN NUMBERLOGGING VARCHAR2(9)FORCE_LOGGING VARCHAR2(39)FORCE_NOLOGGING VARCHAR2(3)APPLICATION_ROOT VARCHAR2(3)APPLICATION_PDB VARCHAR2(3)APPLICATION_SEED VARCHAR2(3)APPLICATION_ROOT_CON_ID NUMBERIS_PROXY_PDB VARCHAR2(3)CON_ID NOT NULL NUMBERUPGRADE_PRIORITY NUMBERAPPLICATION_CLONE VARCHAR2(3)FOREIGN_CDB_DBID NUMBERUNPLUG_SCN NUMBERFOREIGN_PDB_ID NUMBERCREATION_TIME NOT NULL DATEREFRESH_MODE VARCHAR2(6)REFRESH_INTERVAL NUMBERTEMPLATE VARCHAR2(3)LAST_REFRESH_SCN NUMBERTENANT_ID VARCHAR2(255)SNAPSHOT_MODE VARCHAR2(6)SNAPSHOT_INTERVAL NUMBERCREDENTIAL_NAME VARCHAR2(262)SQL> desc DBA_PDBS;Name Null? Type----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------PDB_ID NOT NULL NUMBERPDB_NAME NOT NULL VARCHAR2(128)DBID NOT NULL NUMBERCON_UID NOT NULL NUMBERGUID RAW(16)STATUS VARCHAR2(10)CREATION_SCN NUMBERVSN NUMBERLOGGING VARCHAR2(9)FORCE_LOGGING VARCHAR2(39)FORCE_NOLOGGING VARCHAR2(3)APPLICATION_ROOT VARCHAR2(3)APPLICATION_PDB VARCHAR2(3)APPLICATION_SEED VARCHAR2(3)APPLICATION_ROOT_CON_ID NUMBERIS_PROXY_PDB VARCHAR2(3)CON_ID NOT NULL NUMBERUPGRADE_PRIORITY NUMBERAPPLICATION_CLONE VARCHAR2(3)FOREIGN_CDB_DBID NUMBERUNPLUG_SCN NUMBERFOREIGN_PDB_ID NUMBERCREATION_TIME NOT NULL DATEREFRESH_MODE VARCHAR2(6)REFRESH_INTERVAL NUMBERTEMPLATE VARCHAR2(3)LAST_REFRESH_SCN NUMBERTENANT_ID VARCHAR2(255)SNAPSHOT_MODE VARCHAR2(6)SNAPSHOT_INTERVAL NUMBERCREDENTIAL_NAME VARCHAR2(262)SQL>
SQL>
SQL> desc CDB_PROPERTIESName Null? Type----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------PROPERTY_NAME VARCHAR2(128)PROPERTY_VALUE VARCHAR2(4000)DESCRIPTION VARCHAR2(4000)CON_ID NUMBERSQL>
SQL>
SQL> desc DBA_PDB_HISTORYName Null? Type----------------------------------------- -------- ----------------------------PDB_NAME NOT NULL VARCHAR2(128)PDB_ID NOT NULL NUMBERPDB_DBID NOT NULL NUMBERPDB_GUID NOT NULL RAW(16)OP_SCNBAS NOT NULL NUMBEROP_SCNWRP NOT NULL NUMBEROP_TIMESTAMP NOT NULL DATEOPERATION NOT NULL VARCHAR2(16)DB_VERSION NOT NULL NUMBERCLONED_FROM_PDB_NAME VARCHAR2(128)CLONED_FROM_PDB_DBID NUMBERCLONED_FROM_PDB_GUID RAW(16)DB_NAME VARCHAR2(128)DB_UNIQUE_NAME VARCHAR2(128)DB_DBID NUMBERCLONETAG VARCHAR2(128)DB_VERSION_STRING VARCHAR2(204)SQL> desc CDB_PDB_HISTORYName Null? Type----------------------------------------- -------- ----------------------------PDB_NAME NOT NULL VARCHAR2(128)PDB_ID NOT NULL NUMBERPDB_DBID NOT NULL NUMBERPDB_GUID NOT NULL RAW(16)OP_SCNBAS NOT NULL NUMBEROP_SCNWRP NOT NULL NUMBEROP_TIMESTAMP NOT NULL DATEOPERATION NOT NULL VARCHAR2(16)DB_VERSION NOT NULL NUMBERCLONED_FROM_PDB_NAME VARCHAR2(128)CLONED_FROM_PDB_DBID NUMBERCLONED_FROM_PDB_GUID RAW(16)DB_NAME VARCHAR2(128)DB_UNIQUE_NAME VARCHAR2(128)DB_DBID NUMBERCLONETAG VARCHAR2(128)DB_VERSION_STRING VARCHAR2(204)CON_ID NUMBERSQL>
SQL> desc CDB_HIST_PDB_INSTANCEName Null? Type----------------------------------------- -------- ----------------------------DBID NOT NULL NUMBERINSTANCE_NUMBER NOT NULL NUMBERSTARTUP_TIME NOT NULL TIMESTAMP(3)CON_DBID NOT NULL NUMBEROPEN_TIME NOT NULL TIMESTAMP(3)OPEN_MODE VARCHAR2(16)PDB_NAME VARCHAR2(128)CON_ID NUMBERSNAP_ID NUMBERSTARTUP_TIME_TZ TIMESTAMP(3) WITH TIME ZONEOPEN_TIME_TZ TIMESTAMP(3) WITH TIME ZONESQL> desc DBA_HIST_PDB_INSTANCEName Null? Type----------------------------------------- -------- ----------------------------DBID NOT NULL NUMBERINSTANCE_NUMBER NOT NULL NUMBERSTARTUP_TIME NOT NULL TIMESTAMP(3)CON_DBID NOT NULL NUMBEROPEN_TIME NOT NULL TIMESTAMP(3)OPEN_MODE VARCHAR2(16)PDB_NAME VARCHAR2(128)CON_ID NUMBERSNAP_ID NUMBERSTARTUP_TIME_TZ TIMESTAMP(3) WITH TIME ZONEOPEN_TIME_TZ TIMESTAMP(3) WITH TIME ZONESQL>
SQL>
SQL> desc CDB_PDB_SAVED_STATESName Null? Type----------------------------------------- -------- ----------------------------CON_ID NOT NULL NUMBERCON_NAME NOT NULL VARCHAR2(128)INSTANCE_NAME NOT NULL VARCHAR2(128)CON_UID NOT NULL NUMBERGUID RAW(16)STATE VARCHAR2(14)RESTRICTED VARCHAR2(3)SQL> desc DBA_PDB_SAVED_STATESName Null? Type----------------------------------------- -------- ----------------------------CON_ID NOT NULL NUMBERCON_NAME NOT NULL VARCHAR2(128)INSTANCE_NAME NOT NULL VARCHAR2(128)CON_UID NOT NULL NUMBERGUID RAW(16)STATE VARCHAR2(14)RESTRICTED VARCHAR2(3)SQL>
SQL>
SQL> desc CDB_APPLICATIONSName Null? Type----------------------------------------- -------- ----------------------------APP_NAME VARCHAR2(128)APP_ID NUMBERAPP_VERSION VARCHAR2(30)APP_STATUS VARCHAR2(12)APP_IMPLICIT VARCHAR2(1)APP_CAPTURE_SERVICE VARCHAR2(64)APP_CAPTURE_MODULE VARCHAR2(64)APP_CAPTURE_ERROR VARCHAR2(1)CON_ID NUMBERSQL> desc DBA_APPLICATIONSName Null? Type----------------------------------------- -------- ----------------------------APP_NAME VARCHAR2(128)APP_ID NUMBERAPP_VERSION VARCHAR2(30)APP_STATUS VARCHAR2(12)APP_IMPLICIT VARCHAR2(1)APP_CAPTURE_SERVICE VARCHAR2(64)APP_CAPTURE_MODULE VARCHAR2(64)APP_CAPTURE_ERROR VARCHAR2(1)SQL>
SQL> DESC CDB_APP_STATEMENTSName Null? Type----------------------------------------- -------- ----------------------------ORIGIN_CON_ID NUMBERSTATEMENT_ID NOT NULL NUMBERCAPTURE_TIME NOT NULL DATEAPP_STATEMENT CLOBAPP_NAME VARCHAR2(128)APP_STATUS VARCHAR2(12)PATCH_NUMBER NUMBERVERSION_NUMBER NUMBERSESSION_ID NUMBEROPCODE NOT NULL NUMBERCON_ID NUMBERSQL> DESC DBA_APP_STATEMENTSName Null? Type----------------------------------------- -------- ----------------------------ORIGIN_CON_ID NUMBERSTATEMENT_ID NOT NULL NUMBERCAPTURE_TIME NOT NULL DATEAPP_STATEMENT CLOBAPP_NAME VARCHAR2(128)APP_STATUS VARCHAR2(12)PATCH_NUMBER NUMBERVERSION_NUMBER NUMBERSESSION_ID NUMBEROPCODE NOT NULL NUMBERSQL>
SQL>
SQL> DESC CDB_APP_PATCHESName Null? Type----------------------------------------- -------- ----------------------------APP_NAME VARCHAR2(128)PATCH_NUMBER NUMBERPATCH_MIN_VERSION VARCHAR2(30)PATCH_STATUS VARCHAR2(10)PATCH_COMMENT VARCHAR2(4000)PATCH_CHECKSUM NUMBERCON_ID NUMBERSQL> DESC DBA_APP_PATCHESName Null? Type----------------------------------------- -------- ----------------------------APP_NAME VARCHAR2(128)PATCH_NUMBER NUMBERPATCH_MIN_VERSION VARCHAR2(30)PATCH_STATUS VARCHAR2(10)PATCH_COMMENT VARCHAR2(4000)PATCH_CHECKSUM NUMBERSQL>
SQL> desc CDB_CDB_RSRC_PLANSName Null? Type----------------------------------------- -------- ----------------------------PLAN_ID NOT NULL NUMBERPLAN VARCHAR2(128)COMMENTS VARCHAR2(2000)STATUS VARCHAR2(128)MANDATORY VARCHAR2(3)CON_ID NUMBERSQL> desc DBA_CDB_RSRC_PLANSName Null? Type----------------------------------------- -------- ----------------------------PLAN_ID NOT NULL NUMBERPLAN VARCHAR2(128)COMMENTS VARCHAR2(2000)STATUS VARCHAR2(128)MANDATORY VARCHAR2(3)SQL>
SQL> desc DBA_CDB_RSRC_PLAN_DIRECTIVESName Null? Type----------------------------------------- -------- ----------------------------PLAN VARCHAR2(128)PLUGGABLE_DATABASE VARCHAR2(128)PROFILE VARCHAR2(128)DIRECTIVE_TYPE VARCHAR2(30)SHARES NUMBERUTILIZATION_LIMIT NUMBERPARALLEL_SERVER_LIMIT NUMBERMEMORY_MIN NUMBERMEMORY_LIMIT NUMBERCOMMENTS VARCHAR2(2000)STATUS VARCHAR2(128)MANDATORY VARCHAR2(3)SQL> desc CDB_CDB_RSRC_PLAN_DIRECTIVESName Null? Type----------------------------------------- -------- ----------------------------PLAN VARCHAR2(128)PLUGGABLE_DATABASE VARCHAR2(128)PROFILE VARCHAR2(128)DIRECTIVE_TYPE VARCHAR2(30)SHARES NUMBERUTILIZATION_LIMIT NUMBERPARALLEL_SERVER_LIMIT NUMBERMEMORY_MIN NUMBERMEMORY_LIMIT NUMBERCOMMENTS VARCHAR2(2000)STATUS VARCHAR2(128)MANDATORY VARCHAR2(3)CON_ID NUMBERSQL>
SQL>
SQL> desc PDB_ALERTSName Null? Type----------------------------------------- -------- ----------------------------TIME NOT NULL TIMESTAMP(6)NAME NOT NULL VARCHAR2(128)CAUSE_NO NOT NULL NUMBERTYPE_NO NOT NULL NUMBERERROR NUMBERLINE NOT NULL NUMBERMESSAGE NOT NULL VARCHAR2(4000)STATUS NUMBERACTION VARCHAR2(4000)SQL>
SQL> desc PDB_PLUG_IN_VIOLATIONSName Null? Type----------------------------------------- -------- ----------------------------TIME NOT NULL TIMESTAMP(6)NAME NOT NULL VARCHAR2(128)CAUSE VARCHAR2(64)TYPE VARCHAR2(9)ERROR_NUMBER NUMBERLINE NOT NULL NUMBERMESSAGE NOT NULL VARCHAR2(4000)STATUS VARCHAR2(9)ACTION VARCHAR2(4000)CON_ID NUMBERSQL>
上一篇:搜索技术——遗传算法
下一篇:Bootstrap学习(十一)