CDB和PDB的创建、连接、启动和关闭方法
本篇内容主要讲解“CDB和PDB的创建、连接、启动和关闭方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CDB和PDB的创建、连接、启动和关闭方法”吧!
一、CDB和PDB基本管理基本概念:
Multitenant Environment:多租户环境
CDB(Container Database):数据库容器
PDB(Pluggable Database):可插拔数据库
PDB包含在CDB中,所以,要创建PDB,必须先创建CDB。一台机器上可以有多个CDB。Oracle软件安装完成后,就可以创建CDB
启动DBCA
C:\app\oracle\product\12.1.0\dbhome_1\BIN\dbca.bat)
C:\app\oracle\product\12.1.0\dbhome_1\BIN\dbca.bat
Sqlplus默认连接CDB
3.2连接PDBsqlplus sys/oracle as sysdba
pdb可以通过在CDB中alter session container
alter session set container=pdb1
也可以直接通过tns方式(如下)登录
sqlplus sys/oracle@pdb1 as sysdba
其中tnsnames.ora添加
PDB1=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=pdb1)))四、启动与关闭4.1启动关闭CDB
SQL>showcon_nameCON_NAME------------------------------CDB$ROOTSQL>shutdownimmediate数据库已经关闭。已经卸载数据库。ORACLE例程已经关闭。SQL>startupORACLE例程已经启动。TotalSystemGlobalArea5044088832bytesFixedSize2413072bytesVariableSize1040190960bytesDatabaseBuffers3992977408bytesRedoBuffers8507392bytes数据库装载完毕。数据库已经打开。SQL>selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_IDDBIDNAMEOPEN_MODE------------------------------------------------------------4122484437PDB$SEEDREADONLY3387525155PDB1MOUNTED3946119498PDB2MOUNTEDSQL>
从上面的操作中可以看到数据库启动的时候所有的PDBs的状态为MOUNTED
4.2启动关闭PDBpdb的管理可以在cdb中进行也可以在pdb中进行,如果是cdb中进行,需要PLUGGABLE关键字,如果是在pdb中直接和普通数据库一样
SQL>showcon_nameCON_NAME------------------------------CDB$ROOTSQL>selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_IDDBIDNAMEOPEN_MODE------------------------------------------------------------4122484437PDB$SEEDREADONLY3387525155PDB1MOUNTED3946119498PDB2MOUNTEDSQL>alterpluggabledatabasepdb1open;插接式数据库已变更。SQL>selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_IDDBIDNAMEOPEN_MODE------------------------------------------------------------4122484437PDB$SEEDREADONLY3387525155PDB1READWRITE3946119498PDB2MOUNTEDSQL>alterpluggabledatabasepdb2open;插接式数据库已变更。SQL>selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_IDDBIDNAMEOPEN_MODE------------------------------------------------------------4122484437PDB$SEEDREADONLY3387525155PDB1READWRITE3946119498PDB2READWRITESQL>alterpluggabledatabasepdb1close;插接式数据库已变更。SQL>selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_IDDBIDNAMEOPEN_MODE------------------------------------------------------------4122484437PDB$SEEDREADONLY3387525155PDB1MOUNTED3946119498PDB2READWRITESQL>alterpluggabledatabasepdb2close;插接式数据库已变更。SQL>selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_IDDBIDNAMEOPEN_MODE------------------------------------------------------------4122484437PDB$SEEDREADONLY3387525155PDB1MOUNTED3946119498PDB2MOUNTEDSQL>alterpluggabledatabaseallopen;插接式数据库已变更。SQL>alterpluggabledatabaseallclose;插接式数据库已变更。SQL>altersessionsetcontainer=pdb1;会话已更改。SQL>selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_IDDBIDNAMEOPEN_MODE------------------------------------------------------------3387525155PDB1MOUNTEDSQL>startup插接式数据库已打开。SQL>shutdown插接式数据库已关闭。SQL>selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_IDDBIDNAMEOPEN_MODE------------------------------------------------------------3387525155PDB1MOUNTEDSQL>4.3自动启动所有PDB
从上面的操作中可以看到数据库启动的时候所有的PDBs的状态为MOUNTED,在实际应用可以考虑增加如下的触发器使所有的PDBs都处于打开状态。
createorreplacetriggersys.after_startupafterstartupondatabasebeginexecuteimmediate'alterpluggabledatabaseallopen';endafter_startup;
验证过程
SQL>createorreplacetriggersys.after_startupafterstartupondatabasebeginexecuteimmediate'alterpluggabledatabaseallopen';endafter_startup;/触发器已创建SQL>shutdown数据库已经关闭。已经卸载数据库。ORACLE例程已经关闭。SQL>startupORACLE例程已经启动。TotalSystemGlobalArea5044088832bytesFixedSize2413072bytesVariableSize1040190960bytesDatabaseBuffers3992977408bytesRedoBuffers8507392bytes数据库装载完毕。数据库已经打开。SQL>selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_IDDBIDNAMEOPEN_MODE------------------------------------------------------------4122484437PDB$SEEDREADONLY3387525155PDB1READWRITE3946119498PDB2READWRITESQL>五、常用SQL
--查看ORACLE12C版本select*fromv$version;--查看容器名称和IDshowcon_name;--查看状态selectname,open_modefromv$pdbs;--切换containeraltersessionsetcontainer=pdb1
到此,相信大家对“CDB和PDB的创建、连接、启动和关闭方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。