CDB命令方式创建和删除

环境:centos7 、oracle12c

oracle12c的容器数据库创建方式1、图形界面dbcahttps://www.cnblogs.com/wukc/p/13420063.html 2、直接命令方式

1、容器数据库的组件

1)ROOT组件 CDB$ROOT 存储Oracle提供元数据、Common User(每个容器都包含的用户)
2)SEED组件 PDB$SEED 创建PDBS数据库的模板
3)PDBS组件 CDB中可以有一个或多个PDBS
唯一的CON_ID和名称

2、创建容器数据库

复制代码
Create a Multitenant Container Database
通过DBCA创建CDB和PDB
使用sqlplus创建CDB1步骤
1)启动实例
[oracle@12c dbs]$ export ORACLE_SID=CDB1   --设置环境变量
[oracle@12c dbs]$ echo $ORACLE_SID
CDB1
[oracle@12c oradata]$ mkdir -p /u01/app/oracle/oradata/CDB1
[oracle@12c oradata]$ mkdir -p /u01/app/oracle/oradata/PDBSEED
编辑参数文件
[oracle@12c dbs]$ cd $ORACLE_HOME/dbs
[oracle@12c dbs]$ touch initCDB1.ora
[oracle@12c oradata]$ vim $ORACLE_HOME/dbs/initCDB1.ora 
DB_NAME=CDB1
DB_BLOCK_SIZE=8192
CONTROL_FILES='/u01/app/oracle/oradata/CDB1/control01.ctl'
ENABLE_PLUGGABLE_DATABASE=true
[oracle@12c oradata]$ sqlplus / as sysdba
SQL> startup nomount;
2.创建数据库
CREATE DATABASE命令 ENABLE PLUGGABLE DATABASE命令
CREATE DATABASE CDB1
  USER SYS IDENTIFIED BY oracle
  USER SYSTEM IDENTIFIED BY oracle
  LOGFILE GROUP 1 ('/u01/app/oracle/oradata/CDB1/redo01a.log','/u01/app/oracle/oradata/CDB1/redo01b.log')
             SIZE 100M BLOCKSIZE 512,
          GROUP 2 ('/u01/app/oracle/oradata/CDB1/redo02a.log','/u01/app/oracle/oradata/CDB1/redo02b.log')
             SIZE 100M BLOCKSIZE 512,
          GROUP 3 ('/u01/app/oracle/oradata/CDB1/redo03a.log','/u01/app/oracle/oradata/CDB1/redo03b.log')
             SIZE 100M BLOCKSIZE 512
  MAXLOGHISTORY 1
  MAXLOGFILES 16
  MAXLOGMEMBERS 3
  MAXDATAFILES 1024
  CHARACTER SET AL32UTF8
  NATIONAL CHARACTER SET AL16UTF16
  EXTENT MANAGEMENT LOCAL
  DATAFILE '/u01/app/oracle/oradata/CDB1/system01.dbf'
    SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
  SYSAUX DATAFILE '/u01/app/oracle/oradata/CDB1/sysaux01.dbf'
    SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
  DEFAULT TABLESPACE deftbs
    DATAFILE '/u01/app/oracle/oradata/CDB1/deftbs01.dbf'
    SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
  DEFAULT TEMPORARY TABLESPACE tempts1
    TEMPFILE '/u01/app/oracle/oradata/CDB1/temp01.dbf'
    SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
  UNDO TABLESPACE undotbs1
    DATAFILE '/u01/app/oracle/oradata/CDB1/undotbs01.dbf'
    SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
  ENABLE PLUGGABLE DATABASE
    SEED
    FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/CDB1/',
                         '/u01/app/oracle/oradata/PDBSEED/')               --通过cdb复制一个pdbseed
    SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
    SYSAUX DATAFILES SIZE 100M
  USER_DATA TABLESPACE usertbs
    DATAFILE '/u01/app/oracle/oradata/PDBSEED/usertbs01.dbf'
    SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
    
3. Close/open the seed PDB and run postcreation scripts.
SQL>alter session set "_oracle_script"=true;
SQL>@/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/catalog.sql       --路径$ORACLE_HOME/rdbms/admin/catalog.sql
SQL>@/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/catblock.sql
SQL>@/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/catproc.sql
SQL>@/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/catoctk.sql
SQL>@/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/owminst.plb
SQL>@/u01/app/oracle/product/12.1.0/dbhome_1/sqlplus/admin/pupbld.sql
复制代码

 3、删除CDB

复制代码
cdb需要在mount限制登录模式下才能删除
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;  
SQL> alter system enable restricted session;     --限制登录模式
System altered.
SQL> drop database;
复制代码

 

posted @   苍茫宇宙  阅读(772)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示