设为首页 收藏本站
查看: 431|回复: 0

[经验分享] oracle 12c CDB和PDB的启动关闭操作

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-19 08:10:29 | 显示全部楼层 |阅读模式
  部分参考:
  http://www.cnblogs.com/siyunianhua/p/4004361.html?utm_source=tuicool
  http://www.iyunv.com/database/201412/358112.html
  
  
  基本概念:
  Multitenant Environment:多租户环境
  CDB(Container Database):数据库容器
  PD(Pluggable Database):可插拔数据库
  CDB与PDB关系图
  COMMON USERS(普通用户):经常建立在CDB层,用户名以C##或c##开头;
  LOCAL USERS(本地用户):仅建立在PDB层,建立的时候得指定CONTAINER。
  
DSC0000.png
  在oracle 12c中,使用了一个container(容器)的概念,让我们先看看官方的对它的介绍,为了保留最原始的意思,这里引用英文而不翻译了。
  The data dictionary in each container in a CDB is separate, and the current container is the container whose data dictionary is used for name resolution and for privilege authorization. The current container can be the root or a PDB. Each session has exactly one current containerat any point in time, but it is possible for a session to switch from one container to another.
  

  Each container has a unique>  
  1 Container Database (CDB)
  对于CDB,启动和关闭与之前传统的方式一样,具体语法如下:
  STARTUP[NOMOUNT | MOUNT | RESTRICT | UPGRADE | FORCE | READ ONLY]
  SHUTDOWN[IMMEDIATE | ABORT]
  
  要注意,在12c数据库创建完成后,默认情况下使用sqlplus / as sysdba 登录连接的是CDB。
  
  注意这里的PDB,在CDB 启动之后,PDB 是自动启动到mount状态,而不是OPEN。 所以我们还需要手工去open它,当然,也可以通过在CDB中配置触发器来自动open。
  
  
  2 Pluggable Database (PDB)
  PDB 的操作可以通过SQL*PLUS 来操作,也可以通过ALTER PLUGGABLE DATABASE 命令操作。
  
  2.1 使用SQL*Plus 命令
  
  因为默认连接的是CDB,所以必须先指定PDB才可以通过sqlplus来启动和关闭PDB,
  
  a、查看容器库和插件库名
  SQL>select name,pdb from v$services;
  或只查看插件库
  select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
  
  b、切换到指定的库

  SQL>>  
  会话切换之后,操作的具体语法和普通实例一样:
  
  
  2.2 使用ALTER PLUGGABLE DATABASE命令
  
  如果在PDB中可以使用如下语法:
  ALTER PLUGGABLE DATABASE OPEN READ WRITE [RESTRICTED] [FORCE];
  ALTER PLUGGABLE DATABASE OPEN READ ONLY [RESTRICTED] [FORCE];
  ALTER PLUGGABLE DATABASE OPEN UPGRADE [RESTRICTED];
  ALTER PLUGGABLE DATABASE CLOSE [IMMEDIATE];
  
  如果是在CDB中,可以使用如下语法:
  ALTER PLUGGABLE DATABASE  OPEN READ WRITE [RESTRICTED][FORCE];
  ALTER PLUGGABLE DATABASE  OPEN READ ONLY [RESTRICTED] [FORCE];
  ALTER PLUGGABLE DATABASE  OPEN UPGRADE [RESTRICTED];
  ALTER PLUGGABLE DATABASE  CLOSE [IMMEDIATE];
  
  表示的是多个PDB,如果有多个,用逗号分开。 也可以使用ALL或者ALL EXCEPT关键字来替代。
  ALL:表示所有的PDBS。
  ALLEXCEPT 表示需要排除的PDBS。
  
  
  3 设置Pluggable Database (PDB) 的自动startup
  
  默认情况下,在CDB 启动的时候,all 的PDB 都是mount状态,也没有默认的机制,在CDB启动时自动启动PDB。
  
  但这里可以通过触发器来实现PDB的自动open:
  在容器库中已sys登录创建如下触发器
  CREATEOR REPLACE TRIGGER open_pdbs
  AFTER STARTUP ON DATABASE
  BEGIN
  EXECUTE IMMEDIATE 'ALTERPLUGGABLE DATABASE ALL OPEN';
  END open_pdbs;
  /
  
  
  常用的sql:
  
  --1、查看Oracle 12c的版本
  SELECT * FROM V$VERSION;
  
  --2、查看当前会话连接的数据库
  select sys_context ('USERENV', 'CON_NAME') from dual;
  或:
  SQL> show con_name
  
  --3、查看容器库和插件库名
  SQL>select name,pdb from v$services;
  或只查看插件库
  select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
  
  --4、将容器库打开

  SQL>>  
  --5、切换到指定的库

  SQL>>  
  --5、查看会话丽娜姐的库
  SQL> select sys_context('USERENV','CON_NAME') from dual;
  
  
  --7、在插件库中创建用户,和以前版本一样的语法;

  SQL> create user t1>  SQL> grant dba to t1;
  --8、关闭插件库
  SQL> shutdown immediate
  
  --9、在容器库中创建用户;

  SQL> create user c##t>  在容器数据库中就可查询了;
  select * from dba_users u where u.USERNAME='C##T';
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-153148-1-1.html 上篇帖子: ORACLE11g密码安全与过期策略 下篇帖子: 配置ORACLE 11g绿色版客户端和PLSQL环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表