Oracle-创建用户不带C##(Oracle 19c)
由于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)的更多相关文章
- 详解Oracle创建用户权限全过程
本文将介绍的是通过创建一张表,进而实现Oracle创建用户权限的过程.以下这些代码主要也就是为实现Oracle创建用户权限而编写,希望能对大家有所帮助. 注意:每条语语分开执行,结尾必须用分号; // ...
- oracle 创建用户,授权用户,创建表,查询表
原文:oracle 创建用户,授权用户,创建表,查询表 oracle 创建用户,授权用户,创建表,查询表 假设oracle10g所有的都已经安装和配置好 第一步:win+R,进入运行,cmd; 第二步 ...
- Oracle创建用户、表(1)
Oracle创建用户.表(1) 1. 连接 C:\Users\LEI>sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on ...
- Oracle创建用户教程
计算机-->管理-->应用程序与服务-->(OracleOraDb11g_home1TNSListener 和 OracleServiceORCL 服务)->启动服务 打开Or ...
- Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍
引用自 :http://www.2cto.com/database/201307/224836.html Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍 先假设有这么一个表 ...
- 用sqlplus为oracle创建用户和表空间<转>
用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS来创建表空间 ...
- 用sqlplus为oracle创建用户和表空间
用Oracle自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的, 本文要介绍的是另一种方法就是使用Oracle所带的命令行工具SQLPLUS来创建表空间. 打开S ...
- oracle创建用户
--首先用管理员的帐户登录(要有修改用户的权限)system,默认数据库orcl. CREATE USER lcs IDENTIFIED BY lcs default tablespace lics_ ...
- oracle 创建用户和imp指定表空间
创建用户: 1,sqlplus sys/pwd as sysdba; 2, create user username identified by password; 3, grant dba,conn ...
- oracle创建用户、授予权限及删除用户
创建用户 oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users; //创建临时表空间 create temporary ta ...
随机推荐
- C#设计模式17——责任链模式的写法
是什么: 责任链模式是一种行为型设计模式,它允许对象组成一个链并依次检查另一个对象是否可以处理请求.如果一个对象可以处理请求,它处理请求,并且负责将请求传递给下一个对象,直到请求被处理为止. 为什么: ...
- 【ThreadX】Azure RTOS ThreadX概述
Azure RTOS ThreadX是Microsoft的高级工业级实时操作系统(RTOS),专门用于深度嵌入式,实时和IoT应用程序.Azure RTOS ThreadX提供了高级计划,通信,同步, ...
- [转帖]Kubernetes 1.23:IPv4/IPv6 双协议栈网络达到 GA
https://kubernetes.io/zh-cn/blog/2021/12/08/dual-stack-networking-ga/#:~:text=Kubernetes%201.23%EF%B ...
- [转帖]win10多网卡指定ip走某个网卡的方案
https://zhuanlan.zhihu.com/p/571614314 我的电脑上有两个网卡,一个网卡A(网线),一个是网卡B(WIFI). 需求:网卡A和网卡B是不同的网络,网卡A已经把338 ...
- [转帖]Jmeter 压测中配置https证书
本文章 主要介绍证书的获取.处理.配置到jmeter中. 1. 获取证书 首先:谷歌浏览器 打开网站,点击 地址栏的锁(表示https),选择 "证书"---"隐私.搜索 ...
- [转帖]xfs_repair命令详解
https://bbs.qunyingkeji.com/2052/ 1.现状 目前网上出现大量的主机输入输出错误,原因是由于主机文件系统损坏.一线人员大部分采用的是umont 和 mount的方式恢复 ...
- [转帖] Linux命令拾遗-网络抓包工具
https://www.cnblogs.com/codelogs/p/16060684.html 简介# Linux中有很多抓包工具,如ngrep.tcpdump与tshark等,它们有很多用法与使用 ...
- vue全局事件总线和消息订阅详细讲解
全局事件总线 在写组件的时候,我们都知道父传递子 也知道子传递给父 但是组件间嵌套复杂的时候我们应该怎么通信呢? 有的小伙伴会说适用vuex,的确是可以解决问题的 下面我们说一下全局事件总线 一种组件 ...
- js赋值的两种方式
第一种 let obj=[ { value:undefined } ] obj[0].value.value='zahngsan' obj[0].value.label='张三' 机智的小伙伴,可能已 ...
- git提交出现running pre-commit hook: lint-staged
现象 今天提交代码的时候出现了 > running pre-commit hook: lint-staged Stashing changes... [started] Stashing cha ...