Как клонировать подключаемую базу данных в Oracle - PullRequest
0 голосов
/ 08 мая 2020

Я новичок в подключаемых базах данных Oracle (мы все еще используем Oracle 11.2 на работе). Для проверки разделов и подразделов мне нужно создать пару десятков табличных пространств. Я подумал, что быстро клонирую свою текущую базу данных, проведу тесты, а потом отброшу базу данных.

Мне удалось клонировать базу данных:

CREATE PLUGGABLE DATABASE ora193p2 FROM ora193p1
 FILE_NAME_CONVERT = (
   '/opt/oracle/oradata/ORA193C/ORA193P1/', 
   '/opt/oracle/oradata/ORA193C/ORA193P2/');

Pluggable database ORA193P2 created.

, но при попытке подключиться к ней возникла ошибка ORA-01109: database not open.

Я пытался ее открыть , но тоже получаю сообщение об ошибке (ora193 c - имя cdb):

ALTER DATABASE ora193p2 OPEN;
ORA-01509: specified name 'ORA193P2' does not match actual 'ORA193C'

Я использовал базу данных из vagrant-box .

Ответы [ 2 ]

2 голосов
/ 08 мая 2020

Для подключаемых баз данных необходимо добавить подключаемую базу данных по ключевым словам, за которым следует имя pdb

SQL> create pluggable database pdbclone from orclpdb;

Pluggable database created.


SQL> show pdbs

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

SQL> alter pluggable database pdbclone open;

Pluggable database altered.


SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
         4 PDBCLONE                       READ WRITE NO
SQL> alter pluggable database pdbclone save state;

Pluggable database altered.
1 голос
/ 08 мая 2020

Начиная с 12.1.0.2, вы можете сохранить состояние запуска PDB с помощью перезапуска CDB . В пакете исправлений 12.1.0.2 представлены параметры SAVE STATE и DISCARD STATE:

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

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

ALTER PLUGGABLE DATABASE pdb_name DISCARD STATE;

Для 12.1.0.1 и ранее вы могли создать после триггера запуска:

CREATE OR REPLACE TRIGGER open_pdbs 
  AFTER STARTUP ON DATABASE 
BEGIN 
   EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; 
END open_pdbs;
/

Создает триггер уровня системы после запуска в CDB.

См. Oracle 12 c Обязательные шаги после установки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...