Oracle 数据库 12 c 多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB).那么我们如何连接到容器数据库 (CDB) 和可插拔数据库 (PDB). 1. V$SERVICES视图可以显示数据库中的可用服务.SQL> col pdb for a40SQL> col name for a30;SELECT name, pdb FROM v$services ORDER BY name;SQL> NAME PDB---------------
在Oracle 12C中,账号分为两种,一种是公用账号,一种是本地账号(亦可理解为私有账号).共有账号是指在CDB下创建,并在全部PDB中生效的账号,另一种是在PDB中创建的账号. 针对这两种账号的测试如下: 1.1 在PDB中创建测试账号 SQL> alter session set container=pdb01; Session altered. SQL> select username from dba_users where username like 'GUI%'; no rows
[Oracle][Standby][PDB]在PDB中修改参数,设置范围为 SPFILE,报 ORA-65099错误 在Data Gaurd 的 Standby (或 CDB 是 Read Only )中,在PDB下,执行如下SQL 出错: SQL> ALTER SYSTEM SET SGA_TARGET = 800 M SCOPE = SPFILE;ALTER SYSTEM SET SGA_TARGET = 800 M SCOPE = SPFILE*An error occurred on l
Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1来实现API服务(优势:跨平台),其中此技术比较新颖,其中连接Oracle遇到各种困难(特别是资料较少,各个插件版本比较多,且依赖的版本也有要求),经过各种尝试,最终可以连接上Oracle数据库,此处仅仅是demo. 2.技术路线 2.1 Asp.net core 3.1 ASP.NET Core
先说基本用法: 先按11G之前进行 conn / as sysdba; create user test identifed by test; ORA-65096: 公用用户名或角色名无效. 查官方文档得知“试图创建一个通用用户,必需要用C##或者c##开头”,这时候心里会有疑问,什么是common user?不管先建成功了再说 create C##user test identifed by test; 创建成功 SQL>show con_name; CON_NAME ------------
Oracle12c版本中引入了新的CDB和PDB 默认登陆CDB后创建的用户为全局用户必须以c##开头 如果要访问CDB中的表,可以用GRANT命令赋权 但是上面的赋权并不会再PDB中生效 如果要这个用户访问PDB中的表,怎么做呢? 先切换到PDB容器 alter session set container=pdborcl; 打开PDB startup 然后再用GRANT赋权 GRANT CREATE SESSION TO C##TEST; GRANT CONNECT, REOURCE TO C
CREATE TRIGGER open_all_pdbs AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'alter pluggable database all open'; END open_all_pdbs; / alter pluggable database all open alter pluggable database all close; alter session set container = pdbmyoracle;