oracle19c sql developer创建本地用户(PDB用户)及配置连接

oracle自12c版本开始引入了多租户的特性,多了一个CDB和PDB的概念,简单理解我们在11g时代只有PDB(即库的概念),现在多了一层CDB(即容器的概念),每个CDB下可以包含多个PDB,所以我们在创建用户时也就有了公用用户和本地用户的区别,公用用户对应CDB,本地用户对应PDB。

oracle19c创建本地用户

19c中分为公用用户和本地用户,公用用户就是在CDB(即容器)下创建的用户,必须以C##开头;本地用户就是在PDB(即库)下创建的用户,这就和11g时的用户一样了。

如果你习惯使用oralce sql developer创建用户,一般会先连接sys用户,与11g都一致。
默认情况下直接创建的都是公用用户(必须以C##开头),想创建本地用户必须先切换至对应的库中并开启数据库,其实所有的操作都是要先切换库并开启。

查看库信息

show con_name pdbs;

查看PDBS
如上图所示,CDB$ROOT是当前容器名称,ORCLPDB是一个PDB插接式数据库,安装后默认创建的一个,没有可自行创建。OPEN MODE为MOUNTED,代表还未开启。

创建表空间

1.切换库

alter session set container = ORCLPDB ;

2.开启库

startup;

注意,开启库的命令需要在sql plus下执行,其他命令可以在sql developer中执行。
查看PDBS
这个时候你可以再次查看库信息,如上图所示,会看到只有一条PDB信息,并且OPEN MODE已经改为READ WRITE了。

3.创建表空间

--创建临时表空间 
create temporary tablespace my_temp  
tempfile 'C:\oracle19c\oradata\ORCL19C\orclpdb\my_temp.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  

--创建数据表空间
create tablespace my_data  
logging  
datafile 'C:\oracle19c\oradata\ORCL19C\orclpdb\my_data.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;

这里没什么大变化,唯一值得注意的是现在oradata路径下多了一层PDB文件夹(…\orclpdb…),可以把PDB用户的表空间放在对应的PDB文件夹下,把公用用户的表空间放在公用目录(…\ORCL19C…)下。

创建本地用户

这个时候在sql developer中创建用户就是本地用户,并且可以选到对应PDB的表空间,也可以执行语句创建用户。

-- 创建用户
CREATE USER "mypdb" IDENTIFIED BY "mypdbpassword"  
DEFAULT TABLESPACE "MY_DATA"
TEMPORARY TABLESPACE "MY_TEMP";

-- 授权
GRANT "DBA" TO "mypdb" ;
GRANT "CONNECT" TO "mypdb" ;
ALTER USER "mypdb" DEFAULT ROLE "DBA","CONNECT";

本地用户连接

一般配置sql developer连接时,我们选择SID,PDB用户配置服务名,即PDB库名称。
sql developer配置
注意,数据库重启后默认PDB的OPEN MODE是MOUNTE状态,需要重新切换到指定PDB库并开启才能正常连接。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值