您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

Oracle 12C 数据库管理 小结

2024/3/29 10:02:53发布7次查看
oracle 12c引入了cdb与pdb的新特性,在oracle 12c数据库引入的多租用户环境(multitenant environment)中,允许一个数据库容器(
oracle 12c 数据库管理 总结
新安了个12c的rac 环境,进去创建用户和表才发现,12c对数据库管理做了一些变更,再网上搜了一些文章,总结一下,方便以后使用。
oracle 12c引入了cdb与pdb的新特性,在oracle 12c数据库引入的多租用户环境(multitenant environment)中,允许一个数据库容器(cdb)承载多个可插拔数据库(pdb)。cdb全称为container database,中文翻译为数据库容器,pdb全称为pluggable database,即可插拔数据库。在oracle 12c之前,实例与数据库是一对一或多对一关系(rac):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入oracle 12c后,实例与数据库可以是一对多的关系。下面是官方文档关于cdb与pdb的关系图。
其实大家如果对sql server比较熟悉的话,这种cdb与pdb是不是感觉和sql server的单实例多数据库架构是一回事呢。像pdb$seed可以看成是master、msdb等系统数据库,pdbs可以看成用户创建的数据库。而可插拔的概念与sql server中的用户数据库的分离、附加其实就是那么一回事。看来oracle也“抄袭”了一把sql server的概念,只是改头换面的包装了一番。
oracle 单实例 从32位 迁移到 64位 方法 
在centos 6.4下安装oracle 11gr2(x64)
oracle 11gr2 在vmware虚拟机中安装步骤
debian 下 安装 oracle 11g xe r2
oracle rac 11.2(12c)正确关闭顺序 
cdb组件(components of a cdb)
一个cdb数据库容器包含了下面一些组件:
root组件
root又叫cdb$root, 存储着oracle提供的元数据和common user,元数据的一个例子是oracle提供的pl/sql包的源代码,,common user 是指在每个容器中都存在的用户。
seed组件
  seed又叫pdb$seed,这个是你创建pdbs数据库的模板,你不能在seed中添加或修改一个对象。一个cdb中有且只能有一个seed. 这个感念,个人感觉非常类似sql server中的model数据库。
pdbs
    cdb中可以有一个或多个pdbs,pdbs向后兼容,可以像以前在数据库中那样操作 pdbs,这里指大多数常规操作。
这些组件中的每一个都可以被称为一个容器。因此,root(根)是一个容器,seed(种子)是一个容器,每个pdb是一个容器。每个容器在cdb中都有一个独一无二的的id和名称。
1)连接到cdb数据库
连接到cdb数据库容器非常简单,跟以前连接数据库是一样的
[oracle@get-orasvr02 ~]$ sqlplus / as sysdba
 sql*plus: release 12.1.0.1.0 production on sun oct 20 23:41:36 2013copyright (c) 1982, 2013, oracle. 
 all rights reserved.connected to an idle instance.
 sql>
 [oracle@getorasvr02 ~]$ sqlplus sys/password  as sysdba
 sql*plus: release 12.1.0.1.0 production on sun oct 20 23:43:17 2013copyright (c) 1982, 2013, oracle.
  all rights reserved.connected to an idle instance.
 sql>
2)查看数据库是否为cdb
sql> select name, decode(cdb, 'yes', 'multitenant option enabled', 'regular 12c database: ') multitenant option , open_mode, con_id from v$database;
 name      multitenant option                  open_mode                con_id
 --------- -----------------------------  --------------------        ----------
epps      multitenant option enabled            read write                  0
yes表示该数据库是cdb,如果是no表示是no-cdb(普通数据库)
3)查看当前容器(container)
3.1
sql> show con_name
 con_name
 ------------------------------
 cdb$root
 sql> select sys_context('userenv', 'con_name') container db from dual;
 container db
 ----------------------------------------------------
 cdb$root
 sql>
4)查看cdb容器中的pdbs信息
查看cdb中有多少个pluggable database
sql>  select con_id, dbid, guid, name , open_mode from v$pdbs;   
 con_id      dbid guid                            name                          open_mode
 ---------- ---------- -------------------------------- ------------------------------ ---------       
2 4071321146 e89e8da2866e3157e043de07a8c09238 pdb$seed        read only      3 1930201447 e89e9418b882350ce043de07a8c092b6 pdbepps          mounted
 sql>
5)启动pdb数据库
方式1:
sql> alter pluggable database pdbepps open;
 pluggable database altered.
 sql> select con_id, dbid, guid, name , open_mode from v$pdbs;   
 con_id      dbid guid                            name                          open_mode
 ---------- ---------- -------------------------------- ------------------------------ ----------       
2 4071321146 e89e8da2866e3157e043de07a8c09238 pdb$seed  read only        3 1930201447 e89e9418b882350ce043de07a8c092b6 pdbepps        read write
方式2:
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录