解锁 PDB 数据库中的用户
Unlock the user in PDB database
每次我打开我的电脑并尝试连接到 HR
数据库时,都会弹出一个错误提示被阻止,然后我转到 SQLPLUS 并以 SYSDBA
身份登录,然后执行以下操作脚本:
我的问题是,我是否总是必须这样做?有什么办法可以一直保持UNLOCKED
?
1.- sqlplus / as sysdba
2.- show con_name;
3.- ALTER SESSION SET CONTAINER = orclpdb;
4.- COLUMN name FORMAT a20;
5.- SELECT name, open_mode from v$pdbs;
6.- ALTER PLUGGABLE DATABASE open;
7.- ALTER USER hr IDENTIFIED BY hr ACCOUNT UNLOCK;
8- conn hr/hr@orclpdb
9.- SHOW USER;
请阅读Oracle 12c Post Installation Mandatory Steps
要在登录后立即打开 all/specific PDB,请在 CDB 中创建一个 AFTER STARTUP 系统级触发器。
因为 PDB 不是通过 CDB 启动打开的。让我们看看:
SHUTDOWN IMMEDIATE;
STARTUP;
SQL> SELECT name, open_mode FROM v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDBP6 MOUNTED
如您所见,PDB 仍处于已安装状态并且未打开 read/write。
因此,为了让所有 PDB 自动打开,请执行以下操作:
做,SQLPLUS / AS SYSDBA
,然后执行:
CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/
它在 CDB 中创建一个启动后系统级触发器。
现在解锁用户:
sqlplus SYS/password@PDBORCL AS SYSDBA
SQL> ALTER USER hr ACCOUNT UNLOCK IDENTIFIED BY hr;
sqlplus hr/hr@pdborcl
SQL> show user;
USER is "HR"
现在您无需手动打开 PDB,只需连接到 PDB 和您想要的用户即可。
从12.1.0.2开始,您可以通过CDB重启来保留PDB启动状态:
ALTER PLUGGABLE DATABASE pdb_name OPEN;
ALTER PLUGGABLE DATABASE pdb_name SAVE STATE;
要放弃保存的状态:
ALTER PLUGGABLE DATABASE pdb_name DISCARD STATE;
每次我打开我的电脑并尝试连接到 HR
数据库时,都会弹出一个错误提示被阻止,然后我转到 SQLPLUS 并以 SYSDBA
身份登录,然后执行以下操作脚本:
我的问题是,我是否总是必须这样做?有什么办法可以一直保持UNLOCKED
?
1.- sqlplus / as sysdba
2.- show con_name;
3.- ALTER SESSION SET CONTAINER = orclpdb;
4.- COLUMN name FORMAT a20;
5.- SELECT name, open_mode from v$pdbs;
6.- ALTER PLUGGABLE DATABASE open;
7.- ALTER USER hr IDENTIFIED BY hr ACCOUNT UNLOCK;
8- conn hr/hr@orclpdb
9.- SHOW USER;
请阅读Oracle 12c Post Installation Mandatory Steps
要在登录后立即打开 all/specific PDB,请在 CDB 中创建一个 AFTER STARTUP 系统级触发器。
因为 PDB 不是通过 CDB 启动打开的。让我们看看:
SHUTDOWN IMMEDIATE;
STARTUP;
SQL> SELECT name, open_mode FROM v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDBP6 MOUNTED
如您所见,PDB 仍处于已安装状态并且未打开 read/write。
因此,为了让所有 PDB 自动打开,请执行以下操作:
做,SQLPLUS / AS SYSDBA
,然后执行:
CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/
它在 CDB 中创建一个启动后系统级触发器。
现在解锁用户:
sqlplus SYS/password@PDBORCL AS SYSDBA
SQL> ALTER USER hr ACCOUNT UNLOCK IDENTIFIED BY hr;
sqlplus hr/hr@pdborcl
SQL> show user;
USER is "HR"
现在您无需手动打开 PDB,只需连接到 PDB 和您想要的用户即可。
从12.1.0.2开始,您可以通过CDB重启来保留PDB启动状态:
ALTER PLUGGABLE DATABASE pdb_name OPEN;
ALTER PLUGGABLE DATABASE pdb_name SAVE STATE;
要放弃保存的状态:
ALTER PLUGGABLE DATABASE pdb_name DISCARD STATE;