首页 > 数据库 >Oracle 12c/19c PDB数据库配置自动启动

Oracle 12c/19c PDB数据库配置自动启动

时间:2023-05-31 15:56:25浏览次数:52  
标签:12c NAME 启动 ---------- SQL Oracle PDB CON

在Oracle 12c/19c多租户环境中,默认情况下,使用startup命令启动数据库实例后,你会发现PDB数据库的状态为MOUNT状态,PDB不会随着CDB启动而启动。如下例子所示:

SQL> startup
ORACLE instance started.

Total System Global Area 2432695872 bytes
Fixed Size                  9137728 bytes
Variable Size             620756992 bytes
Database Buffers         1795162112 bytes
Redo Buffers                7639040 bytes
Database mounted.
Database opened.
SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PSUAT                          MOUNTED
SQL> 

Oracle 12.1.0.2之前,CDB启动后,所有的PDB都处于加载状态(MOUNTED)。CDB启动时,没有默认机制自动启动PDB。只能通过在CDB上建立一个系统触发器来自动启动部分或所有PDB,如下所示:

CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/

Oracle12.1.0.2补丁集已引入了保持PDB启动状态的能力,因此,不用再通过上面的触发器方式来实现自动打开PDB。可以通过下面方式让PDB数据库自动启动。

SQL>ALTER PLUGGABLE DATABASE PTEST1 OPEN;
SQL>ALTER PLUGGABLE DATABASE PTEST1 SAVE STATE;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP
SQL>SHOW PDBS;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PTEST2                         MOUNTED
         4 PTEST1                         READ WRITE 

如上所示,使用命令保存了PDB的STATE后,下次使用命令startup重启实例,对应的PDB就会启动到相应状态(READ WRITE)

--查看PDB保存的状态
COLUMN CON_NAME FORMAT A20
COLUMN INSTANCE_NAME FORMAT A20
SELECT CON_NAME, INSTANCE_NAME, STATE FROM DBA_PDB_SAVED_STATES;

--被保存的状态可以通过如下命令被废弃。

ALTER PLUGGABLE DATABASE T1PDB DISCARD STATE;

更多详细信息,可以参考官方文档How to Preserve Open Mode of PDBs When the CDB Restarts ( 文档 ID 1933511.1) 。

标签:12c,NAME,启动,----------,SQL,Oracle,PDB,CON
From: https://www.cnblogs.com/kerrycode/p/17446382.html

相关文章

  • 【Oracle】Clean all objects belong to particular the user but not using drop use
      #--WX:DBAJOE399--DEST_SCHEMA=Expected_user_namesqlplus/assysdba<<!EOFsetserveroutputonsetechooffsetfeedbackoffWHENEVERSQLERROREXIT1WHENEVEROSEEROREXIT1altersessionsetcurrent_schema=${DEST_SCHEMA};purgedba......
  • 【Oracle】Check size of datafiles and tempfile tablespaces used in CDB and PDB
       --WX:DBAJOE399--setline200pages999columnnamefora10columntablespace_namefora15column"MAXSIZE(GB)"format9,999,990.00column"ALLOC(GB)"format9,999,990.00column"USED(GB)"format9,999,990.00selec......
  • docker部署oracle
    docker部署oracle1.拉取镜像dockerpullregistry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g2.启动容器dockerrun-id-p1521:1521--nameoracle11gregistry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g3.进行配置,首先执行如下命令进入oracle容器环境中:docker......
  • Oracle 性能慢排查脚本
    查看总消耗时间最多的前100条SQL语句select*from(selectv.sql_id,v.child_number,v.sql_text,last_load_time,v.PARSING_USER_ID,ROUND(v.ELAPSED_TIME/1000000/(CASEWHEN(EXECUTIONS=0ORNVL(EXECUTIONS,1)=1)THEN1ELSEEXECUTIONSEND),2)"执行......
  • 查询Oracle数据字典SQL
    SELECT A.TABLE_NAMEAS"表名", A.COLUMN_NAMEAS"字段名", DECODE( A.CHAR_LENGTH, 0, DECODE( A.DATA_SCALE, NULL, A.DATA_TYPE, A.DATA_TYPE||'('||A.DATA_PRECISION||','||A.DATA_SCALE||')' ), ......
  • 【Oracle】Resize your Oracle datafiles down to the minimum without ORA-03297
      --Innon-multitenantDBsetlinesize1000pagesize0feedbackofftrimspoolonwithhwmas(--gethighestblockidfromeachdatafiles(fromx$ktfbueaswedon'tneedalljoinsfromdba_extents)select/*+materialize*/ktfbuesegtsnts......
  • 【Oracle】Check the tbs' usage
    setfeedbackoffsetpagesize70;setlinesize2000setheadonCOLUMNTablespaceformata25heading'TablespaceName'COLUMNautoextensibleformata11heading'AutoExtend'COLUMNfiles_in_tablespaceformat999heading'Files'......
  • 【Oracle】Oracle Database Administration 2019 Certified Professional Certificati
     说明:1.目前题库100%覆盖考题,准确率84%。2.若需要优质烤券,请私信,留下你的WX。(官方250刀,本店只需要1500RMB包含100%完整题库以及考试经验分享)3.本条信息长期有效。考试题量:85通过分数:84%1、WhichtwoaretrueaboutreclaimingspaceusedbyFlashbacklogsinOracle......
  • 【Oracle impdp/expdp】Big lesson from failure with impdp/expdp in 12c
     最近忙于做数据库12c-19c迁移,基于公司的情况,选用了最拿手的expdp/impdporacle自带的王者级别工具进行迁移。按照常规思路,一顿操作猛如虎,expdp直接选用full=y将数据全库导出,然后在19c中导入,无论是12c中的导出还是19c中的导入数据,没有任何的错误,然而在无意间,反过来去检查下两......
  • oracle 新建表后使用select查询具体字段提示标识符无效
    场景:使用powerdesigner生成oracle数据库表建表语句,执行建表语句后,使用select查询具体字段提示标识符无效。解决方法:使用select*验证一下是不是还报错,不报错就看一下建表语句是不是用""将小写字段包了起来,如果用了"",要么将字段改为大写(可以将建表语句中的""去掉,字段大小写不用调......