由于oracle从12c开始引入了容器(PDB和CDB)、租户的概念。直接连接sysdba用户创建新用户时,会默认在CDB中创建公有用户,用户名需要以“C##”或“c##”开头。

如果用户名开头不想使用“C##”或“c##”,则需要做如下操作。

(1)使用sysdba管理员用户登录

sqlplus / as sysdba

(2)查看数据库是否为 CDB

select CDB from v$database;

说明:

如果得到的结果为YES,那么就是CDB的数据库,否则,则不是。

在CDB容器中创建用户时,前面必须添加C## ,而PDB数据库不需要加前缀。

(3)查看数据库存在容器

show  pdbs ;

(3)启动PDB数据库

alter pluggable database ORCLPDB1 open;

如果出现上面的错误提示,说明PDB已经打开。

(4)切换到ORCLPDB容器

alter session set container=ORCLPDB1;

(5)查看当前使用容器

select sys_context ('USERENV', 'CON_NAME') from dual;

(6)创建用户

CREATE USER  dsjzx IDENTIFIED BY "Dsjzx123" ;

用户名:dsjzx       密码:  Dsjzx123

注意:密码需要使用双引号包裹起来,避免一些异常错误。

使用单引号会报错: ORA-00988: missing or invalid password(s)

不使用双引号报错:ORA-00922: missing or invalid option

(7)给用户授权

GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO dsjzx CONTAINER=current ;

(8)设置表空间

ALTER USER dsjzx DEFAULT TABLESPACE   dsjzx_data ;

ALTER USER dsjzx TEMPORARY TABLESPACE   dsjzx_temp ;

如果没有表空间和临时表空间,可以使用下面的语句进行创建:

--创建临时表空间
create temporary tablespace dsjzx_temp
tempfile '/data/oracledata/dsjzx_pdb_temp.dbf'
size 100m
autoextend on
next 100m
maxsize UNLIMITED
extent management local; --创建表空间
create tablespace dsjzx_data
logging
datafile '/data/oracledata/dsjzx_pdb_data.dbf'
size 1G
autoextend on
next 100m
maxsize UNLIMITED
extent management local
Segment space management auto ;

(9)提交

COMMIT;

(10)编辑tnsnames.ora 文件

cd   /opt/oracle/product/19c/dbhome_1/network/admin/

vi  tnsnames.ora 

添加如下内容:

ORCLPDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hadoop04)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLPDB1)
)
)

注意:HOST 后面主机名,需要根据自己的主机进行修改

SERVICE_NAME为PDB的名称,根据自己PDB名称修改。

(11)使用普通用户进行登录

sqlplus   /nolog

connect dsjzx@orclpdb1/Dsjzx123

说明: conn <username>@<pdbname>/<password>;

(12)查看当前用户的所有表

--查看当前用户的所有表
SELECT table_name FROM user_tables;

--查看所有表
SELECT table_name FROM all_tables;

--例如: 查看用户dsjzx的所有表

SELECT table_name FROM all_tables WHERE owner = 'DSJZX';

注意:用户名区分大小写,默认为大写。

--查看所有用户的表,普通用户可能没有权限
SELECT table_name FROM dba_tables;

--例如: 查看用户dsjzx的所有表

SELECT table_name FROM dba_tables WHERE owner = 'DSJZX';

