Разблокировать пользователя в базе PDB

Каждый раз, когда я включаю свой компьютер и пытаюсь подключиться к 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;

1 ответ

Решение

Прочтите обязательные шаги после установки Oracle 12c

Чтобы открыть все / определенные PDB сразу после входа в систему, создайте триггер уровня системы ПОСЛЕ ЗАПУСКА в CDB.

Поскольку 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, вы можете сохранить состояние запуска PDB с помощью перезапуска CDB:

ALTER PLUGGABLE DATABASE pdb_name OPEN;
ALTER PLUGGABLE DATABASE pdb_name SAVE STATE;

Чтобы отменить сохраненное состояние:

ALTER PLUGGABLE DATABASE pdb_name DISCARD STATE;
Другие вопросы по тегам