Як підключити PDB до бази даних контейнерів Oracle12c

Resumen: Наш статут полягає в наданні рішень, які спрощують ІТ, надаючи рішення для баз даних, розробку на замовлення, динамічні центри обробки даних, гнучкі обчислення

Este artículo se aplica a Este artículo no se aplica a Este artículo no está vinculado a ningún producto específico. No se identifican todas las versiones del producto en este artículo.

Síntomas

Застосовується для: 
Баз даних: Оракул 12cR1

Автор:
Проблема Махеша Редді


Як підключити PDB до бази даних контейнерів Oracle12c?

Рішення: 
Створити базу даних, що підключається, можна наступними способами:
  • Створіть новий PDB за допомогою seed.
  • Створення нового PDB шляхом клонування існуючого PDB
  • Підключіть відключений PDB до CDB
  • Створення нового PDB з 12c без CDB
1. Створіть новий PDB за допомогою seed:

Створіть PDB за допомогою бази даних SEED. Цей метод копіює файли, пов'язані з початковим елементом, у нове місце та асоціюється з новим PDB. Ви можете легко створити новий PDB з SEED,

використовуючи оператор create pluggable database.Ви можете вказати наступні пункти для створення нового PDB з SEED різними способами:
  • Сховище: ви можете вказати ліміти сховища
  • Табличний простір за замовчуванням: Він створює невеликий файловий простір і призначає його користувачам, які не є системними.
  • path_prefix : Він вказує абсолютний шлях
  • file_name_convert: Він визначає нове розташування файлів PDB з вихідних файлів.
  • Повторне використання тимчасового файлу: він вказує, повторно використовувати тимчасовий файл з цільового місця.
  • Ролі: заздалегідь визначені ролі Оракула, які потрібно надати PDB_DBA ролі.
SLN310932_en_US__1icon Примітка.  Клаузула ROLES може використовуватися тільки тоді, коли ви створюєте PDB з початкового елемента.

Приклад:

1 Sql> Створення pluggable database PDBNAME admin користувача PDBUSR ідентифікованого за допомогою PASSWORD;

Наведений вище оператор створює PDB з локальним користувачем PDBUSR.  Ця інструкція надає роль PDB_DBA адміністратору PDB 'pdbusr' і надає вказані попередньо визначені ролі Oracle PDB_DBA ролі локально в PDB.

Приклад:

2 Sql> Створення pluggable database PDBNAME admin користувач pdbusr ідентифікований за сховищем PASSWORD (MAXSIZE 5G) за замовчуванням табличний простір КОРИСТУВАЧІ файл даних '+DATA_NEW' розмір 100M авторозширення на path_prefix = '+DATA_NEW' file_name_convert = ('+DATA','DATA_NEW');

Наведена вище інструкція create pdb з обмеженим розміром, вона вказує, що всі табличні простори, які належать PDB, не повинні перевищувати 5 гігабайт, і створюють користувачів табличного простору за замовчуванням для користувачів, які не є адміністраторами, в новому місці знаходиться '+DATA_NEW. 

2.  Створіть новий PDB шляхом клонування існуючого PDB:

Клонування виробничої бази даних є поширеною технікою, яка використовується для розробки та тестування змін у програмах та пов'язаних середовищах. Перш ніж встановити новий випуск операційної системи, програмне забезпечення для зберігання даних або версію програми у виробниче середовище, необхідно провести ретельне тестування з використанням виробничих даних. Зазвичай це досягається шляхом копіювання виробничої бази даних у тестове середовище.

В Oracle12c для клонування PDB можна використовувати оператор CREATE PLUGGABLE DATABASE. Ця інструкція клонує вихідний PDB і підключає клон до того ж CDB або віддаленого CDB.

Інструкція CREATE PLUGGABLE DATABASE копіює файли, пов'язані з вихідним PDB, у нове розташування та пов'язує файли з цільовим PDB.

Різні типи речень:

1.       Клонування локального PDB з використанням пунктів No

clause означає відсутність структурних змін.

Наприклад: sql> створює pluggable database clone_pdb з pdb;

Тут клон pdb створено з однаковим розміром і тими ж ролями з різним GUID у групі дисків за замовчуванням.

2.       Клонування локального PDB з пунктами

PATH_PREFIX та FILE_NAME_CONVERT Пункт FILE_NAME_CONVERT необхідний для визначення цільового розташування скопійованих файлів. У цьому прикладі файли копіюються з одного місця в інше.

КОЛИШНІЙ:  sql> створює плагінні бази даних clone_pdb з pdb PATH_PREFIX= '+BRLOAD' FILE_NAME_CONVERT = ('+DATA','+BRLOAD');

