问题?

由于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;
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