拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. 技术学习系列
  3. Oracle-19C-OCP
  4. 正文

Oracle OCP 19C学习—Day2.1—SQL创建数据库CDB及CDB使用

2022年6月11日 2065点热度 0人点赞 0条评论

目录

  • 一、CDB查看
    • 1、查看当前CDB
    • 2、查看EM expres的端口
  • 二、CDB创建命令
    • 1、创建参数文件
    • 2、挂载数据
    • 3、创建数据库(可以编辑为脚本sql,然后执行即可)
      • (1)方法1:sql执行
      • (2)方法2:编辑为sql脚本然后被执行
    • 4、创建完成后跑sql脚本(时间较久)
  • 三、不使用SEED FILE_NAME_CONVERT功能
    • 1、使用OMF,oracle文件自动管理模式
    • 2、设置初始化参数:PDB_FILE_NAME_CONVERT
  • 四、打开em express端口
    • 1、设置为5500端口
    • 2、查看端口
  • 五、CDB和PDB的关系
    • 1、所有PDB共享的内容
    • 1、CDB启动startup(4个阶段)
      • (1)PDB设置随CDB启动
      • (2)PDB设置取消随CDB启动而启动
    • 2、CDB的shutdown的四个参数
    • 3、PDB的启停
      • (1)PDB的四种打开模式
      • (2)PDB的打开和关闭命令
  • 六、CDB和PDB的日常管理操作
    • 1、查看当前cdb
    • 2、查看pdb
    • 3、查看当前实例进程
      • 4、查看参数db_create_file_dest
    • 5、查看当前数据文件位置
    • 5、PDB创建方法1:没有指定db_create_file_dest
      • (1)首先创建pdb的目录
      • (2)SQL命令创建pdb1(也可以使用dbca创建)
      • (3)创建完成,查看生成文件
      • (4)查看pdbs
    • 6、PDB创建方法2:指定db_create_file_dest目录
      • (1)设置db_create_file_dest;
      • (2)SQL命令创建pdb2,第二个案例(也可以使用dbca创建)
      • (3)查看目录
    • 7、测试pdb的save state功能
      • (1)打开pdb1,但pdb2,pdb3不打开
      • (2)查看当前数据库状态
      • (3)保存当前所有pdb状态,并查看
      • (4)关闭所有pdb
      • (5)关闭cdb(即整个数据库实例)
      • (6)打开cdb(即整个数据库实例)
      • (7)查看pdbs状态
      • (8)关闭save 状态(关闭后,重启pdb后-所有的pdb启动都是mounted状态)
    • 8、从CDB切换到pdb中

一、CDB查看

1、查看当前CDB

SQL> select cdb from v$database;

如果cdb为yes就是安装了容器,如果是no就是传统方式。

2、查看EM expres的端口

SQL>select dbms_xdb_config.gethttpsport() from dual;

https://192.168.20.196:5502

二、CDB创建命令

1、创建参数文件

DB_CREATE_FILE_DEST='/u01/app/orac1e/oradata'   --这里如果写了路径,后面创建数据库则不需要写文件的路径。
ENABLE_PLUGGABLE_DATABASE=true
db_name=ocporcl
audit_file_dest='/u01/app/oracle/admin/CDBDEV/adump'
db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
db_recovery_file_size='30G'
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL-TCP) (SERVICE-CDBDEVXDB)'
control files=('/u01/app/oracle/oradata/ora. contro101.ct1','/u01/app/oracle/fast_recovery_area/ora_contro102.ctl')
compatible= '19.0.0.0'

2、挂载数据

SQL>startup mount

3、创建数据库(可以编辑为脚本sql,然后执行即可)

(1)方法1:sql执行

SQL> CREATE DATABASE cdb1
USER SYS IDENTIFIED BY p1 USER SY STEM IDENTIFIED BY p2
LOGFILE GROUP 1 ( '/u01/app/oradata/CDB1/redo1a.log' ,'/u02/app/oradata/CDB1/redo1b.1og') SIZE 100M,
        GROUP 2 ('/u01/app/oradata/CDB1/redo2a.1og','/u02/app/oradata/CDB1/redo2b . log') SIZE 100M
CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL1 6UTF16
EXTENT MANAGEMENT LOCAL DATAFILE
                 '/u01/app/oradata/CDB1/system01.dbf' SIZE 325M
SYSAUX DATAFILE  '/u01/app/oradata/CDB1/sysaux01.dbf' SIZE 325M
DEFAULT TEMPORARY TABLESPACE tempts1
                 TEMPFILE '/u01/app/oradata/CDB1/temp01.dbf' SIZE 20M
UNDO TABLESPACE undotbs 
                 DATAFILE '/u01/app/oradata/CDB1/undotbs01. dbf' SIZE 200M
ENABLE PLUGGABLE DATABASE
SEED FILE_NAME_CONVERT =('/u01/app/oradata/CDB1','/u01/app/oradata/CDB1/seed');

(2)方法2:编辑为sql脚本然后被执行

--编辑脚本

vi /oracle/createcdb.sql

CREATE DATABASE cdb1
USER SYS IDENTIFIED BY p1 USER SY STEM IDENTIFIED BY p2
LOGFILE GROUP 1 ( '/u01/app/oradata/CDB1/redo1a.log' ,'/u02/app/oradata/CDB1/redo1b.1og') SIZE 100M,
        GROUP 2 ('/u01/app/oradata/CDB1/redo2a.1og','/u02/app/oradata/CDB1/redo2b . log') SIZE 100M
CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL1 6UTF16
EXTENT MANAGEMENT LOCAL DATAFILE
                 '/u01/app/oradata/CDB1/system01.dbf' SIZE 325M
SYSAUX DATAFILE  '/u01/app/oradata/CDB1/sysaux01.dbf' SIZE 325M
DEFAULT TEMPORARY TABLESPACE tempts1
                 TEMPFILE '/u01/app/oradata/CDB1/temp01.dbf' SIZE 20M
UNDO TABLESPACE undotbs 
                 DATAFILE '/u01/app/oradata/CDB1/undotbs01. dbf' SIZE 200M
ENABLE PLUGGABLE DATABASE
SEED FILE_NAME_CONVERT =('/u01/app/oradata/CDB1','/u01/app/oradata/CDB1/seed');

--执行sql语句

SQL>@/oracle/createcdb.sql

4、创建完成后跑sql脚本(时间较久)

@$ORACLE_ HOME/rdbms/admin/catalog.sql
@$ORACLE_ HOME/rdbms/admin/catproc.sql

三、不使用SEED FILE_NAME_CONVERT功能

1、使用OMF,oracle文件自动管理模式

DB_CREATE_FILE_DEST='/oracle/app/oracle/oradata';

2、设置初始化参数:PDB_FILE_NAME_CONVERT

PDB_FILE_NAME_CONVERT='/orac.le/app/oracle/oradata/CDB1','/oracle/app/oracle/oradata/seed'

四、打开em express端口

1、设置为5500端口

SQL> exec DBMS_ XDB_ CONFIG.SETHTTPSPORT(5500);

2、查看端口

SQL> select dbms_ _xdb_ config.gethttpsport() from dual;

使用上述端口,监听必须要打开才可以。

五、CDB和PDB的关系

1、所有PDB共享的内容

Background processes
Shared/process memory
Oracle metadata
Redo log files
Control files
Undo tablespace (可以单独为PDB创建undo表空间(在dbca时选择),也是官方建议的)
dig_info(adr自动诊断存储库的目录,是所有cdb,pdb共享的)

1、CDB启动startup(4个阶段)

shutdown、nomount、mount、open四个阶段。

PDB可以设置随CDB启动,也可以设置只启动到mount状态,而单独手动进行open;

(1)PDB设置随CDB启动

SQL>alter pluggable database database pdb1 save state;

(2)PDB设置取消随CDB启动而启动

SQL>alter pluggable database database pdb1 discard state;

2、CDB的shutdown的四个参数

参数值 transaction normal immediate abort
数据一致性 是 是 是 否
允许新链接 否 否 否 否
等待当前会话结束 是 否 否 否
等待当前交易结束 是 是 否 否
强制检查点和关闭文件 是 是 是 否
是否需要崩溃恢复 否 否 否 是

