命令行使用mysql创建表空间_数据库12C创建PDB表空间用户及授权(DEMO)

创建PDB表空间与用户(不创建通用用户)

Oracle12c中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为PluggableDatabase,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关于CDB与PDB的关系图。

8d0d94719a2d3db0d5f898a8632150e3.png

common user 和local user是和oracle 12c的新特性pluggable database(PDB)有关。在PDB中创建的用户就是local user。从上图可以看出,common user必须以大写或小写的c##开头。下面是官方文档User的关系图。

927d698583552604e36b009899553d94.png

步骤:

1、安装,基本默认,默认安装会默认装一个PDB(orclpdb),

2、安装完之后登录,登录之后默认是CDB,创建CDB的表空间,(我试过如果单纯在PDB下创建表空间的话,之后创建用户无法指定表空间,意思是,CDB与PDB必须有相同名称的表空,才可以指定表空间,不然默认用的是TEMP与USERS);

>sqlplus sys/password as sysdba

SQL> show con_name;

SQL> select con_id,dbid,name,open_mode from v$pdbs;

--查看目前有的PDB容器

--创建CDB临时表空间(如果使用默认的临时表空间TEMP可以忽略这步)

SQL> create temporary tablespace wmstest_temp

tempfile 'C:\app\Administrator\virtual\oradata\wmstest_temp.dbf'

size 128m

autoextend on

next 128m maxsize 20480m

extent management local;

--创建CDB数据表空间(如果使用默认的表空间USERS可以忽略这步)

SQL>create tablespace wmstest_data

logging

datafile 'C:\app\Administrator\virtual\oradata\wmstest_data.dbf'

size 128m

autoextend on

next 128m maxsize 20480m

extent management local;

3、创建需要使用的PDB,我不使用默认的PDB,通过Datebase Configuration Assistant 创建一个PDB(wmstestpdb),创建完之后可以使用em界面来创建表空间 用户及授权等。

1b316473fc9537cac84e4c0905e0c348.png

通过em界面可以省事很多

4026f74c2ce880f5420a3c3eaf2dc092.png

4、如果不通过em界面的话,使用命令行的话,需要执行以下步骤

--切换到指定的库,方才创建的PDB是(WMSTESTPDB);

SQL> alter session set container=WMSTESTPDB;

-- 查看切换之后是否在PDB下,上一步会有显示,这一步纯粹无聊的

SQL> show con_name;

SQL> select con_id,dbid,name,open_mode from v$pdbs;

--如果是刚创建的PDB默认已经打开,不过可以执行startup命令确认下,反正如果已经打开的话也不会重复打开

SQL> startup;

--创建临时表空间(与CDB同名,不同tempfile, 的文件即可),其实用EM界面还有更多可选参数

SQL> create temporary tablespace wmstest_temp

tempfile 'C:\app\Administrator\virtual\oradata\wmstestpdb_temp.dbf'

size 128m

autoextend on

next 128m maxsize 20480m

extent management local;

--创建数据表空间(与CDB同名,不同tempfile, 的文件即可)

SQL> create tablespace wmstest_data

logging

datafile 'C:\app\Administrator\virtual\oradata\wmstestpdb_data.dbf'

size 128m

autoextend on

next 128m maxsize 20480m

extent management local;

-- 1 此时是在PDB下哦,创建用户并制定表空间

-- WMSTEST_DATA ,WMSTEST_TEMP必须同时存在CDB与PDB中哦,不然会报错哦

SQL> create user wmstest identified by wms123 default tablespace WMSTEST_DATA temporary tablespace WMSTEST_TEMP;

-- 2 使用默认的表空间(USERS,TEMP在CDB中默认存在有,并且新建的PDB也是默认存在的)

SQL> create user wmstest identified by wms123 default tablespace USERS temporary tablespace TEMP;

--给用户授予权限,授所有权限

SQL> grant all to wmstest;

其他的sql

--其他

--删除用户

SQL> drop user wmstest cascade;

--删除表空间

SQL> DROP TABLESPACE wmstest_temp INCLUDING CONTENTS AND DATAFILES;

SQL> DROP TABLESPACE wmstest_data INCLUDING CONTENTS AND DATAFILES;

-- 查看表空间

SQL> select tablespace_name, file_id, file_name,

round(bytes/(1024*1024),0) total_space

from dba_data_files

order by tablespace_name;

-- 查看用户

SQL> select * from dba_users;

5 、使用PLSQL连接

配置

tnsnames.ora

# wmstest/wms123

wmstestpdb =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = IP )(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = WMSTESTPDB)

)

)

如此可以连接并操作数据库了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值