Тут вихідні файли даних pdb зберігаються в групі дисків '+DATA', файли даних clone pdb розміщуються в іншій групі дисків '+BRLOAD', ви можете використовувати FILE_NAME_CONVERT клаузулу, щоб перетворити розташування файлів даних з '+DATA' на '+BRLOAD'.

3.       Клонування локального PDB за допомогою пунктів FILE_NAME_CONVERT та STORAGE.

Для PDB повинні бути встановлені ліміти сховища. Тому пункт ЗБЕРІГАННЯ є обов'язковим. Зокрема, всі табличні простори, які належать до PDB, не повинні перевищувати 2 гігабайти, а обсяг пам'яті, що використовується сеансами PDB у спільному тимчасовому просторі столу, не повинен перевищувати 100 мегабайт.

EX: sql> створює pluggable database clone_pdb з сховища pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') (МАКСИМАЛЬНИЙ РОЗМІР 2G MAX_SHARED_TEMP_SIZE 100M);

Кроки для клонування локального PDB:

У цьому розділі описано клонування локального PDB. Після клонування локального PDB вихідний і цільовий PDB знаходяться в одному CDB.

Ви можете клонувати PDB, використовуючи наступні кроки:

Крок 1: Перевірте статус

pdb джерела: Sql>show pdbs;

      CON_ID CON_NAME РЕЖИМ ВІДКРИТОГО ОБМЕЖЕННЯ
2 PDB$SEED ТІЛЬКИ ЧИТАННЯ NO 3 PDB1 ЧИТАННЯ ЗАПИС NO

PDB

, ПРИЗНАЧЕНІ ДЛЯ КЛОНУВАННЯ, ПОВИННІ БУТИ СТАН ТІЛЬКИ ДЛЯ ЧИТАННЯ, ЯКЩО ВІН ІСНУЄ В РЕЖИМІ ЧИТАННЯ ЗАПИС, ЗМІНІТЬ СТАТУС ЗА ДОПОМОГОЮ НАВЕДЕНОЇ НИЖЧЕ КОМАНДИ

Sql> alter pluggable database pdbname close instances=all;


Тут instances=all означає закрити PDB у всіх вузлах.

Sql> alter pluggable database pdb open only read only instances=all;

Sql>show pdbs;

      CON_ID CON_NAME ВІДКРИТИЙ РЕЖИМ ОБМЕЖЕНО

2 PDB$SEED ТІЛЬКИ ЧИТАННЯ NO

3 PDB1 ТІЛЬКИ ЧИТАННЯ NO

Крок 2:  Виберіть необхідні параметри з різних пунктів клонування, згаданих у розділі2,

Sql> створіть плагінні бази даних clone_pdb1 з pdb1; (без пунктів)

Де pdb1 – джерело, а clone_pdb1 – ціль

Крок 3: Клонований PDB буде в режимі монтування, а його статус НОВИЙ. Статус PDB можна переглянути, надіславши запит до стовпця СТАТУС у поданні CDB_PDBS або DBA_PDBS.

Після цього змініть стан pdb за допомогою alter pluggable database і тоді вам потрібно додати службу PDB в tnsnames.ora у всіх вузлах.

3. Від'єднайте та підключіть PDB до CDB:

Відключення PDB:

Відключення PDB відокремлює PDB від CDB. Операція відключення вносить деякі зміни у файли даних PDB, щоб зафіксувати, наприклад, що PDB було успішно відключено. Оскільки він все ще є частиною CDB, відключений PDB включений у резервну копію RMAN всього CDB. Така резервна копія забезпечує зручний спосіб архівувати відключений PDB на випадок, якщо це знадобиться в майбутньому. PDB повинен бути закритий, перш ніж його можна буде відключити від мережі. Коли ви відключаєте PDB від CDB, від'єднаний PDB знаходиться в режимі

монтуванняКроки для відключення PDB:

Перевірте статус

PDB джерела Sql>show pdbs;

      CON_ID CON_NAME РЕЖИМ
ВІДКРИТОГО ОБМЕЖЕНО 2 PDB$SEED ТІЛЬКИ ЧИТАННЯ NO

3 PDB1 ЧИТАННЯ ЗАПИС НІ

Якщо PDB джерела знаходиться в режимі читання запису, вам слід змінити стан PDB на стан MOUNT.


Sql> alter pluggable database PDBNAME close instances=all;

Підключіться до кореневого контейнера і виконайте наведену нижче команду

Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml';