3、PDB的启停

所有PDB共享control和redo,单独的pdb没有自己的control文件和redo。

(1)PDB的四种打开模式

读写
只读
迁移(pluggable)
mounted(PDB关闭状态)

(2)PDB的打开和关闭命令

使用ALTER PLUGGABLE DATABASE命令或STARTUP和SHUTDOWN命令打开和关闭PDB。

--打开PDB

sql>ALTER PLUGGABLE DATABASE orclPDB1 open;(在cdb或orclpdb1中都可以用)
或
sql>startup;(注意:在pdb中使用(通过切换会话进入当前pdb容器中,alter session set container=orclpdb1,再使用startup命令,PDB必须处于mounted状态)

--关闭PDB

sql>ALTER PLUGGABLE DATABASE orclPDB1 close;((在cdb或orclpdb1中都可以用)只是关闭pdb1,如果此时由用户连接,则无法关闭,需要使用immediate参数,SQL> alter pluggable database orclpdb1 close immediate;
或
sql>shutdown immediate(注意:在pdb中使用(通过切换会话进入当前pdb容器中,alter session set container=orclpdb1,再使用startup命令,PDB必须处于mounted状态)

注:ALTER PLUGGABLE DATABASE命令允许您从任何打开模式更改为其他模式。

六、CDB和PDB的日常管理操作

1、查看当前cdb

SQL> show con_name

2、查看pdb

SQL> show pdbs

3、查看当前实例进程

[oracle@ocp196:/home/oracle]$ps -ef|grep smon
oracle 24357 30483 0 16:26 pts/2 00:00:00 grep --color=auto smon
oracle 28774 1 0 Jun11 ? 00:00:01 ora_smon_ocporcl

4、查看参数db_create_file_dest

这个参数如果有值,则创建pdb时,不需要转换目录;

如果是空值,则创建pdb时,需要转换目录。

SQL> show parameter db_create_file_dest;

5、查看当前数据文件位置

SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oracle/app/oracle/oradata/OCPORCL/system01.dbf
/oracle/app/oracle/oradata/OCPORCL/pdbseed/system01.dbf
/oracle/app/oracle/oradata/OCPORCL/sysaux01.dbf
/oracle/app/oracle/oradata/OCPORCL/pdbseed/sysaux01.dbf
/oracle/app/oracle/oradata/OCPORCL/undotbs01.dbf
/oracle/app/oracle/oradata/OCPORCL/pdbseed/undotbs01.dbf
/oracle/app/oracle/oradata/OCPORCL/users01.dbf

5、PDB创建方法1:没有指定db_create_file_dest

注意:pdb可以单独一个目录,和cdb同级,也可以在cdb的下一级。本案例是同级。

(1)首先创建pdb的目录

[oracle@ocp196:/oracle]$mkdir -p /oracle/app/oracle/oradata/orclpdb1

(2)SQL命令创建pdb1(也可以使用dbca创建)

SQL>CREATE PLUGGABLE DATABASE orclPDB1 ADMIN USER admin IDENTIFIED BY oracle ROLES=(CONINECT) FILE_NAME_CONVERT=('/oracle/app/oracle/oradata/OCPORCL/pdbseed','/oracle/app/oracle/oradata/orclpdb1');

(3)创建完成,查看生成文件

因为在创建cdb时,我们选择undo是在local模式下独享,所以后续的pdb创建都会单独创建一个undo。

[oracle@ocp196:/home/oracle]$ll /oracle/app/oracle/oradata/orclpdb1
total 1116252
-rw-r-----. 1 oracle oinstall 309338112 Jun 12 16:51 sysaux01.dbf
-rw-r-----. 1 oracle oinstall 283123712 Jun 12 16:51 system01.dbf
-rw-r-----. 1 oracle oinstall 39854080 Jun 12 16:51 temp01.dbf
-rw-r-----. 1 oracle oinstall 550510592 Jun 12 16:51 undotbs01.dbf

(4)查看pdbs

SQL> show pdbs;

CON_ID        CON_NAME OPEN         MODE       RESTRICTED
---------- ---------------------- ----------  ----------
2             PDB$SEED             READ ONLY      NO
3             ORCLPDB1             MOUNTED

6、PDB创建方法2:指定db_create_file_dest目录

(1)设置db_create_file_dest;

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

注:
如果设置了/oracle/app/oracle/oradata,则会在oradata下的现有CDB名称目录(OCPORCL)下创建一个pdb目录
如果设置了/oracle/pdbtest(当前目录是新建),则会在/oracle/pdbtest下,自动创建当前CDB名称目录(OCPORCL),并在此目录下创建一个pdb目录

(2)SQL命令创建pdb2,第二个案例(也可以使用dbca创建)

SQL>CREATE PLUGGABLE DATABASE orclPDB2 ADMIN USER admin IDENTIFIED BY oracle ROLES=(CONINECT);

(3)查看目录

--db_create_file_dest目录设置在/oracle/app/oracle/oradata

会自动在当前目录下的CDB目录下OCPORCL下创建pdb的目录。

[oracle@ocp196:/home/oracle]$ll /oracle/app/oracle/oradata/OCPORCL
total 2893760
-rw-r-----. 1 oracle oinstall 18726912 Jun 12 17:19 control01.ctl
drwxr-x---. 3 oracle oinstall 4096 Jun 12 17:19 E13D476B05DA65EFE055C72F45483EB2
drwxr-x---. 2 oracle oinstall 4096 Jun 11 15:26 pdbseed
-rw-r-----. 1 oracle oinstall 209715712 Jun 12 17:19 redo01.log
-rw-r-----. 1 oracle oinstall 209715712 Jun 12 06:00 redo02.log
-rw-r-----. 1 oracle oinstall 209715712 Jun 12 14:10 redo03.log
-rw-r-----. 1 oracle oinstall 608182272 Jun 12 17:14 sysaux01.dbf
-rw-r-----. 1 oracle oinstall 954212352 Jun 12 17:19 system01.dbf
-rw-r-----. 1 oracle oinstall 39854080 Jun 12 14:10 temp01.dbf
-rw-r-----. 1 oracle oinstall 744497152 Jun 12 17:15 undotbs01.dbf
-rw-r-----. 1 oracle oinstall 5251072 Jun 12 14:15 users01.dbf

--db_create_file_dest目录设置在/oracle/pdbtest

[oracle@ocp196:/oracle/pdbtest/OCPORCL]$ll /oracle/pdbtest/OCPORCL/
total 4
drwxr-x---. 3 oracle oinstall 4096 Jun 12 17:22 E13D476B05DC65EFE055C72F45483EB2

7、测试pdb的save state功能

(1)打开pdb1,但pdb2,pdb3不打开

SQL> alter pluggable database orclpdb1 open;

(2)查看当前数据库状态

SQL> show pdbs

CON_ID          CON_NAME                   OPEN MODE    RESTRICTED
---------- ------------------------------ ----------    ----------
2               PDB$SEED                     READ ONLY     NO
3               ORCLPDB1                     READ WRITE    NO
4               ORCLPDB2                     MOUNTED
5               ORCLPDB3                     MOUNTED

(3)保存当前所有pdb状态,并查看

SQL>alter pluggable database all save state;
SQL> select con_id,con_name from dba_pdb_saved_states;
CON_ID         CON_NAME
----------   ----------------
3              ORCLPDB1

(4)关闭所有pdb

SQL>alter pluggable database all close;

(5)关闭cdb(即整个数据库实例)

SQL>shutdown immediate;

(6)打开cdb(即整个数据库实例)

SQL>startup

(7)查看pdbs状态

SQL> show pdbs

CON_ID          CON_NAME OPEN        MODE     RESTRICTED
---------- ---------------------  ---------- ----------
2                 PDB$SEED         READ ONLY      NO
3                 ORCLPDB1         READ WRITE     NO
4                 ORCLPDB2         MOUNTED
5                 ORCLPDB3         MOUNTED

(8)关闭save 状态(关闭后,重启pdb后-所有的pdb启动都是mounted状态)

SQL>alter pluggable database all discard state;

8、从CDB切换到pdb中

SQL>alter session set container=orclpdb1;

 

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2022年6月12日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号