Oracle-创建用户不带C##(Oracle 19c)的更多相关文章

  1. 详解Oracle创建用户权限全过程

    本文将介绍的是通过创建一张表,进而实现Oracle创建用户权限的过程.以下这些代码主要也就是为实现Oracle创建用户权限而编写,希望能对大家有所帮助. 注意:每条语语分开执行,结尾必须用分号; // ...

  2. oracle 创建用户,授权用户,创建表,查询表

    原文:oracle 创建用户,授权用户,创建表,查询表 oracle 创建用户,授权用户,创建表,查询表 假设oracle10g所有的都已经安装和配置好 第一步:win+R,进入运行,cmd; 第二步 ...

  3. Oracle创建用户、表(1)

    Oracle创建用户.表(1) 1. 连接 C:\Users\LEI>sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on ...

  4. Oracle创建用户教程

    计算机-->管理-->应用程序与服务-->(OracleOraDb11g_home1TNSListener 和 OracleServiceORCL 服务)->启动服务 打开Or ...

  5. Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

    引用自 :http://www.2cto.com/database/201307/224836.html   Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍 先假设有这么一个表 ...

  6. 用sqlplus为oracle创建用户和表空间<转>

    用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS来创建表空间 ...

  7. 用sqlplus为oracle创建用户和表空间

    用Oracle自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的, 本文要介绍的是另一种方法就是使用Oracle所带的命令行工具SQLPLUS来创建表空间. 打开S ...

  8. oracle创建用户

    --首先用管理员的帐户登录(要有修改用户的权限)system,默认数据库orcl. CREATE USER lcs IDENTIFIED BY lcs default tablespace lics_ ...

  9. oracle 创建用户和imp指定表空间

    创建用户: 1,sqlplus sys/pwd as sysdba; 2, create user username identified by password; 3, grant dba,conn ...

  10. oracle创建用户、授予权限及删除用户

    创建用户   oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users;   //创建临时表空间 create temporary ta ...

随机推荐

  1. uniapp#实现自定义省市区三级联动

    uni-APP中的三级联动(省市区)---数据前端写死 https://blog.csdn.net/lwaner/article/details/107150805 uniapp#实现自定义省市区三级 ...

  2. chage详解:liunx账户密码过期时处理

    公司安装elasticSearcher7.10.2版本时提示账户密码过期,可以做以下的处理方式: 一.查看账户的使用情况 chage -l baikang [root@localhost ~]# ch ...

  3. 基于AHB_BUS的eFlash控制器RTL

    eFlash控制器的RTL gvim 操作 gg -- 跳到首页 GG -- 按住shift,跳到尾部 ctrl+V --> 上下键选择行 --> shift+i -->输入 --& ...

  4. CDC设计实例-01

    CDC设计实例 Clock Gating Cell & Glitch Free Clock Switch(门控单元和动态切换时钟) 一个电路有多个时钟输入进来,希望在工作当中能够动态切换时钟; ...

  5. 例2.9 建立一个带头结点的线性链表,用以存放输人的二进制数,链表中每个结点的data域存放一个二进制位。并在此链表上实现对二进制数加1的运算。

    1.题目 例2.9建立一个带头结点的线性链表,用以存放输人的二进制数,链表中每个结点的data域存放一个二进制位.并在此链表上实现对二进制数加1的运算. 2.算法分析 3.代码 /* 二进制加1 */ ...

  6. java - 标准类的定义

    一个标准的类需要拥有下面 4个 组成部分: 1. 所有的成员变量都要使用 private 关键字进行修饰 2. 为每一个成员变量编写 set.get 方法 3. 创建一个无参数的构造方法 4. 创建一 ...

  7. Oracle数据库统计信息_执行计划_sharedpool等的知识梳理

    Oracle数据库统计信息_执行计划_sharedpool等的知识梳理 背景 最近有项目出现了年底业务量增加时卡顿的情况. 同事多次发现执行SQL缓慢. 但是重新执行统计信息更新后问题就优化的现象. ...

  8. [转帖]KV数据库调研

    https://zhuanlan.zhihu.com/p/499313638 Redis作为NoSQL领域的代表,拥有很高的读写性能,支持比较丰富的数据类型,但是Redis也存在一些缺陷. l 内存数 ...

  9. [转帖]【Jmeter】Jmeter压力测试工具安装及使用教程(redis测试)

    摘自:https://www.cnblogs.com/monjeo/p/9330464.html 一.Jmeter下载 进入官网:http://jmeter.apache.org/ 1.第一步进入官网 ...

  10. [转帖]Linux:crontab要点整理(表达式,转义,权限管理,日志)

    https://www.jianshu.com/p/fd46652f247e 摘要:Linux,crontab整理crontab的使用,包括cron表达式,设置和删除任务,权限管理,查看日志 cron ...