База данных HR всегда заблокирована? - PullRequest
1 голос
/ 11 апреля 2020

Я добавил базу данных HR в oracle 19 c, но дело в том, что каждый раз, когда я запускаю sqldeveloper, он говорит, что база данных не открыта, поэтому я go в cmd и выполняю следующие сценарии, но есть ли способ сохранить его всегда открытым? Я не хочу go к cmd все время.

sqlplus / as sysdba
show con_name;
ALTER SESSION SET CONTAINER = orclpdb;
COLUMN name FORMAT a20;
SELECT name, open_mode from v$pdbs;
ALTER PLUGGABLE DATABASE open;
ALTER USER hr IDENTIFIED BY hr ACCOUNT UNLOCK;
conn hr/hr@orclpdb;
SHOW USER;'

1 Ответ

1 голос
/ 15 апреля 2020

С 12.1.0.2 новое предложение SAVE STATE было добавлено в оператор ALTER PLUGGABLE DATABASE.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                           READ WRITE NO
         4 PDB2                           MOUNTED

SQL> shutdown immediate

После перезапуска все PDB остаются закрытыми:

SQL> startup
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                           MOUNTED
         4 PDB2                           MOUNTED

Сохранить последнее состояние PDB (все PDB с ALL вместо имени PDB):

SQL> alter pluggable database pdb1 open;
SQL> alter pluggable database pdb1 save state;

Теперь, после перезапуска требуемая PDB будет открыта автоматически:

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                           READ WRITE NO
         4 PDB2                           MOUNTED
...