为什么我需要在甲骨文中有一个通用帐户



为什么在 Oracle 12c 中需要一个通用帐户?共同表示CDB帐户。当我使用企业管理器快速创建帐户时,它只创建普通帐户。我可以在那里创建一个非通用帐户吗?一个普通用户也出现在我切换/连接的每个容器中。这个通用帐户访问所有这些可插拔数据库的目的是什么?

为什么在 Oracle 12c 中需要一个通用帐户? 这个通用帐户访问所有这些可插拔数据库的目的是什么?

您需要一个普通账号(普通用户)对CDB(容器数据库)进行管理操作,例如更改可插拔数据库的状态、插拔可插拔数据库(PDB)等,这是本地用户无法做到的。好吧,事实上,本地用户也可以更改可插拔数据库的状态,但只有PDB作为sysdba或sysoper连接到。

我可以在那里创建一个非通用账户(在国开行)吗?

不可以,非普通帐户(本地用户)不能在根中创建 - 只能在可插拔数据库(PDB)中创建和操作,并且无法访问(您不能使用它登录)CDB或其他PDB。

了解更多关于通用性以及通用和本地用户。


编辑

CDB$ROOT是根容器。 PDB$SEED只是创建可插入数据库所需的模板。不能在其中创建或修改对象。 PDBORCL是一个可插拔的数据库,您应该将其用于开发。

如果您尝试以非 sysdba 用户身份连接到已关闭的 PDB,Oracle 将抛出ORA-01033错误。通常,PDB 数据库默认不打开,只是挂载(除非您通过创建触发器自动执行该过程,例如,该触发器将在启动 CDB 时为您执行此操作),并且您需要在以普通用户(SYS 或其他有权启动/更改可插拔数据库的权限的普通用户)连接时显式打开它并发出:

SQL> alter pluggable database <<name_of_PDB>> open;
or
SQL> startup pluggable database <<name_of_PDB>>

之后,您应该能够以普通或本地用户身份连接到 PDB。当然,他们必须有适当的特权(create session)才能这样做。


编辑 #2 使用系统事件(after startup on database)触发器在CDB启动时自动启动可插拔数据库。不幸的是,没有自动启动PD的本机方法。

SQL> conn / as sysdba
Connected.
SQL> show con_name
CON_NAME                
------------------------------
CDB$ROOT            
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED 
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO 
         3 NKRASNOV                       READ WRITE NO 

此特定触发器将打开一个可插入数据库。如果您有多个 PD 并希望将它们全部打开,则可以按如下方式修改 alter 语句ALTER PLUGGABLE DATABASE ALL OPEN;

SQL> create or replace trigger open_pdb
  2  after startup on database
  3  begin
  4    execute immediate 'alter pluggable database nkrasnov open';
  5  end;
  6  /
Trigger created.
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Database mounted.
Database opened.
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED  
---------- ------------------------------ ---------- ---------- 
         2 PDB$SEED                       READ ONLY  NO 
         3 NKRASNOV                       READ WRITE NO
SQL> conn hr/hr@nkrasnov_pdb
Connected.
SQL> spool off;

相关内容

  • 没有找到相关文章

最新更新