Переименование PDBFRED в PDBBURT.
В случае вопроса ОП, поскольку он хочет сделать своп, он использовал бы следующее для построения процесса:
- Переименование PDB1в PDB0
- Переименование PDB2 в PDB1
- Переименование PDB0 в PDB2
Это не было проверено ... на основе ID документа 2439885.1 от MOS:
Из CDB проверьте статус PDB:
select name, open_mode, restricted from v$pdbs;
select name, con_id, dbid, con_uid, guid from v$containers order by con_id;
select service_id, name, network_name, creation_date, pdb, con_id from cdb_services;
Допустим, мы переименовываем PDBFRED
в PDBBURT
:
Переведите PDB в режим ОГРАНИЧЕНИЯ для операции переименования:
alter pluggable database PDBFRED close;
alter pluggable database PDBFRED open restricted;
select name, open_mode, restricted from v$pdbs;
Затем подключитесь к PDBFRED
и переименуйте его:
alter session set container=PDBFRED;
alter pluggable database rename global_name to PDBBURT;
Очень важно : Вы должны закрыть PDB и открыть ее в режиме чтения / записи для Oracle Database, чтобы завершить интеграцию нового имени службы PDB в CDB.
Закрыть PDB.
alter pluggable database close immediate;
Открыть PDB в режиме чтения / записиде.
alter pluggable database open;
Подключитесь к CDB и снова проверьте PDB:
alter session set container=CDB$ROOT;
select name, open_mode, restricted from v$pdbs;
select name, con_id, dbid, con_uid, guid from v$containers order by con_id;
select service_id, name, network_name, creation_date, pdb, con_id from cdb_services;
Файлы данных для PDB по-прежнему будут иметь исходное имя, например:
/u03/oradata/CDB1/PDBFRED
Есливам нужно переместить файлы в новый каталог, соответствующий имени PDBBURT
, затем вам нужно будет создать новый каталог вручную, а затем переместить файлы, используя средство ONLINE MOVE базы данных 12c:
$ mkdir '/u03/oradata/CDB1/PDBBURT
Затем переместите каждый файл данных (сгенерируйте его из dba_data_files
):
SQL> alter database move datafile '/u03/oradata/CDB1/PDBFRED/system01.dbf' to '/u03/oradata/CDB1/PDBBURT/system01.dbf'
Чтобы переименовать управляемые файлы Oracle (OMF), выполните следующие действия:документ «Как переименовать файлы, управляемые Oracle (OMF) (Doc ID 191574.1)».
Тем не менее, временные файлы табличного пространства не могут быть перемещены командой «online move», поэтому вам придется удалитьTempfile, связанный с временным табличным пространством и воссоздать новый tempfile в новом каталоге.
SQL> alter database tempfile '/u03/oradata/CDB1/pdb1/temp01.dbf' drop including datafiles;
SQL> alter tablespace TEMP add tempfile '/u03/oradata/CDB1/PDBBURST/temp01.dbf' size 10M reuse;