Oracle19c 创建用户
Oracle12C以及更高版本中引入了CDB与PDB的新特性,在ORACLE12C数据库引入的多租用户环境(MultitenantEnvironment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为PluggableDatabase,即可插拔数据库。==注意需要在新建实例额时候勾选“创建为容器数据
问题?
由于Oracle19C,安装之后不会自动创建scott用户。这里以windows系统举例说明scott用户导入失败,手动创建用户。
一、登录
1.打开cmd,以管理员身份登录数据库
二、查看数据库类型
Oracle 12C以及更高版本中引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。 CDB相当于操作系统,调用并管理各个PDB。PDB相当于真正提供业务需求的数据库实例。Oracle 12C安装后只创建了CDB,需要自己生成相应的PDB。 Oracle 12C在安装时,默认创建为容器数据库。下面是官方文档关于CDB与PDB的关系图。
在CDB容器中创建用户时,前面必须添加C## ,而PDB数据库不需要加前缀
select CDB from v$database;
如果得到的结果为YES,那么就是CDB的数据库,否则,则不是。
三、在CDB数据库中创建用户
提示:以scott用户为例。
创建用户: 在CDB容器中创建用户时,前面必须添加C## ,而PDB数据库不需要加前缀
1.创建C##SCOTT用户
CREATE USER c##scott IDENTIFIED BY tiger;
2.用户授权
GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO c##scott CONTAINER=ALL;
3.设置表空间
ALTER USER c##scott DEFAULT TABLESPACE USERS;
ALTER USER c##scott TEMPORARY TABLESPACE TEMP;
4.提交
COMMIT;
四、在PDB数据库中创建用户
1.启动PDB数据库
alter pluggable database ORCLPDB open;
==注意:需要在新建实例额时候勾选“创建为容器数据库”,否则会提示ORA-65011:插接式数据库ORCLPDB 不存在。==如下图所示
2.切换到ORCLPDB容器
alter session set container=ORCLPDB;
3.查看当前使用容器
select sys_context ('USERENV', 'CON_NAME') from dual;
4.创建用户
CREATE USER scott IDENTIFIED BY tiger ;
5.用户授权
方式一
GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO scott CONTAINER=ALL ;
若提示:ORA-65030: 无法向本地用户或角色授予公用权限,用方式二。
方式二
GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO SOP6_EGP_2 CONTAINER=current ;
6.设置表空间
ALTER USER c##scott DEFAULT TABLESPACE USERS;
ALTER USER c##scott TEMPORARY TABLESPACE TEMP;
7.提交
COMMIT;
更多推荐
所有评论(0)