gpt4 book ai didi

database - 解锁 PDB 数据库中的用户

转载 作者:行者123 更新时间:2023-12-04 15:31:35 26 4
gpt4 key购买 nike

每次我打开我的电脑并尝试连接到 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

要在登录后立即打开所有/特定 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 仍处于挂载状态,未打开以进行读/写。

因此,为了让所有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;

关于database - 解锁 PDB 数据库中的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61157671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com