"Нас Атакуют!" Изобличи козни лукавого, запрети диаволу
Создание кластерной базы данных на "headless" серверах, импорт данных, сбор статистики и резервное копирование
Современные высокопроизводительные компьютерные системы отличаются повышенной компактностью. Как пример, Oracle Exadata X2 построена на "headless" серверах и не имеет полноценного графического интерфейса пользователя. Операционная система на узлах кластера и на дисковых ячейках установлена без необходимых "rpm" пакетов для запуска X сервера или загрузки системы в runlevel 5.
Эта заметка рассматривает самый простой способ создания новой кластерной базы данных из командной строки, с ее последующей подготовкой к работе.
Прежде чем мы продолжим, я хотел бы привести строки из Евангелия:
........... == Второе соборное послание святого апостола Петра == .............. === Глава 3, Стих 9 === 9 Не медлит Господь исполнением обетования, как некоторые почитают то медлением; но долготерпит нас, не желая, чтобы кто погиб, но чтобы все пришли к покаянию.
Лично для вас благая весть - Единородный Сын Божий Иисус Христос любит вас, Он взошел на крест за ваши грехи, был распят и на третий день воскрес, сел одесную Бога и открыл нам дорогу в Царствие Небесное.
Приближается светлый праздник Пасхи, начинается Великий Пост. Это время для каждого из нас задуматься - над своим прошлым, настоящим и будущим. Вспомнить о грехах своих, и исповедать их перед Богом, в надежде на прощение. Посмотреть пристально на свои нынешние дела - можешь ли ты сказать, что любишь ближнего своего, как заповедано Богом? И подумать, что же ждет тебя в будущем, ведь никто не знает сколько еще будет терпеть Господь преступления наши.
Покайтесь, примите Иисуса как вашего Спасителя, ибо наступают последние времена и время близко - стоит Судья у ворот.
Пожалуйста, в своих каждодневных трудах, какими бы занятыми вы себе ни казались - находите время для Бога, Его заповедей и Библии.
На главной странице этого сайта вы найдете программу для чтения Библии в командной строке - буду очень рад если программа окажется полезной. Пожалуйста, читайте Библию, на экране или в печатном виде - вы будете искренне удивлены как много там сказано лично про вас и ваши обстоятельства.
Вернемся к нашим техническим деталям.
Я предполагаю что уважаемый читатель владеет необходимыми знаниями и навыками использования Linux и Oracle, поэтому я буду очень краток. Цель этой заметки изложить самый простой подход к созданию кластерных баз данных и прояснить некоторые детали.
Я также предполагаю, что в наличии имеется правильно установленный и работающий Oracle RAC 11.2, возможно с уже существующими базами. В моей статье я рассматриваю Oracle Exadata x2 как предустановленную кластерную платформу и полагаю, что система уже работает в вашей серверной комнате. В то же время, в компании не существует централизованной версии Oracle Enterprise Manager Grid Control.
Мы рассмотрим несколько основных шагов:
Все эти действия будут выполнены исключительно из командной строки и не будут требовать графического интерфейса.
Удаление старой имеющейся базы
Предположим, что имеется ненужная база OLDDB с системным пользователем SYS и паролем "welcome". Нам необходимо избавиться от этой базы и использовать высвобожденное место для создания новой базы NEWDB.
Операция выполняется в одно действие, используя Database Configuration Assistant в так называемом "silent" режиме, не требующем доступа к X-дисплею. При этом база OLDDB должна быть в состоянии принять соединение.
[oracle@x1 ~]$ nohup dbca -deleteDatabase -sourceDB OLDDB -sysDBAUserName sys \ -sysDBAPassword welcome -silent & Connecting to database 9% complete 14% complete 19% complete 23% complete 28% complete 33% complete 38% complete 47% complete Updating network configuration files 48% complete 52% complete Deleting instances and datafiles 66% complete 80% complete 95% complete 100% complete Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/OLDDB.log" for further details. [oracle@x1 ~]$ cat /u01/app/oracle/cfgtoollogs/dbca/OLDDB.log The Database Configuration Assistant will delete the Oracle instances and datafiles for your database. All information in the database will be deleted. Do you want to proceed? Connecting to database DBCA_PROGRESS : 9% DBCA_PROGRESS : 14% DBCA_PROGRESS : 19% DBCA_PROGRESS : 23% DBCA_PROGRESS : 28% DBCA_PROGRESS : 33% DBCA_PROGRESS : 38% ORA-12514: TNS:listener does not currently know of service requested in connect descriptor DBCA_PROGRESS : 47% Updating network configuration files DBCA_PROGRESS : 48% DBCA_PROGRESS : 52% Deleting instances and datafiles DBCA_PROGRESS : 66% DBCA_PROGRESS : 80% DBCA_PROGRESS : 95% DBCA_PROGRESS : 100% Database deletion completed. [oracle@x1 ~]$
Как видно, listener уже не знал о старой базе данных, тем не менее процесс удаления прошел успешно. Использование Database Configuration Assistant позволяет выполнить сразу много действий - от физического удаления файлов до корректировки конфигурации кластерных служб.
Создание новой кластерной базы
Существует два способа создания базы из командной строки - с помощью SQL команды "CREATE DATABASE" и используя файл - сценарий (response file).
Поскольку мы хотим попробовать простейший способ, я предлагаю вариант с файлом-сценарием. Опять будет использоваться Database Configuration Assistant, что позволяет нам выполнить множество действий одной командой.
Подготовим response file для новой базы NEWDB, при этом пароль для всех пользователей будет установлен в "oracle", база должна обслуживаться процессами на четырех кластерных узлах, иметь локальную копию Enterprise Manager DB Console и иметь заданные значения для числа сессий и процессов.
Я специально выбрал "старое" значение US7ASCII в качестве набора символов для новой базы - я не собираюсь хранить там что-либо кроме ASCII кодов и хочу сэкономить место на диске и в оперaтивной памяти.
[oracle@x1 ~]$ cat dbca.rsp [GENERAL] RESPONSEFILE_VERSION = "11.2.0.2" # Используем последнюю версию (на сегодняшний день) OPERATION_TYPE = "createDatabase" # Создаем новую базу [CREATEDATABASE] GDBNAME = "NEWDB" # "Глобальное" имя новой кластерной базы SID = "NEWDB" # На самом деле, это "SID prefix". Instances будут NEWDB1-NEWDB4 NODELIST="x1,x2,x3,x4" # "Регистрируем" базу на четырех нодах TEMPLATENAME = "General_Purpose.dbc" # Я всегда использую именно это значение SYSPASSWORD = "oracle" SYSTEMPASSWORD = "oracle" EMCONFIGURATION = "LOCAL" # Мне нужен "локальный" EM только для этой базы SYSMANPASSWORD = "oracle" DBSNMPPASSWORD = "oracle" STORAGETYPE=ASM # Exadata не может использовать ничего, кроме ASM, забудем NFS. DISKGROUPNAME="DATA" # Datafiles ASMSNMP_PASSWORD="oracle" RECOVERYGROUPNAME="RECO" # Flashback Recovery Area CHARACTERSET = "US7ASCII" # Набор символов NATIONALCHARACTERSET= "AL16UTF16" # Излишняя "экзотика" INITPARAMS ="processes=1500,sessions=2000,compatible=11.2.0.2.0" # Мои требования SAMPLESCHEMA=TRUE # Я скучаю по "scott/tiger" MEMORYPERCENTAGE = "20" # Используется автоматическое распределение памяти для SGA и PGA, # из "общего котла". DATABASETYPE = "MULTIPURPOSE" # Я всегда использую именно это значение AUTOMATICMEMORYMANAGEMENT = "TRUE" # "Общий котел" памяти ... TOTALMEMORY = "18000" # ... и его обьем. [oracle@x1 ~]$
[oracle@x1 ~]$ . oraenv ORACLE_SID = [mdb] ? mdb The Oracle base remains unchanged with value /u01/app/oracle [oracle@x1 ~]$ env | grep ORA ORACLE_UNQNAME=mdb ORACLE_SID=mdb1 ORACLE_BASE=/u01/app/oracle ORAENV_ASK=YES ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 [oracle@x1 ~]$ unset ORACLE_SID ORACLE_UNQNAME
Нам не надо предпринимать каких-либо специальных шагов (типа настройки X11Forwarding) - "dbca" будет использоваться в "молчаливом" режиме, выводящем исключительно текст. Тем не менее, обязательно проверьте чтобы порты на вашей системе не были заблокированы "iptables" - я его просто отключаю, останавливая службу на уровне Linux.
[oracle@x1 ~]$ dbca -responseFile dbca.rsp -silent Copying database files 1% complete 3% complete 30% complete Creating and starting Oracle instance 32% complete 36% complete 40% complete 44% complete 45% complete 48% complete 50% complete Creating cluster database views 52% complete 70% complete Completing Database Creation 73% complete 76% complete 85% complete 94% complete 100% complete Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/NEWDB/NEWDB.log" [oracle@x1 ~]$ cat /u01/app/oracle/cfgtoollogs/dbca/NEWDB/NEWDB.log Copying database files DBCA_PROGRESS : 1% DBCA_PROGRESS : 3% DBCA_PROGRESS : 30% Creating and starting Oracle instance DBCA_PROGRESS : 32% DBCA_PROGRESS : 36% DBCA_PROGRESS : 40% DBCA_PROGRESS : 44% DBCA_PROGRESS : 45% DBCA_PROGRESS : 48% DBCA_PROGRESS : 50% Creating cluster database views DBCA_PROGRESS : 52% DBCA_PROGRESS : 70% Completing Database Creation DBCA_PROGRESS : 73% DBCA_PROGRESS : 76% DBCA_PROGRESS : 85% DBCA_PROGRESS : 94% DBCA_PROGRESS : 100% Database creation complete. For details check the logfiles at: /u01/app/oracle/cfgtoollogs/dbca/NEWDB. Database Information: Global Database Name:NEWDB System Identifier(SID) Prefix:NEWDB The Database Control URL is https://x1:5502/em Management Repository has been placed in secure mode wherein Enterprise Manager data will be encrypted. The encryption key has been placed in the file: /u01/app/oracle/product/11.2.0/dbhome_1/x1_NEWDB/sysman/config/emkey.ora. Ensure this file is backed up as the encrypted data will become unusable if this file is lost.
13:39:33 SQL> show user USER is "SYS" 13:39:36 SQL> select count(*) from dba_objects where status <> 'VALID'; COUNT(*) ---------- 0 1 row selected. Elapsed: 00:00:00.03 13:39:50 SQL> select comp_id, version, status 13:40:00 2 from dba_registry; COMP_ID VERSION STATUS ------------------------------ ------------------------------ ----------- OWB 11.2.0.2.0 VALID APEX 3.2.1.00.12 VALID EM 11.2.0.2.0 VALID AMD 11.2.0.2.0 VALID SDO 11.2.0.2.0 VALID ORDIM 11.2.0.2.0 VALID XDB 11.2.0.2.0 VALID CONTEXT 11.2.0.2.0 VALID EXF 11.2.0.2.0 VALID RUL 11.2.0.2.0 VALID OWM 11.2.0.2.0 VALID CATALOG 11.2.0.2.0 VALID CATPROC 11.2.0.2.0 VALID JAVAVM 11.2.0.2.0 VALID XML 11.2.0.2.0 VALID CATJAVA 11.2.0.2.0 VALID APS 11.2.0.2.0 VALID XOQ 11.2.0.2.0 VALID RAC 11.2.0.2.0 VALID 19 rows selected. Elapsed: 00:00:00.00 13:40:05 SQL> select inst_id, logins 13:40:34 2 from gv$instance; INST_ID LOGINS ---------- ---------- 4 ALLOWED 3 ALLOWED 2 ALLOWED 1 ALLOWED 4 rows selected. Elapsed: 00:00:00.01 13:40:38 SQL>
Как видно, все в порядке и наша кластерная база готова принимать подключения пользователей на всех четырех узлах кластера.
Регистрация новой базы в Enterprise Manager Database Control
Приятная неожиданность - никаких дополнительных шагов не требуется, "dbca"
выполнил всю работу за нас. Все что надо сделать - заметить URL из предыдущего
лога и использовать его, в нашем случае
"https://x1:5502/em".
Заметьте, что Enterprise Manager DB Console для новой базы сконфигурирован на порту 5502. Как вы помните, у меня уже существует "n" баз данных на этой системе, и каждая из них имеет свою "локальную" копию EM, слушающую на порту "5500+n", где n - порядковый номер базы. Естественно, с ростом количества баз будет увеличиваться число этих самых "консолей", работающих одновременно (и потребляющих ресурсы системы) - вот вам и причина подумать о централизованном Enterprise Manager Grid Control.
[oracle@x1 ~]$ env | grep ORA ORACLE_UNQNAME=NEWDB ORACLE_SID=NEWDB ORACLE_BASE=/u01/app/oracle ORAENV_ASK=YES ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 [oracle@x1 ~]$ emctl status dbconsole Oracle Enterprise Manager 11g Database Control Release 11.2.0.2.0 Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. https://x1:5502/em/console/aboutApplication Oracle Enterprise Manager 11g is running. ------------------------------------------------------------------ Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/x1_NEWDB/sysman/log [oracle@x1 ~]$ emctl status agent Oracle Enterprise Manager 11g Database Control Release 11.2.0.2.0 Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 10.2.0.4.3 OMS Version : 10.2.0.4.3 Protocol Version : 10.2.0.4.3 Agent Home : /u01/app/oracle/product/11.2.0/dbhome_1/x1_NEWDB Agent binaries : /u01/app/oracle/product/11.2.0/dbhome_1 Agent Process ID : 30881 Parent Process ID : 30783 Agent URL : https://x1:1833/emd/main Repository URL : https://x1:5502/em/upload/ Started at : 2011-02-20 13:23:51 Started by user : oracle Last Reload : 2011-02-20 13:37:54 Last successful upload : 2011-02-20 13:43:25 Total Megabytes of XML files uploaded so far : 14.90 Number of XML files pending upload : 0 Size of XML files pending upload(MB) : 0.00 Available disk space on upload filesystem : 77.02% Data channel upload directory : /u01/app/oracle/product/11.2.0/dbhome_1/x1_NEWDB/sysman/recv Last successful heartbeat to OMS : 2011-02-20 13:43:53 --------------------------------------------------------------- Agent is Running and Ready
Enterprise Manager работает и принимает XML файлы от агента, о чем свидетельствует метрика "Total Megabytes of XML files uploaded so far". Все необходимые файлы были получены от агента - метрика "Number of XML files pending upload" равна нулю.
Загрузка данных с помощью DataPump
Теперь, когда новая база данных готова, нам надо загрузить в нее необходимые данные.
Предположим, что у нас имеется какой-то файл параллельного datapump экспорта всей базы данных, выполненный на предыдущей версии Oracle и содержащий несколько "частей". Для загрузки я обычно использую такой параметр файл:
[oracle@x1 ~]$ cat dpump_imp.par userid="/ as sysdba" DIRECTORY="MYDMP" DUMPFILE="olddb_full_%U.dmp" LOGFILE="NEWDB_full.log" TABLE_EXISTS_ACTION="REPLACE" FULL=Y PARALLEL=12 EXCLUDE=SCHEMA:"in ('OUTLN','ANONYMOUS','APEX_030200','APEX_PUBLIC_USER','APPQOSSYS','DBFS', 'DBSNMP','DIP','EXFSYS','FLOWS_FILES','MDSYS','MGMT_VIEW','ORACLE_OCM','ORDDATA', 'ORDPLUGINS','ORDSYS','OUTLN','SI_INFORMTN_SCHEMA','WMSYS','XDB','XS$NULL','SYSTEM','SYSMAN', 'SYS','DBSNMP','PERFSTAT')" EXCLUDE=STATISTICS [oracle@x1 ~]$ nohup impdp parfile=dpump_imp.par & [oracle@x1 ~]$ tail -200f dpump_imp.par Import: Release 11.2.0.2.0 - Production on Sun Feb 20 14:53:58 2011 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options Master table "SYS"."SYS_IMPORT_FULL_03" successfully loaded/unloaded Starting "SYS"."SYS_IMPORT_FULL_03": /******** AS SYSDBA parfile=dpump_imp.par Processing object type DATABASE_EXPORT/TABLESPACE Processing object type DATABASE_EXPORT/PROFILE Processing object type DATABASE_EXPORT/SCHEMA/USER Processing object type DATABASE_EXPORT/ROLE Processing object type DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT Processing object type DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT Processing object type DATABASE_EXPORT/SCHEMA/ROLE_GRANT Processing object type DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE Processing object type DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA Processing object type DATABASE_EXPORT/RESOURCE_COST Processing object type DATABASE_EXPORT/SCHEMA/DB_LINK Processing object type DATABASE_EXPORT/DIRECTORY/DIRECTORY Processing object type DATABASE_EXPORT/CONTEXT Processing object type DATABASE_EXPORT/SCHEMA/PUBLIC_SYNONYM/SYNONYM Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM Processing object type DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA . . imported "U1"."T1" 7.514 GB 2941530 rows ... Processing object type DATABASE_EXPORT/SCHEMA/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX Processing object type DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/CONSTRAINT Processing object type DATABASE_EXPORT/SCHEMA/PACKAGE/PACKAGE_SPEC Processing object type DATABASE_EXPORT/SCHEMA/PACKAGE/GRANT/OWNER_GRANT/OBJECT_GRANT Processing object type DATABASE_EXPORT/SCHEMA/PROCEDURE/PROCEDURE Processing object type DATABASE_EXPORT/SCHEMA/PROCEDURE/ALTER_PROCEDURE Processing object type DATABASE_EXPORT/SCHEMA/VIEW/VIEW Processing object type DATABASE_EXPORT/SCHEMA/PACKAGE_BODIES/PACKAGE/PACKAGE_BODY Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TRIGGER Job "SYS"."SYS_IMPORT_FULL_03" completed with 2 error(s) at 17:25:40
Как видно, я позволяю импорту замещать существующие таблицы, потому что я исключаю важные системные схемы из списка объектов для импорта. Также я предпочитаю пересобирать статистику после загрузки и просто игнорирую имеющиеся в дампе записи.
Сбор статистики
После загрузки данных многие объекты потребуют пере-компиляции, выполним это действие используя внутренние средства Oracle:
[oracle@x1 ~]$ sqlplus SQL*Plus: Release 11.2.0.2.0 Production on Mon Feb 21 07:21:10 2011 Copyright (c) 1982, 2010, Oracle. All rights reserved. 07:21:10 SQL> conn / as sysdba Connected. 07:21:10 SQL> exec utl_recomp.recomp_parallel; PL/SQL procedure successfully completed. Elapsed: 00:00:17.72 07:21:28 SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options [oracle@x1 ~]$
Теперь самое время собрать статистику на вновь созданной базе, со "свежезагруженными" данными. Для этой цели я использую пакет DBMS_STATS, доверяя ему выбор необходимых параметров выборки. На мой взгляд, сбор статистики должен осуществляться в наиболее простом виде на уровне всей базы данных, индивидуальная "настройка" статистики нежелательна и используется только для улучшения производительности "проблемных" запросов.
Поскольку в моем примере используется Exadata x2, системную (ОС) статистику собирать не требуется. Более того, я стараюсь не препятствовать оптимизатору запросов выбирать "параллельные планы" и позволяю системе собрать статистику "по умолчанию", способствующую выбору "hash join"-ов.
[oracle@x1 ~]$ sqlplus "/ as sysdba" Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected. 18:36:27 SQL> begin 18:36:27 2 dbms_stats.gather_database_stats(); 18:36:27 3 end; 18:36:27 4 / PL/SQL procedure successfully completed. Elapsed: 04:04:43.02 22:41:10 SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options
Как видим, сбор аккуратной статистики на большом обьеме данных может занять часы. Собирая статистику на индексах отдельно, можно значительно ускорить процесс. Кроме того, использование SQL-скрипта, запущенного через "nohup" выглядит разумно. Скрипт очень прост:
[oracle@x1 ~]$ cat get_stats.sql conn / as sysdba begin dbms_stats.gather_database_stats(); end; / exit [oracle@x1 ~]$ sqlplus /nolog @get_stats.sql
После сбора статистики, создание резервной копии новой базы данных просто необходимо.
Резервное копирование готовой базы
Я настоятельно рекомендую использовать Recovery Manager для резервного копирования баз данных. В случае с Exadata, "rman" является единственной опцией.
[oracle@x1 ~]$ cat bckp.sh #!/bin/bash set -x date source /home/oracle/.bash_profile date emctl stop dbconsole date srvctl stop database -d $ORACLE_UNQNAME -o transactional date /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman << EOF connect target startup mount CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE DEVICE TYPE DISK PARALLELISM 12 BACKUP TYPE TO BACKUPSET; backup database; shutdown EOF date srvctl start database -d $ORACLE_UNQNAME date emctl start dbconsole [oracle@x1 ~]$
Результат выполнения этого скрипта выглядит приблизительно так:
Mon Feb 21 08:16:27 EST 2011 The Oracle base remains unchanged with value /u01/app/oracle Mon Feb 21 08:16:28 EST 2011 Oracle Enterprise Manager 11g Database Control Release 11.2.0.2.0 Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. https://x1:5502/em/console/aboutApplication Stopping Oracle Enterprise Manager 11g Database Control ... ... Stopped. Mon Feb 21 08:17:55 EST 2011 Recovery Manager: Release 11.2.0.2.0 - Production on Mon Feb 21 08:17:55 2011 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. RMAN> connected to target database (not started) RMAN> Oracle instance started database mounted Total System Global Area 18840203264 bytes Fixed Size 2234376 bytes Variable Size 14965278712 bytes Database Buffers 3825205248 bytes Redo Buffers 47484928 bytes RMAN> RMAN> using target database control file instead of recovery catalog new RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP ON; new RMAN configuration parameters are successfully stored RMAN> new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK PARALLELISM 12 BACKUP TYPE TO BACKUPSET; new RMAN configuration parameters are successfully stored RMAN> RMAN> Starting backup at 21-FEB-11 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=1522 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_2 channel ORA_DISK_2: SID=1617 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_3 channel ORA_DISK_3: SID=1712 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_4 channel ORA_DISK_4: SID=1807 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_5 channel ORA_DISK_5: SID=1902 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_6 channel ORA_DISK_6: SID=1997 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_7 channel ORA_DISK_7: SID=2092 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_8 channel ORA_DISK_8: SID=2187 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_9 channel ORA_DISK_9: SID=2 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_10 channel ORA_DISK_10: SID=97 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_11 channel ORA_DISK_11: SID=193 instance=NEWDB4 device type=DISK allocated channel: ORA_DISK_12 channel ORA_DISK_12: SID=288 instance=NEWDB4 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00036 name=+DATA/NEWDB/datafile/ts1.545.743609327 channel ORA_DISK_1: starting piece 1 at 21-FEB-11 channel ORA_DISK_2: starting full datafile backup set channel ORA_DISK_2: specifying datafile(s) in backup set input datafile file number=00037 name=+DATA/NEWDB/datafile/ts1i.490.743609327 input datafile file number=00004 name=+DATA/NEWDB/datafile/users.449.743605729 input datafile file number=00006 name=+DATA/NEWDB/datafile/undotbs2.499.743605931 input datafile file number=00007 name=+DATA/NEWDB/datafile/undotbs3.444.743605931 input datafile file number=00008 name=+DATA/NEWDB/datafile/undotbs4.608.743605931 channel ORA_DISK_2: starting piece 1 at 21-FEB-11 channel ORA_DISK_3: starting full datafile backup set channel ORA_DISK_3: specifying datafile(s) in backup set input datafile file number=00014 name=+DATA/NEWDB/datafile/ts2.441.743609321 input datafile file number=00026 name=+DATA/NEWDB/datafile/ts3.438.743609323 input datafile file number=00032 name=+DATA/NEWDB/datafile/ts4.546.743609325 input datafile file number=00033 name=+DATA/NEWDB/datafile/ts5.491.743609325 input datafile file number=00056 name=+DATA/NEWDB/datafile/ts6.540.743609333 channel ORA_DISK_3: starting piece 1 at 21-FEB-11 channel ORA_DISK_4: starting full datafile backup set channel ORA_DISK_4: specifying datafile(s) in backup set input datafile file number=00029 name=+DATA/NEWDB/datafile/perfstat.492.743609325 input datafile file number=00017 name=+DATA/NEWDB/datafile/ts7.495.743609321 input datafile file number=00018 name=+DATA/NEWDB/datafile/ts8.440.743609321 input datafile file number=00022 name=+DATA/NEWDB/datafile/ts9.439.743609323 input datafile file number=00023 name=+DATA/NEWDB/datafile/ts10.603.743609323 channel ORA_DISK_4: starting piece 1 at 21-FEB-11 channel ORA_DISK_5: starting full datafile backup set channel ORA_DISK_5: specifying datafile(s) in backup set input datafile file number=00035 name=+DATA/NEWDB/datafile/ts11.600.743609327 input datafile file number=00009 name=+DATA/NEWDB/datafile/tools.498.743609319 input datafile file number=00010 name=+DATA/NEWDB/datafile/ts12.553.743609319 input datafile file number=00011 name=+DATA/NEWDB/datafile/ts13.606.743609319 input datafile file number=00016 name=+DATA/NEWDB/datafile/ts14.550.743609321 channel ORA_DISK_5: starting piece 1 at 21-FEB-11 channel ORA_DISK_6: starting full datafile backup set channel ORA_DISK_6: specifying datafile(s) in backup set input datafile file number=00055 name=+DATA/NEWDB/datafile/ts15.595.743609331 input datafile file number=00031 name=+DATA/NEWDB/datafile/ts16.601.743609325 input datafile file number=00053 name=+DATA/NEWDB/datafile/ts17.486.743609331 input datafile file number=00054 name=+DATA/NEWDB/datafile/ts18.431.743609331 input datafile file number=00040 name=+DATA/NEWDB/datafile/ts19.544.743609327 channel ORA_DISK_6: starting piece 1 at 21-FEB-11 channel ORA_DISK_7: starting full datafile backup set channel ORA_DISK_7: specifying datafile(s) in backup set input datafile file number=00027 name=+DATA/NEWDB/datafile/ts20.602.743609325 input datafile file number=00038 name=+DATA/NEWDB/datafile/ts21.435.743609327 input datafile file number=00042 name=+DATA/NEWDB/datafile/ts22.434.743609329 input datafile file number=00050 name=+DATA/NEWDB/datafile/ts23.432.743609331 input datafile file number=00030 name=+DATA/NEWDB/datafile/ts24.437.743609325 channel ORA_DISK_7: starting piece 1 at 21-FEB-11 channel ORA_DISK_8: starting full datafile backup set channel ORA_DISK_8: specifying datafile(s) in backup set input datafile file number=00013 name=+DATA/NEWDB/datafile/ts25.496.743609321 input datafile file number=00041 name=+DATA/NEWDB/datafile/ts26.489.743609329 input datafile file number=00003 name=+DATA/NEWDB/datafile/ts27.504.743605729 input datafile file number=00048 name=+DATA/NEWDB/datafile/ts28.542.743609331 input datafile file number=00052 name=+DATA/NEWDB/datafile/ts29.541.743609331 channel ORA_DISK_8: starting piece 1 at 21-FEB-11 channel ORA_DISK_9: starting full datafile backup set channel ORA_DISK_9: specifying datafile(s) in backup set input datafile file number=00028 name=+DATA/NEWDB/datafile/ts30.547.743609325 input datafile file number=00051 name=+DATA/NEWDB/datafile/ts31.596.743609331 input datafile file number=00015 name=+DATA/NEWDB/datafile/ts32.605.743609321 input datafile file number=00002 name=+DATA/NEWDB/datafile/ts33.559.743605729 input datafile file number=00046 name=+DATA/NEWDB/datafile/ts34.433.743609329 channel ORA_DISK_9: starting piece 1 at 21-FEB-11 channel ORA_DISK_10: starting full datafile backup set channel ORA_DISK_10: specifying datafile(s) in backup set input datafile file number=00047 name=+DATA/NEWDB/datafile/ts35.597.743609329 input datafile file number=00012 name=+DATA/NEWDB/datafile/ts36.551.743609321 input datafile file number=00034 name=+DATA/NEWDB/datafile/ts37.436.743609327 input datafile file number=00024 name=+DATA/NEWDB/datafile/ts38.548.743609323 input datafile file number=00005 name=+DATA/NEWDB/datafile/example.554.743605851 channel ORA_DISK_10: starting piece 1 at 21-FEB-11 channel ORA_DISK_11: starting full datafile backup set channel ORA_DISK_11: specifying datafile(s) in backup set input datafile file number=00045 name=+DATA/NEWDB/datafile/ts39.488.743609329 input datafile file number=00049 name=+DATA/NEWDB/datafile/ts40.487.743609331 input datafile file number=00001 name=+DATA/NEWDB/datafile/system.450.743605727 input datafile file number=00020 name=+DATA/NEWDB/datafile/ts41.549.743609323 input datafile file number=00044 name=+DATA/NEWDB/datafile/ts42.543.743609329 channel ORA_DISK_11: starting piece 1 at 21-FEB-11 channel ORA_DISK_12: starting full datafile backup set channel ORA_DISK_12: specifying datafile(s) in backup set input datafile file number=00021 name=+DATA/NEWDB/datafile/ts43.494.743609323 input datafile file number=00043 name=+DATA/NEWDB/datafile/ts44.598.743609329 input datafile file number=00039 name=+DATA/NEWDB/datafile/ts45.599.743609327 input datafile file number=00019 name=+DATA/NEWDB/datafile/ts46.604.743609321 input datafile file number=00025 name=+DATA/NEWDB/datafile/ts47.493.743609323 channel ORA_DISK_12: starting piece 1 at 21-FEB-11 channel ORA_DISK_6: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2174.743674699 tag=TAG20110221T081815 channel ORA_DISK_6: backup set complete, elapsed time: 00:01:24 channel ORA_DISK_7: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2139.743674701 tag=TAG20110221T081815 channel ORA_DISK_7: backup set complete, elapsed time: 00:01:24 channel ORA_DISK_8: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2110.743674707 tag=TAG20110221T081815 channel ORA_DISK_8: backup set complete, elapsed time: 00:01:28 channel ORA_DISK_9: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2061.743674715 tag=TAG20110221T081815 channel ORA_DISK_9: backup set complete, elapsed time: 00:01:20 channel ORA_DISK_10: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2012.743674717 tag=TAG20110221T081815 channel ORA_DISK_10: backup set complete, elapsed time: 00:01:17 channel ORA_DISK_5: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2178.743674697 tag=TAG20110221T081815 channel ORA_DISK_5: backup set complete, elapsed time: 00:01:46 channel ORA_DISK_11: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.1691.743674727 tag=TAG20110221T081815 channel ORA_DISK_11: backup set complete, elapsed time: 00:01:17 channel ORA_DISK_12: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2643.743674739 tag=TAG20110221T081815 channel ORA_DISK_12: backup set complete, elapsed time: 00:01:06 channel ORA_DISK_4: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2225.743674697 tag=TAG20110221T081815 channel ORA_DISK_4: backup set complete, elapsed time: 00:02:07 channel ORA_DISK_3: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2243.743674697 tag=TAG20110221T081815 channel ORA_DISK_3: backup set complete, elapsed time: 00:02:18 channel ORA_DISK_2: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2642.743674697 tag=TAG20110221T081815 channel ORA_DISK_2: backup set complete, elapsed time: 00:24:48 channel ORA_DISK_1: finished piece 1 at 21-FEB-11 piece handle=+RECO/NEWDB/backupset/2011_02_21/nnndf0_tag20110221t081815_0.2318.743674697 tag=TAG20110221T081815 channel ORA_DISK_1: backup set complete, elapsed time: 00:26:38 Finished backup at 21-FEB-11 Starting Control File and SPFILE Autobackup at 21-FEB-11 piece handle=+RECO/NEWDB/autobackup/2011_02_21/s_743674663.2644.743676295 Finished Control File and SPFILE Autobackup at 21-FEB-11 RMAN> database dismounted Oracle instance shut down RMAN> Recovery Manager complete. Mon Feb 21 08:45:32 EST 2011 Oracle Enterprise Manager 11g Database Control Release 11.2.0.2.0 Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. https://x1:5502/em/console/aboutApplication Starting Oracle Enterprise Manager 11g Database Control ..... started. ------------------------------------------------------------------ Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/x1_NEWDB/sysman/log
Скрипт можно изменить так, чтобы "rman channels" равномерно распределялись между всеми узлами кластера, но в моем случае я предпочитаю выполнять все действия на одном ноде и использовать ресурсы других узлов для работы.
Заметьте, что первый выполненный "бэкап" сделан в "холодном" режиме. При этом очень важно чтобы подключенные сессии завершились нормально, отсюда и появилось "-o transactional" в скрипте.
Теперь новую базу данных можно переводить в archivelog mode и начинать использовать по-настоящему. Последующие резервные копии вероятнее всего надо делать в "горячем" режиме.
Спасибо что зашли,
Будьте благословенны!
Денис