Как подключить подключаемую базу данных (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
Применение:
Базы данных: Oracle 12cR1
Автор:
Махеш Редди
Проблема:
Как подключить подключаемую базу данных (PDB) к контейнерной базе данных Oracle12c?
Решение:
Подключаемую базу данных можно создать следующими способами:
Создание PDB с помощью базы данных SEED. Этот метод копирует файлы, связанные с seed, в новое местоположение и связывает их с новой PDB. Можно легко создать новую PDB из SEED с помощью инструкции «create pluggable database».
Можно указать следующие выражения, чтобы создать новую PDB из SEED различными способами:
Примечание. Выражение «ROLES» можно использовать только при создании PDB из seed.
Пример 1
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
Инструкция выше создает PDB с локальным пользователем «PDBUSR». Эта инструкция предоставляет администратору PDB «pdbusr» роль «PDB_DBA» и предоставляет ей указанные предварительно определенные роли Oracle локально в PDB.
Пример 2
Sql> Create pluggable database PDBNAME admin user pdbusr identified by PASSWORD storage (MAXSIZE 5G) default tablespace USERS datafile ‘+DATA_NEW’ size 100M autoextend on path_prefix = ‘+DATA_NEW’ file_name_convert = (‘+DATA’,’DATA_NEW’);
Инструкция выше создает PDB с ограниченным размером. Она указывает, что все принадлежащие PDB табличные пространства не должны превышать 5 гигабайт, и создает пользователей табличных пространств по умолчанию для пользователей без прав администратора в новом местоположении — «+DATA_NEW».
2. Создание новой PDB путем клонирования существующей PDB
Клонирование производственной базы данных — это метод, который часто используется для разработки и тестирования изменений приложений и связанных с ними сред. Перед установкой в производственной среде новой версии операционной системы, программного обеспечения для хранения данных или версии приложения необходимо провести тщательное тестирование с использованием производственных данных. Обычно для этого производственная база данных копируется в тестовую среду.
В Oracle12c для клонирования PDB можно использовать инструкцию «CREATE PLUGGABLE DATABASE». Эта инструкция клонирует исходную PDB и подключает клон к той же CDB или удаленной CDB.
Инструкция «CREATE PLUGGABLE DATABASE» копирует файлы, связанные с исходной PDB, в новое местоположение и связывает их с целевой PDB.
Различные типы выражений
1. Клонирование локальной PDB c помощью выражений «No»
Выражение «No» означает отсутствие структурных изменений.
Пример: sql> create pluggable database clone_pdb from pdb;
В этом случае клонированная pdb создается с таким же размером и ролями с другим GUID в группе дисков по умолчанию.
2. Клонирование локальной PDB с помощью выражений «PATH_PREFIX» и «FILE_NAME_CONVERT»
Выражение «FILE_NAME_CONVERT» требуется для указания целевых местоположений скопированных файлов. В этом примере файлы копируются из одного местоположения в другое.
Пример: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
В этом случае файлы данных исходной pdb хранятся в группе дисков «+DATA», а файлы данных клонированной pdb размещаются в другой группе дисков «+BRLOAD». Для преобразования местоположения файлов данных из «+DATA» в «+BRLOAD» можно использовать выражение «FILE_NAME_CONVERT».
3. Клонирование локальной PDB с использованием выражений «FILE_NAME_CONVERT» и «STORAGE»
Для PDB необходимо обеспечить соблюдение размера хранилища. Поэтому необходимо использовать выражение «STORAGE». В частности, все табличные области, принадлежащие PDB, не должны превышать 2 гигабайта, а пространство, используемое сеансами PDB в общей временной табличной области, не должно превышать 100 мегабайт.
Пример: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Процедура клонирования локальной PDB
В этом разделе описывается клонирование локальной PDB. После клонирования локальной PDB исходные и целевые PDB будут находиться в одной CDB.
Для клонирования PDB выполните следующие действия.
Этап 1. Проверьте состояние исходной базы данных.
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Клонируемые PDB должны находиться в состоянии «READ ONLY». Если они находятся в режиме «READ WRITE», измените состояние с помощью следующей команды:
Sql> alter pluggable database pdbname close instances=all;
Здесь «instances=all» означает закрытие PDB на всех узлах.
Sql> alter pluggable database pdb open read only instances=all;
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ ONLY NO
Этап 2. Выберите нужные параметры из различных выражений клонирования, указанных в разделе 2.
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Где «pdb1» является исходной базой, а «clone_pdb1» — целевой.
Этап 3. Клонированная PDB находится в режиме монтирования, ее состояние «NEW». Состояние PDB можно просмотреть, запросив столбец «STATUS» представления «CDB_PDB» или «DBA_PDBs».
После этого измените состояние pdb, используя «alter pluggable database», затем необходимо добавить службу PDB на всех узлах в «tnsnames.ora».
3. Отключение и подключение PDB к CDB
Отключение PDB
Отключение PDB отсоединяет PDB от CDB. Операция отключения производит некоторые изменения в файлах данных PDB для записи, например, о том, что PDB была успешно отключена. Поскольку отключенная PDB все еще является частью CDB, она включена в резервную копию RMAN всей CDB. Такое резервное копирование обеспечивает удобный способ архивирования отключенной PDB на случай, если она потребуется в будущем. Перед отключением PDB ее необходимо закрыть. При отключении PDB от CDB отключенная PDB переходит в режим монтирования.
Процедура отключения PDB
Проверьте состояние исходной pdb.
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Если исходная PDB находится в режиме «read write», необходимо изменить ее состояние на «MOUNTED».
Sql> alter pluggable database PDBNAME close instances=all;
Подключитесь к корневому контейнеру и выполните следующую команду.
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
В этом случае в каталоге «/u01/app/oracle» создается файл метаданных «pdb1.xml».
Используя файл метаданных XML, можно подключить PDB к:
3.1. той же CDB;
3.2. удаленной CDB.
Можно подключить PDB к CDB, используя «create pluggable database», и указать XML-файл с различными выражениями.
Различные типы выражений
Использование выражения «source_file_name_convert, no copy»:
«SOURCE_FILE_NAME_CONVERT»: в файле XML не отображается текущее местоположение файла. В этот раз можно использовать это выражение. XML указывает, что файлы находятся в «+DATA», но фактические файлы находятся в «+DATA1».
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
В этом случае шаблон имени файла «string2» заменяет шаблон имени файла «string1».
2. Использование выражения «path_prefix, copy, file_name_convert»:
«PATH_PREFIX»: это выражение используется для указания абсолютного пути местоположения файлов данных.
«FILE_NAME_CONVERT»: это выражение можно использовать, если файлы находятся не в целевом местоположении, но затем их нужно скопировать или переместить во время создания PDB.
3. Использование выражения «FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT»:
Файл XML не описывает текущее местоположение файлов, поэтому требуется «source file name convert». Пример: XML-файл указывает, что файлы находятся в «+DATA», но они находятся в «/u01/app».
«File name convert» требуется для перемещения файлов из «/u01/app» в «+DATA1».
3.1. Подключение отключенной pdb к той же CDB
Перед повторным подключением PDB к той же CDB необходимо удалить ее из CDB.
Создание подключаемой базы данных с помощью XML-файла различными способами.
a) Метод «NOCOPY»
Sql>Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) Метод «COPY»
Sql> Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) Метод «AS CLONE MOVE»
Sql> Create pluggable database pdb1 as clone using ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3.2. Подключение отключенной pdb к удаленной CDB
Предварительные условия:
A) Они должны иметь одинаковый формат порядка байтов.
B) Они должны иметь одинаковый набор установленных параметров базы данных.
Протокол SOURCE
1. После отключения PDB перенесите XML в целевое местоположение, также перенесите файлы базы данных из группы дисков («+DATA») в местоположение ОС («/home/») с помощью команды «ASMCMD cp» или «DATA_FILE_NAME_CONVERT».
2. Перенесите файлы базы данных из исходного местоположения в целевое местоположение ОС.
Протокол TARGET
После получения XML-файлов и файлов базы данных из исходного местоположения можно использовать функцию «DBMS_PDB.CHECK_PLUG_COMPATIBILITY», чтобы определить, совместима ли отключенная pdb с ЦЕЛЕВОЙ CDB.
Если выводится сообщение «YES», то PDB совместима.
Если выводится сообщение «NO», то PDB несовместима. Проверьте ошибки в представлении «PDB_PDB_PLUG_IN_VIOLATIONS».
При создании удаленной PDB выберите необходимые выражения из раздела 3.
Пример: Sql> Create pluggable database pdbname using ‘/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, неявляющейся CDB, в PDB
Ознакомьтесь с этим техническим документом.
Базы данных: Oracle 12cR1
Автор:
Махеш Редди
Проблема:
Как подключить подключаемую базу данных (PDB) к контейнерной базе данных Oracle12c?
Решение:
Подключаемую базу данных можно создать следующими способами:
- создать новую PDB с помощью seed;
- создать новую PDB путем клонирования существующей PDB;
- подключить отключенную PDB к контейнерной базе данных (CDB);
- создать новую PDB из неконтейнерной базы данных 12c.
Создание PDB с помощью базы данных SEED. Этот метод копирует файлы, связанные с seed, в новое местоположение и связывает их с новой PDB. Можно легко создать новую PDB из SEED с помощью инструкции «create pluggable database».
Можно указать следующие выражения, чтобы создать новую PDB из SEED различными способами:
- «Storage»: можно указать размер хранилища.
- «Default Tablespace»: создает небольшую файловую область и назначает ее для несистемных пользователей;
- «path_prefix»: указывает абсолютный путь;
- «file_name_convert»: указывает новое местоположение файлов PDB из исходных файлов;
- «Tempfile reuse»: указывает, что используется tempfile из целевого местоположения;
- «Roles»: предопределенные роли Oracle, предоставляемые роли «PDB_DBA».
Примечание. Выражение «ROLES» можно использовать только при создании PDB из seed.
Пример 1
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
Инструкция выше создает PDB с локальным пользователем «PDBUSR». Эта инструкция предоставляет администратору PDB «pdbusr» роль «PDB_DBA» и предоставляет ей указанные предварительно определенные роли Oracle локально в PDB.
Пример 2
Sql> Create pluggable database PDBNAME admin user pdbusr identified by PASSWORD storage (MAXSIZE 5G) default tablespace USERS datafile ‘+DATA_NEW’ size 100M autoextend on path_prefix = ‘+DATA_NEW’ file_name_convert = (‘+DATA’,’DATA_NEW’);
Инструкция выше создает PDB с ограниченным размером. Она указывает, что все принадлежащие PDB табличные пространства не должны превышать 5 гигабайт, и создает пользователей табличных пространств по умолчанию для пользователей без прав администратора в новом местоположении — «+DATA_NEW».
2. Создание новой PDB путем клонирования существующей PDB
Клонирование производственной базы данных — это метод, который часто используется для разработки и тестирования изменений приложений и связанных с ними сред. Перед установкой в производственной среде новой версии операционной системы, программного обеспечения для хранения данных или версии приложения необходимо провести тщательное тестирование с использованием производственных данных. Обычно для этого производственная база данных копируется в тестовую среду.
В Oracle12c для клонирования PDB можно использовать инструкцию «CREATE PLUGGABLE DATABASE». Эта инструкция клонирует исходную PDB и подключает клон к той же CDB или удаленной CDB.
Инструкция «CREATE PLUGGABLE DATABASE» копирует файлы, связанные с исходной PDB, в новое местоположение и связывает их с целевой PDB.
Различные типы выражений
1. Клонирование локальной PDB c помощью выражений «No»
Выражение «No» означает отсутствие структурных изменений.
Пример: sql> create pluggable database clone_pdb from pdb;
В этом случае клонированная pdb создается с таким же размером и ролями с другим GUID в группе дисков по умолчанию.
2. Клонирование локальной PDB с помощью выражений «PATH_PREFIX» и «FILE_NAME_CONVERT»
Выражение «FILE_NAME_CONVERT» требуется для указания целевых местоположений скопированных файлов. В этом примере файлы копируются из одного местоположения в другое.
Пример: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
В этом случае файлы данных исходной pdb хранятся в группе дисков «+DATA», а файлы данных клонированной pdb размещаются в другой группе дисков «+BRLOAD». Для преобразования местоположения файлов данных из «+DATA» в «+BRLOAD» можно использовать выражение «FILE_NAME_CONVERT».
3. Клонирование локальной PDB с использованием выражений «FILE_NAME_CONVERT» и «STORAGE»
Для PDB необходимо обеспечить соблюдение размера хранилища. Поэтому необходимо использовать выражение «STORAGE». В частности, все табличные области, принадлежащие PDB, не должны превышать 2 гигабайта, а пространство, используемое сеансами PDB в общей временной табличной области, не должно превышать 100 мегабайт.
Пример: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Процедура клонирования локальной PDB
В этом разделе описывается клонирование локальной PDB. После клонирования локальной PDB исходные и целевые PDB будут находиться в одной CDB.
Для клонирования PDB выполните следующие действия.
Этап 1. Проверьте состояние исходной базы данных.
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Клонируемые PDB должны находиться в состоянии «READ ONLY». Если они находятся в режиме «READ WRITE», измените состояние с помощью следующей команды:
Sql> alter pluggable database pdbname close instances=all;
Здесь «instances=all» означает закрытие PDB на всех узлах.
Sql> alter pluggable database pdb open read only instances=all;
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ ONLY NO
Этап 2. Выберите нужные параметры из различных выражений клонирования, указанных в разделе 2.
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Где «pdb1» является исходной базой, а «clone_pdb1» — целевой.
Этап 3. Клонированная PDB находится в режиме монтирования, ее состояние «NEW». Состояние PDB можно просмотреть, запросив столбец «STATUS» представления «CDB_PDB» или «DBA_PDBs».
После этого измените состояние pdb, используя «alter pluggable database», затем необходимо добавить службу PDB на всех узлах в «tnsnames.ora».
3. Отключение и подключение PDB к CDB
Отключение PDB
Отключение PDB отсоединяет PDB от CDB. Операция отключения производит некоторые изменения в файлах данных PDB для записи, например, о том, что PDB была успешно отключена. Поскольку отключенная PDB все еще является частью CDB, она включена в резервную копию RMAN всей CDB. Такое резервное копирование обеспечивает удобный способ архивирования отключенной PDB на случай, если она потребуется в будущем. Перед отключением PDB ее необходимо закрыть. При отключении PDB от CDB отключенная PDB переходит в режим монтирования.
Процедура отключения PDB
Проверьте состояние исходной pdb.
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Если исходная PDB находится в режиме «read write», необходимо изменить ее состояние на «MOUNTED».
Sql> alter pluggable database PDBNAME close instances=all;
Подключитесь к корневому контейнеру и выполните следующую команду.
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
В этом случае в каталоге «/u01/app/oracle» создается файл метаданных «pdb1.xml».
Используя файл метаданных XML, можно подключить PDB к:
3.1. той же CDB;
3.2. удаленной CDB.
Можно подключить PDB к CDB, используя «create pluggable database», и указать XML-файл с различными выражениями.
Различные типы выражений
Использование выражения «source_file_name_convert, no copy»:
«SOURCE_FILE_NAME_CONVERT»: в файле XML не отображается текущее местоположение файла. В этот раз можно использовать это выражение. XML указывает, что файлы находятся в «+DATA», но фактические файлы находятся в «+DATA1».
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
В этом случае шаблон имени файла «string2» заменяет шаблон имени файла «string1».
2. Использование выражения «path_prefix, copy, file_name_convert»:
«PATH_PREFIX»: это выражение используется для указания абсолютного пути местоположения файлов данных.
«FILE_NAME_CONVERT»: это выражение можно использовать, если файлы находятся не в целевом местоположении, но затем их нужно скопировать или переместить во время создания PDB.
3. Использование выражения «FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT»:
Файл XML не описывает текущее местоположение файлов, поэтому требуется «source file name convert». Пример: XML-файл указывает, что файлы находятся в «+DATA», но они находятся в «/u01/app».
«File name convert» требуется для перемещения файлов из «/u01/app» в «+DATA1».
3.1. Подключение отключенной pdb к той же CDB
Перед повторным подключением PDB к той же CDB необходимо удалить ее из CDB.
Создание подключаемой базы данных с помощью XML-файла различными способами.
a) Метод «NOCOPY»
Sql>Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) Метод «COPY»
Sql> Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) Метод «AS CLONE MOVE»
Sql> Create pluggable database pdb1 as clone using ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3.2. Подключение отключенной pdb к удаленной CDB
Предварительные условия:
A) Они должны иметь одинаковый формат порядка байтов.
B) Они должны иметь одинаковый набор установленных параметров базы данных.
Протокол SOURCE
1. После отключения PDB перенесите XML в целевое местоположение, также перенесите файлы базы данных из группы дисков («+DATA») в местоположение ОС («/home/») с помощью команды «ASMCMD cp» или «DATA_FILE_NAME_CONVERT».
2. Перенесите файлы базы данных из исходного местоположения в целевое местоположение ОС.
Протокол TARGET
После получения XML-файлов и файлов базы данных из исходного местоположения можно использовать функцию «DBMS_PDB.CHECK_PLUG_COMPATIBILITY», чтобы определить, совместима ли отключенная pdb с ЦЕЛЕВОЙ CDB.
Если выводится сообщение «YES», то PDB совместима.
Если выводится сообщение «NO», то PDB несовместима. Проверьте ошибки в представлении «PDB_PDB_PLUG_IN_VIOLATIONS».
При создании удаленной PDB выберите необходимые выражения из раздела 3.
Пример: Sql> Create pluggable database pdbname using ‘/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, неявляющейся CDB, в 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.