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

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

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Застосовується для: 
Баз даних: Оракул 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:

Будь ласка, зверніться до цього офіційного документа.
Article Properties
Article Number: 000146520
Article Type: Solution
Last Modified: 21 Feb 2021
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.