Oracle12c:安装后新建用户及其默认表空间,并创建表测试

Posted yy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle12c:安装后新建用户及其默认表空间,并创建表测试相关的知识,希望对你有一定的参考价值。

  • 环境:

操作系统:Windows Server2008 R2 X64

Oracle版本:12c

如何安装?

-- oracle 12c在oracle linux 6.6 x64上的安装

-- Windows x64位下完美安装winx64_oracle_12c_database

如何使用DataBase Cofiguration Assistant 创建数据库?

-- oracle12c dbca方式创建数据库实例(多图)

如何使用PL/SQL Developer连接?

-- PL/SQL Developer连接到Oracle 12c

备注:上边PL/SQL Developer连接oracl 12c方式,我并没有成功。

初次安装上oracle12c,发现与之前使用的oracle9g版本还是有点区别。

  • 从官网上获取到的信息是,Oracle12c新出的概念:

1、oracle12c中增加了可插拔数据库的概念,即PDB的概念,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。

CDB全称Container Database,中文翻译为数据库容器;

PDB全称Pluggable Database,中文翻译为可插拔数据库。

2、在Oracle12c之前,实例与数据是一对一或者多对一的关系(RAC):即一个数据实例只能与一个数据库相关联,数据库可以被多个实例所加载。

但是,实例与数据库不可能是一对多的关系。

3、进入Oracle12c后,实例与数据库可以是一对多的关系。

下图是官网提供的CDB与PDB的关系图:

上边新的概念带来了什么好处?

对于pdb确实给程序员带来了不少好处:不过这也给管理员带来了一些不同。

首先,容器数据库创建新用户并分配表空间时,可以在以下两种情况下进行:

1、必须在没有PDB的情况下;

2、PDB与CDB有相同的表空间的情况下。

否则,会失败。

如果是PDB与CDB有相同表空间的情况下给CDB用户分配表空间,则会分配CDB的表空间给用户,PDB的表空间并不受影响;

而且,CDB用户必须以‘c##’为开头,否则创建用户失败。

参考:

Oracle 12c 数据库CDB用户创建与表空间分配的问题

oracle官网文档:http://docs.oracle.com/database/121/index.htm

CDB、PDB、PDB$SEED与SqlServer中对象对应:

  • 1、CDB与PDB可以实现一个CDB对应多个PDB,这和sqlserver中的单个实例对应多个数据库架构是有点相似的思路。
  • 2、PDB$SEED可以看成是master、msdb等系统数据库;
  • 3、PDBS可以看成用户创建的数据库。
  • 4、可插拔的概念与SqlServer中的用户数据库分离、附加有相似的思路。

CDB数据库组件:

1、ROOT组件

  ROOT又叫CDB$ROOT,存储着Oracle提供的元数据和Common User,元数据的一个例子是ORACLE提供的PL/SQL包的源代码,Common User是指在每个容器都存在的用户。

2、SEED组件

  SEED又叫PDB$SEED,这个是你创建PDBS数据库的模板,你不能在SEED中添加或修改一个对象。一个CDB中有且只能有一个SEED。这个类似SQLSERVER中的model数据库。

3、PDBS

  CDB中可以有一个或者多个Pdbs,PDBS向后兼容,可以像以前在数据库中那样操作PDBS,这里只大多数操作。

这些组件中的每一个都可以被称为一个容器。因此,ROOT(根)是一个容器,SEED(种子)是一个容器,每个PDB是一个容器。每个容器在CDB中都有一个独一无二的ID和名称。

参考:ORACLE 12C新特性——CDB与PDB

  • 创建新用户,并分配默认表空间,分配权限

 

以上是关于Oracle12c:安装后新建用户及其默认表空间,并创建表测试的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 12c如何创建A和B两个表空间并创建用户X?

oracle以啥用户创建表空间

Oracle创建用户和表空间后在Navicat中看不到,也不能连接

oracle 12c 创建PDB用户即Local User (PDB与CDB)

Windows下安装Oracle12C

oracle 12c创建用户错误