oracle12c查看有哪些库,详解oracle 12c数据库新特征CDB与PDB(热插拔数据库)以及表空间管理...

表空间概念

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。Oracle数据库中至少存在一个表空间,即SYSTEM的表空间

CDB与PDB概念

a427e8c403f03adb95e6aed941a3451f.png

Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系

实验环境

系统环境:centos7.4

Oracle服务IP地址:192.168.100.99

光盘挂载目录:/mnt/sr0

安装相关目录:/opt

注意:如果没有搭建oracle 12c的朋友可以查看我之前写的博客,里面有详细的搭建过程

命令步骤

一、登录数据库

[[email protected] ~]$ lsnrctl

LSNRCTL> start #启动监听功能

LSNRCTL> quit

[[email protected] ~]$ sqlplus / as sysdba #登录数据库

SQL> startup #启动数据库

二、表空间管理

1、创建表空间

1)、创建临时表空间

SQL> create temporary tablespace user_temp #指定表空间名称

2 tempfile ‘/opt/app/oracle/oradata/TEMPWORK01.DBF‘ #指定表空间物理路径

3 size 50m #指定表空间大小

4 autoextend on #设置表空间自动扩展

5 next 50m maxsize 20480m #每次扩展50M,最大扩展20480M

6 extent management local; #表空间的区管理为本地管理,为的是减少分配extent的时候产生的内部递归sql,提高数据库分配空间的效率.

[[email protected] ~]# cd /opt/app/oracle/oradata/

[[email protected] oradata]# ls

0f26a011198ecec49e0d58c560e6b20d.png

2)、创建数据表空间

SQL> create tablespace db_work

2 datafile ‘/opt/app/oracle/oradata/WORKDB01.DBF‘

3 size 50m

4 autoextend on

5 next 50m maxsize 20480m

6 extent management local;

2、查看表空间

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME

--------------------------------------------------------------------------------

SYSTEM

SYSAUX

UNDOTBS1

TEMP

USERS

USER_TEMP

DB_WORK

已选择 7 行。

3、调整表空间大小

法一:直接修改大小

SQL> alter database datafile

2 ‘/opt/app/oracle/oradata/WORKDB01.DBF‘

3 resize 80m; #重新设置大小

[[email protected] ~]# cd /opt/app/oracle/oradata/

[[email protected] oradata]# ll -h

9d335425780f818f8a275fe482208914.png

法二:添加文件

SQL> alter tablespace db_work

2 add datafile

3 ‘/opt/app/oracle/oradata/WORKDB02.DBF‘

4 size 50m

5 autoextend on

6 next 50m maxsize 20480m;

[[email protected] ~]# cd /opt/app/oracle/oradata/

[[email protected] oradata]# ll -h

7b510e0a659f1217d0436125b22d7372.png

4、更改表空间权限

SQL> alter tablespace db_work read only; #更改表空间为只读

SQL> alter tablespace db_work read write; #更改表空间为读写,默认情况下

5、删除表空间

SQL> drop tablespace db_work including contents; #删除指定表空间,including contents参数表示删除表空间的所有内容

三、CDB与PDB操作

1、查看数据库模式

SQL> show con_name #查询当前所在的容器

CON_NAME

------------------------------

CDB$ROOT #默认为CDB模式

SQL> show pdbs #查询数据库的所有容器

CON_ID CON_NAME OPEN MODE RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED READ ONLY NO

3 ORCLPDB READ WRITE NO #存在容器型数据库,此时默认使用为PDB而非ORCLPDB

2、切换数据库模式为orclpdb

SQL> alter pluggable database orclpdb open; #修改可插拔库orclpdb为开启状态

SQL> alter session set container=orclpdb; #CDB下切换会话到PDB中,oracle容器连接到插拔库中

SQL> show con_name

CON_NAME

------------------------------

ORCLPDB #数据库模式已切换为容器型数据库

3、切换数据库模式为CDB$ROOT

SQL> shutdown immediate #关闭数据库

插接式数据库已关闭。

SQL> startup #打开数据库

插接式数据库已打开。

SQL> alter session set container=cdb$root; #切换会话为CDB

SQL> show con_name

CON_NAME

------------------------------

CDB$ROOT #切换成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值