Тут створюється файл метаданих pdb1.xml у директорії /u01/app/oracle.

Використовуючи файл метаданих XML, ви можете підключити PDB до

3.1. той самий CDB

3.2. віддалений CDB

Ви можете підключити PDB до CDB за допомогою створення pluggable database та вказати XML-файл з різними пунктами.

Різні типи речень:

Використовуючи source_file_name_convert, без копіювання речення:
SOURCE_FILE_NAME_CONVERT: XML-файл не показує поточне розташування файлу. Тоді ми можемо використовувати цей пункт. XML вказує, що файли знаходяться в +DATA, але фактичні файли знаходяться в +DATA1.

Source_file_name_convert = ('+DATA','+DATA1')

+DATA= string1 +DATA1=string2

Тут шаблон імені файлу string2 замінює шаблон імені файлу string1.

2.       Використовуючи path_prefix, копіювати, file_name_convert пункт

:PATH_PREFIX: цей пункт використовується для вказівки абсолютного шляху до розташування файлів даних.

FILE_NAME_CONVERT: ви можете використовувати цей пункт, коли файли не знаходяться в цільовому місці, а потім ви хочете скопіювати або перемістити їх під час створення PDB.

3.       Використання FILE_NAME_CONVERT, MOVE,SOURCE_FILE_NAME_CONVERT clause:

Xml file не описує поточне розташування файлів, тому потрібне перетворення імені вихідного файлу. Приклад: xml-файл вказує на те, що файли знаходяться в '+DATA', але файли знаходяться в '/u01/app'.

Конвертація імен файлів потрібна, щоб перемістити файли з «/u01/app» до «+DATA1».

3.1. підключіть відключений PDB до того ж CDB: PDB повинен бути видалений з CDB,

перш ніж його можна буде підключити назад до того ж CDB.

 Створіть базу даних, що підключається, використовуючи XML-файл різними методами.

a) Метод

NOCOPY Sql>Створення pluggable database pdb1 за допомогою nocopy '/u01/app/oracle/pdb1.xml';

б) Метод

КОПІЮВАННЯ Sql> Створення pluggable database pdb1 за допомогою копіювання '/u01/app/oracle/pdb1.xml' file_name_convert=('+DATA/pdb1/','+DATA1'/pdb1/');

в) ЯК КЛОН MOVE Метод

Sql> Створення pluggable database pdb1 як клонування за допомогою переміщення '/u01/app/oracle/pdb1.xml' file_name_convert=('+DATA/pdb1/','+DATA1'/pdb1/');

3.2. Підключіть відключений pdb до віддаленого CDB:

Передумови:

А) Вони повинні мати однаковий формат ендіану.

Б) У них повинен бути встановлений однаковий набір параметрів бази даних.

ДЖЕРЕЛО:

1.   Після відключення PDB перенесіть XML в цільове місце, а також перенесіть файли бази даних з групи дисків (+DATA) в розташування ОС (/home/) за допомогою команди ASMCMD cp або DATA_FILE_NAME_CONVERT.

2.   Перенесіть файли бази даних із джерела до цільового місця розташування ОС. 

ЦІЛЬ:

Як тільки ви отримаєте XML та файли бази даних з джерела, ви можете використовувати DBMS_PDB. CHECK_PLUG_COMPATIBILITY функція для визначення того, чи сумісний відключений pdb з TARGET CDB.

Якщо ви отримаєте на виході 'YES', то PDB сумісний.

Якщо ви отримуєте на виході 'NO', це означає, що PDB несумісний, і перевірте PDB_PLUG_IN_VIOLATIONS перегляду на наявність помилок.

Під час створення віддаленого PDB виберіть обов'язкові пункти з розділу3,EX

: Sql> Створення pluggable database pdbname за допомогою '/home/oracle/pdbname.xml'

Source_file_name_convert = ('+SOURCE_DATA','/home/oracle/datafiles')

Move

File_name_convert = ('/home/oracle/datafiles','+TARGET_DATA);

Опис:  xml-файл визначає розташування файлів даних PDB у термінах ASM-дисків, але фактичні файли знаходяться в папці '/home/oracle'. Source_file_name_convert пункт допомагає замінити шаблон імені файлу та вказати фактичне розташування джерела. file_name_convert пункт допомагає в переміщенні даних з місця розташування ОС на диски ASM.

4. Міграція 12c-noncdb на PDB:

Будь ласка, зверніться до цього офіційного документа.
Propiedades del artículo
Número del artículo: 000146520
Tipo de artículo: Solution
Última modificación: 21 feb 2021
Versión:  3
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.