使用 Oracle 的vagrant box,您可以轻松地添加在安装后运行的脚本,只需将它们放在userscripts
目录中即可。我想创建我的标准用户,这很容易(CREATE USER etc...
)。但是,这些用户需要在 PDB 中创建,而不是在 CDB$ROOT 中。
那么,如何从sys / as sysdba
连接到 CDB$ROOT 的 切换到数据库中唯一的 PDB?PDB 的名称不应硬编码,因为它由 Vagrantfile 中的参数控制。该脚本应无需干预即可成功运行。
到目前为止,这段代码正在运行,但是很丑:
COLUMN pdb_name NEW_VALUE mypdb
SELECT pdb_name
FROM (
SELECT pdb_name,
RANK() OVER (ORDER BY CREATION_SCN) r
FROM dba_pdbs p1
WHERE pdb_name <> 'PDB$SEED'
)
WHERE r = 1;
ALTER SESSION SET CONTAINER=&mypdb;
必须有一个更简单的方法...