1

我已经将HR数据库添加到oracle 19c,但问题是,每次我执行sqldeveloper时,它都说数据库没有打开,所以我去cmd并执行以下脚本,但是有什么办法可以保持它总是开着吗?我不想一直去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;'
4

1 回答 1

2

从 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
于 2020-04-15T11:38:32.030 回答