zoukankan      html  css  js  c++  java
  • Oracle12c多租户如何启动关闭CDB或PDB (PDB自动启动)

    Oracle 数据库 12 c 中介绍了多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB)。
    下面我们一起来启动和关闭容器数据库 (CDB) 和可插拔数据库 (PDB)。


    一、启动与关闭 cdb、pdbs 数据库


    说明:对于CDB,启动和关闭与之前传统的方式一样。


    1. 启动 CDB
    启动和关闭的容器数据库和以前版本的常规实例相同。使用SQL*Plus STARTUP和SHUTDOWN命令,必须以特权用户身份连接到CDB。
    一些典型用法如下所示。
    --12c数据库创建完成后,默认情况下使用sqlplus / as sysdba  登录连接的是CDB。
    [oracle@12c01 ~]$ sqlplus / as sysdba
    SQL>startup;
    SQL> select name,cdb,open_mode from v$database;


    NAME                 CDB OPEN_MODE
    -------------------- --- --------------------
    ANDYCDB              YES READ WRITE
    SQL> show pdbs                       


        CON_ID CON_NAME  OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
    2 PDB$SEED  READ ONLY  NO
    3 PDB01  MOUNTED
    在CDB 启动之,PDB 是自动启动到mount状态,而不是OPEN。 所以我们还需要手工去open它


    2. 关闭CDB,也会把PDB 关闭掉
    SQL>select con_id, dbid, guid, name , open_mode from v$pdbs;
    SQL>shutdown; 


    二、 启动与关闭可插接式数据库 (PDB)


    3. 启动 PDB
    特权用户使用 SQL*PLUS 命令或ALTER PLUGGABLE DATABASE命令可以启动和停止可插拔的数据库。
    SQL> show pdbs


        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 PDB01                          MOUNTED
    SQL> alter session set container=pdb01;


    Session altered.


    SQL> alter pluggable database pdb01 open;


    Pluggable database altered.


    SQL> show pdbs


        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             3 PDB01                          READ WRITE NO
    启动到其他状态:
    ALTER PLUGGABLE DATABASE OPEN READ ONLY FORCE;
    ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;


    4. 关闭 PDB
    SQL> alter pluggable database pdb01 close immediate;


    Pluggable database altered.


    扩展:
    1.启动或者关闭一个或多个 PDB,指定的名称为一个以逗号分隔的列表。
    ALTER PLUGGABLE DATABASE pdb1,pdb2 OPEN READ ONLY FORCE;
    ALTER PLUGGABLE DATABASE pdb1,pdb2 CLOSE IMMEDIATE;
    2.启动或者关闭 all pdbs
    ALTER PLUGGABLE DATABASE ALL OPEN;
    ALTER PLUGGABLE DATABASE ALL CLOSE IMMEDIATE;
    3.排除某些pdbs不启动,启动所有为排除的。
    ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 OPEN;
    ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 CLOSE IMMEDIATE;


    三、可插接式数据库(PDB) 自动启动


    默认情况下,在CDB 启动的时候,all 的PDB 都是mount状态。我们可以通过触发器来实现pdbs随cdb自动启动
    [oracle@12c01 ~]$ sqlplus / as sysdba
    SQL> show con_name


    CON_NAME
    ------------------------------
    CDB$ROOT
    SQL>
    CREATE OR REPLACE TRIGGER open_pdbs
    AFTER STARTUP ON DATABASE
    BEGIN
    EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
    END open_pdbs;
    /
     
    Trigger created.


    验证 PDB 自动启动:
    SQL> startup;
    SQL> show pdbs


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

  • 相关阅读:
    Jmeter的两种录制脚本的方式
    【.NET】设置EntityFramework中decimal类型数据精度 [转]
    vscode格式化vue不换行
    mysql5.7 noinstall 安装 【转载】
    配置STP、RSTP以及负载均衡
    配置3层交换机VLAN间通信
    配置单臂路由
    配置DTP
    配置trunk
    配置VLAN
  • 原文地址:https://www.cnblogs.com/andy6/p/6815733.html
Copyright © 2011-2022 走看看