签到成功

知道了

CNDBA社区CNDBA社区

Oracle CDB和PDB

2021-10-21 11:09 1163 0 原创 oracle
作者: hbhe0316

查询PDB实例

http://www.cndba.cn/hbhe0316/article/4968
http://www.cndba.cn/hbhe0316/article/4968

SQL> show pdbs

查询CDB实例http://www.cndba.cn/hbhe0316/article/4968

SQL> show con_name

切换到PDBorcl1容器

SQL> alter session set container=orcl1

切换到CDB容器http://www.cndba.cn/hbhe0316/article/4968http://www.cndba.cn/hbhe0316/article/4968

SQL> alter session set container=CDB$ROOT

查看当前属于哪个容器

SQL> show con_name  --

查看PDB信息(在CDB模式下)http://www.cndba.cn/hbhe0316/article/4968

SQL> show pdbs  --查看所有pdb
SQL> select name,open_mode from v$pdbs;  --v$pdbs为PDB信息视图
SQL> select con_id, dbid, guid, name , open_mode from v$pdbs;

切换容器

SQL> alter session set container=orcl1  --切换到PDBorcl1容器
SQL> alter session set container=CDB$ROOT    --切换到CDB容器

查看当前属于哪个容器http://www.cndba.cn/hbhe0316/article/4968

SQL> select sys_context('USERENV','CON_NAME') from dual; --使用sys_context查看属于哪个容器
SQL> show con_name  --用show查看当前属于哪个容器

启动PDB

SQL> alter pluggable database orcl1 open;    --开启指定PDB
SQL> alter pluggable database all open;  --开启所有PDB
SQL> alter session set container=orcl1;  --切换到PDB进去开启数据库
SQL> startup

关闭PDBhttp://www.cndba.cn/hbhe0316/article/4968

SQL> alter pluggable database orcl1 close;      --关闭指定的PDB
SQL> alter pluggable database all close;    --关闭所有PDB
SQL> alter session set container=orcl1;  --切换到PDB进去
SQL> shutdown immediate

创建或克隆前要指定文件映射的位置(需要CBD下sysdba权限)

SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/orcl/orcl2';

创建一个新的PDB:(需要CBD下sysdba权限)

SQL> create pluggable database test admin user admin identified by admin;    
SQL> alter pluggable database test_pdb open;    --将test_pdb 打开

克隆PDB(需要CBD下sysdba权限)

SQL> create pluggable database orcl2 from orcl1;  --test_pdb必须是打开的,才可以被打开
SQL> alter pluggable database orcl2 open;  --然后打开这个pdb

删除PDB(需要CBD下sysdba权限)http://www.cndba.cn/hbhe0316/article/4968

SQL> alter pluggable database  orcl2 close;  --关闭之后才能删除
SQL> drop pluggable database orcl2 including datafiles;  --删除PDB orcl2

设置CDB启动PDB自动启动(在这里使用的是触发器)

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

注意:CDB模式建立用户前面需要加c##

http://www.cndba.cn/hbhe0316/article/4968

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle,linux

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:1152399次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