Глава 6. Практическая часть
⇐ ПредыдущаяСтр 3 из 3
Резервное копирование предоставляет возможность восстановления информационной системы с данными после различного рода инцидентов, имеющих технический, программный или внешний характер, и приводящих к уничтожению информационной системы и/или данных (всех или части). Для обеспечения процедуры резервного копирования данных информационной системы необходимо следующее: 1. создание специального скрипт-файла, при запуске которого будет создаваться файл-архив содержащий: · копию рабочей схемы базы данных (объект базы данных содержащий данные пользователя); · резервную копию программного кода базы данных из всех задействованных схем; · копию всех шаблонов печатных форм и отчетов; 2. Включение в рабочий режим функций базы Oracle по созданию журналов всех транзакций (операций с данными) для обеспечения возможности восстановления состояния данных на любой момент времени, а не только на момент создания резервной копии (т.н. Archive Logs). 3. Настройку Планировщика Заданий Windows (или другой аналогичной программы) на автоматическое выполнение скрипт-файла, по определенному расписанию. В процессе выполнения мною дипломной работы было выполнено следующее - установлена и настроена СУБД Oracle версии 10g. Создана точная копия тестового сервера и проверена на работоспособность (здесь включен импорт всех необходимых схем), была настроена ее архивация несколькими методами, которые дальше будут продемонстрированы. На данный момент используется огромное количество видов введения архивации. Созданы всевозможные бесплатные и коммерческие утилиты и программы, выполняющие резервное копирование данных. В качестве примера будут продемонстрированы только некоторые из них, которые используются мною во многих частных и бюджетных организациях.
1) Метод ведения архивации с помощью встроенных функций в СУБД ORACLE. Команды exp и imp (что есть «export» и «import») В следующем примере формируется файл, с расширением *.dmp. Файл archive_db.bat содержит следующий скрипт: chcp 1251 rem удаление *.log файлов del *.log rem логин/пароль@сервер скрипт очистки ZTEMP sqlplusw schema_name/schemas_name@name_db @clearztemp логин/пароль@сервер название схемы лог файл *.dmp файл экспорта exp 'sys/sys@name_db as sysdba' owner=schema log=log_name.log file=file_name.dmpОбязательные схем'sys/sys@name_db as sysdba' owner=un4pack log=un4pack.log file=exp_un4pack.dmp'sys/sys@name_db as sysdba' owner=un4public log=un4public.log file=exp_un4public.dmp путь сохранения архивов все *.dmp файлы все лог файлы путь к templates rar a -agddmmyy_HHMM D:\archiv_db\Back_up\schema_name_ *.dmp *.log D:\Share\templates.oraудаление *.dmp файлов*.dmp Дополнительно, в папку с этим файлом можно поместить ДОСовский rar (архиватор) и указать в скрипте все файлы для сжатия и помещения их в архив, для экономии места на дисках. Импорт данных выполняется в несколько этапов. Для этого необходимо 6 файлов, содержащих следующие скрипты: · Скрипт на создание схемы. create_script_user.bat Создает скрипт для генерации юзера (схемы) user.sql, rem и вклеивает в него само имя юзера (схемы). del user.sqlTRUNCATE TABLE %1.tparams DROP STORAGE; >> user.sqlDROP USER %1 CASCADE; >> user.sqlCREATE USER %1 IDENTIFIED BY "%1" >> user.sqlDEFAULT TABLESPACE TBSun4_TABLES >> user.sqlTEMPORARY TABLESPACE TBSun4_TEMP >> user.sqlPROFILE DEFAULT; >> user.sqlGRANT ALTER ANY INDEX TO %1; >> user.sqlGRANT CREATE ANY TABLE TO %1 WITH ADMIN OPTION; >> user.sqlGRANT drop ANY TABLE TO %1 WITH ADMIN OPTION; >> user.sqlGRANT EXECUTE ANY PROCEDURE TO %1 WITH ADMIN OPTION; >> user.sqlGRANT EXECUTE ANY TYPE TO %1 WITH ADMIN OPTION; >> user.sqlGRANT QUERY REWRITE TO %1 WITH ADMIN OPTION; >> user.sqlGRANT UNLIMITED TABLESPACE TO %1 WITH ADMIN OPTION; >> user.sqlGRANT CONNECT TO %1 WITH ADMIN OPTION; >> user.sqlGRANT RESOURCE TO %1 WITH ADMIN OPTION; >> user.sqlALTER USER %1 DEFAULT ROLE CONNECT, >> user.sqlRESOURCE; >> user.sqlGRANT SELECT ON SYS.V_$SESSION TO %1; >> user.sqlGRANT SELECT ON SYS.V_$TRANSACTION TO %1; >> user.sqlGRANT SELECT ON DBA_OBJECTS TO %1; >> user.sqlGRANT SELECT ON DBA_policies TO %1; >> user.sqlstasGRANT CREATE ANY VIEW TO UN4PUBLIC; >> user.sqlGRANT DROP ANY VIEW TO UN4PUBLIC; >> user.sqlend stasGRANT EXECUTE ON SYS.DBMS_ALERT TO %1; >> user.sqlGRANT EXECUTE ON SYS.dbms_rls TO %1; >> user.sqlGRANT SELECT ON SYS.V_$LOCK TO %1; >> user.sqlGRANT ALTER SYSTEM TO %1; >> user.sqlrem GRANT SELECT ANY table TO %1; >> user.sqlGRANT EXP_FULL_DATABASE TO %1; >> user.sqlGRANT IMP_FULL_DATABASE TO %1; >> user.sqlGRANT EXECUTE ON SYS.DBMS_PIPE TO %1; >> user.sqlALTER TABLESPACE TBSun4_TABLES coalesce; >> user.sqlALTER TABLESPACE TBSun4_TEMP coalesce; >> user.sqlALTER TABLESPACE TBSun4_SYSTABLES coalesce; >> user.sqlALTER TABLESPACE TBSun4_IND coalesce; >> user.sqlALTER TABLESPACE TBSun4_cm coalesce; >> user.sqlALTER TABLESPACE system coalesce; >> user.sqlecho ALTER TABLESPACE indx coalesce; >> user.sqlecho ALTER TABLESPACE rbs coalesce; >> user.sqlexit; >> user.sql
· Скрипт на создание объектов схемы. create_dat_obj.bat rem Создает файл параметров obj1.dat, rem (набор параметров для утилиты IMP - чтоб не задавать в коммандной строке) rem и вклеивает в него имена новой и старой схемы. del obj1.datecho FILE=expancfm.dmp >> obj1.datecho LOG=imp_log.txt >> obj1.datgrants=y >> obj1.datTOUSER=%1 >> obj1.datFROMUSER=%2 >> obj1.datIGNORE=Y >> obj1.datFEEDBACK=1000 >> obj1.datanalyze=n >> obj1.datTOID_NOVALIDATE=(%1.UN$FANEX,%1.UN$PASAPORT,%1.UN$AFX$GRUPUZINT,%1.UN$CM,%1.UN$PRICE,%1.UN$SRNRDT,%1.UN$SUMA,%1.UN$SZ$CONTRACTRES,%1.UN$SZ$CONTRBRIG,%1.UN$SZ$CONTRCAMPS,%1.UN$SZ$CONTRDIST,%1.UN$SZ$SOFERS,%1.UNT$AFX$GRUPUZINT,%1.UNT$FANEX,%1.UNT$SZ$CONTRBRIG,%1.UNT$SZ$CONTRCAMPS,%1.UNT$SZ$CONTRDIST,%1.UNT$SZ$SOFERS) >> obj1.dat · Скрипт, содержащий настройки последовательного выполнения импорта схемы. imp1.bat del *.log rem Создать скрипт для создания нового юзера (схемы) user.sql call create_script_user.bat %2 Создать файл параметров obj1.dat. call create_dat_obj.bat %2 %3 запустить скрипт создания нового юзера sqlplus sys/sys@%1 as sysdba @"user.sql" запустить скрипт создания типов для данной схемы sqlplusw %2/%2@%1 @"all_objct.sql" rem запустить утилиту экспорта IMP rem админ/пароль@сервер журнал файл архива из которого импортировать rem IMP system/sys@%1 log=implog.log parfile=obj1.DATsystem/sys@%1 log=implog.log parfile=obj1.DAT · Два файла user.sql и all_objct.sql, в которых содержится скрипт на создание схемы и объектов схемы. user.sqlTABLE Dina.tparams DROP STORAGE;USER Dina CASCADE;USER Dina IDENTIFIED BY "Dina"TABLESPACE TBSun4_TABLESTABLESPACE TBSun4_TEMPDEFAULT;ALTER ANY INDEX TO Dina;CREATE ANY TABLE TO Dina WITH ADMIN OPTION;drop ANY TABLE TO Dina WITH ADMIN OPTION;EXECUTE ANY PROCEDURE TO Dina WITH ADMIN OPTION;EXECUTE ANY TYPE TO Dina WITH ADMIN OPTION;QUERY REWRITE TO Dina WITH ADMIN OPTION;UNLIMITED TABLESPACE TO Dina WITH ADMIN OPTION;CONNECT TO Dina WITH ADMIN OPTION;RESOURCE TO Dina WITH ADMIN OPTION;USER Dina DEFAULT ROLE CONNECT,;SELECT ON SYS.V_$SESSION TO Dina;SELECT ON SYS.V_$TRANSACTION TO Dina;SELECT ON DBA_OBJECTS TO Dina;SELECT ON DBA_policies TO Dina;CREATE ANY VIEW TO UN4PUBLIC;DROP ANY VIEW TO UN4PUBLIC;EXECUTE ON SYS.DBMS_ALERT TO Dina;EXECUTE ON SYS.dbms_rls TO Dina;SELECT ON SYS.V_$LOCK TO Dina;ALTER SYSTEM TO Dina;GRANT SELECT ANY table TO Dina;EXP_FULL_DATABASE TO Dina;IMP_FULL_DATABASE TO Dina;EXECUTE ON SYS.DBMS_PIPE TO Dina;TABLESPACE TBSun4_TABLES coalesce;TABLESPACE TBSun4_TEMP coalesce;TABLESPACE TBSun4_SYSTABLES coalesce;TABLESPACE TBSun4_IND coalesce;TABLESPACE TBSun4_cm coalesce;TABLESPACE system coalesce;;
Скрипт all_objct.sql:OR REPLACE TYPE "UN$AFX$GRUPUZINT" AS OBJECT (GR3 NUMBER (10),NUMBER (1,3) ); /OR REPLACE TYPE "UN$SUMA" AS OBJECT (NUMBER(15,2),NUMBER(15,2),NUMBER(15,2),VARCHAR2(3) ); /OR REPLACE TYPE "UN$CM" AS OBJECT (CHAR(1),NUMBER(4),NUMBER(4),NUMBER(10),NUMBER(10),NUMBER(10),NUMBER(15),VARCHAR2(15),NUMBER(4),NUMBER,UN$SUMA ); /OR REPLACE TYPE "UN$FANEX" AS OBJECT (NUMBER(2),VARCHAR2(10),VARCHAR2(50),DATE ); /TYPE UN$PASAPORT AS OBJECT (VARCHAR2 (30),VARCHAR2 (30),VARCHAR2 (30),_NASTERII DATE,VARCHAR2 (25),VARCHAR2 (25),DATE,VARCHAR2 (100) ); /OR REPLACE TYPE "UN$PRICE" AS OBJECT (ID NUMBER(10),NUMBER(3),NUMBER(3,3) ); /OR REPLACE TYPE "UN$SRNRDT" AS OBJECT (SERIA VARCHAR2(10),VARCHAR2(50),DATE ); /OR REPLACE TYPE "UN$SZ$CONTRACTRES" AS OBJECT (db DATE,DATE,VARCHAR2(7),NUMBER(15,4) ); /OR REPLACE TYPE "UN$SZ$CONTRBRIG" AS OBJECT (brigid VARCHAR2(10),NUMBER (15,4) ); /OR REPLACE TYPE "UN$SZ$CONTRCAMPS" AS OBJECT (ID VARCHAR2(10), -- cod campuluiNUMBER (15,4), -- distantaVARCHAR2(20), -- denumirea camp_ha NUMBER (15,2), -- Suprafata contractata, ha_ha NUMBER (15,2), -- Suprafata reala, ha_ha NUMBER (15,2), -- Suprafata sfeclei de zahar contractata, ha_ha NUMBER (15,2), -- Suprafata sfeclei de zahar reala, haUN$SZ$contrActRes, cp02 UN$SZ$contrActRes, cp03 UN$SZ$contrActRes, cp04 UN$SZ$contrActRes, cp05 UN$SZ$contrActRes, cp06 UN$SZ$contrActRes, cp07 UN$SZ$contrActRes, cp08 UN$SZ$contrActRes, cp09 UN$SZ$contrActRes, cp10 UN$SZ$contrActRes,UN$SZ$contrActRes, cp12 UN$SZ$contrActRes, cp13 UN$SZ$contrActRes, cp14 UN$SZ$contrActRes, cp15 UN$SZ$contrActRes, cp16 UN$SZ$contrActRes, cp17 UN$SZ$contrActRes, cp18 UN$SZ$contrActRes, cp19 UN$SZ$contrActRes, cp20 UN$SZ$contrActRes,UN$SZ$contrActRes, cp22 UN$SZ$contrActRes, cp23 UN$SZ$contrActRes, cp24 UN$SZ$contrActRes, cp25 UN$SZ$contrActRes ); /OR REPLACE TYPE "UN$SZ$CONTRDIST"OBJECT (diststart NUMBER(10,2),NUMBER(10,2),NUMBER (15,4) ); /OR REPLACE TYPE "UN$SZ$SOFERS"OBJECT (Numele VARCHAR2(20),VARCHAR2(20),UN$PASAPORT ); /OR REPLACE TYPE "UNT$AFX$GRUPUZINT" AS TABLE OF UN$AFX$GRUPUZINT; /OR REPLACE TYPE "UNT$FANEX" AS TABLE OF UN$FANEX; /OR REPLACE TYPE "UNT$SZ$CONTRBRIG" AS TABLE OF UN$SZ$contrbrig; /OR REPLACE TYPE "UNT$SZ$CONTRCAMPS" AS TABLE OF UN$SZ$contrCamps; /OR REPLACE TYPE "UNT$SZ$CONTRDIST" AS TABLE OF UN$SZ$contrdist; /OR REPLACE TYPE "UNT$SZ$SOFERS" AS TABLE OF UN$SZ$SOFERs; /; · Файл запуска импорта run.bat1251 сервер новая схема старая схема(expdat.dmp) imp1 name_db schema schema rem Создаются все необходимые типы - all_objct.sql. 2) Начиная с версии Oracle 10.2, появилась возможность использования директории DATA_PUMP_DIR для резервного копирования данных. Стало возможным экспортировать не только данные, но и структуру схем, ее объекты, а также возможность сделать полный архив всей базы в один общий файл. И в дальнейшем развернуть из этого файла точную копию на новом сервере БД.
Пример:1251nls_lang=AMERICAN_RUSSIA.CL8MSWIN1251удаление *.log файлов *.dmp файлов из data_pump/Q C:\oracle\product\10.2.0\admin\cricova\dpdumpлогин/пароль@сервер скрипт очистки ZTEMPname_schema/name_schema@name_db @clearztemp логин/пароль@сервер название схемы лог файл *.dmp файл экспорта expdp 'sys/sys@name_db as sysdba' DIRECTORY=DATA_PUMP_DIR DUMPFILE=dmp_name.dmp LOGFILE=log_name SCHEMAS=name_schema'sys/sys@name_db as sysdba' DIRECTORY=DATA_PUMP_DIR DUMPFILE=expdat_un4pack.dmp LOGFILE=log_un4pack SCHEMAS=un4pack'sys/sys@name_db as sysdba' DIRECTORY=DATA_PUMP_DIR DUMPFILE=expdat_un4public.dmp LOGFILE=log_un4public SCHEMAS=un4public копирование *.dmp файлов откуда куда copy C:\oracle\product\10.2.0\admin\name_db\dpdump C:\Archive_dbудаление *.log файлов *.dmp файлов из data_pump/Q C:\oracle\product\10.2.0\admin\name_db\dpdump формирование архива путь сохранения архивов все *.dmp файлы все лог файлы путь к templates rar a -agddmmyy_HHMM C:\Archive_db\Back_up\arhiv_ *.dmp *.log C:\Shares\templates.ora удаление *.dmp файлов *.log файлов del *.dmp *.log
ЗАКЛЮЧЕНИЕ
В результате проделанной дипломной работы мною были получены хорошие теоретические и практические знания в области конфигурирования СУБД ORACLE, их производительности, управления и восстановления. Была проделана работа по установке и настройке СУБД, а также настройки введения архивации данных различными методами. За последние годы объем хранимой на серверах информации резко возрос, счет идет уже на сотни гигабайт даже в небольших компаниях. Одним из основных требований к ПО резервирования является поддержка не просто обычных стримеров, но обязательно библиотек. В противном случае, время резервирования станет совершенно неприемлемым для администратора. Системы резервирования должны комплектоваться средствами антивирусной защиты, либо такие средства должны присутствовать на всех узлах сети, подвергаемых резервированию. На ленты могут копироваться лишь данные, свободные от вирусов. Иначе все меры борьбы с неполадками могут оказаться бесполезны. Восстановление данных снова приведет к инициализации вируса. Среди других очевидных требований можно назвать наличие фильтров для копирования и восстановления данных, а также поддержку основных схем ротации лент. Выбор системы резервного копирования или архивирования далеко не прост. Он предполагает учет множества параметров, связанных как с составом имеющегося на предприятии компьютеров и программного обеспечения, так и с возможностями аппаратного обеспечения резервирования и затратами на эксплуатацию всего комплекса резервного копирования. Особое внимание необходимо уделить простоте и удобству восстановления не только серверов но и отдельных рабочих мест после аварий и сбоев. Учитывая, что системы управления базами данных являются ядром ИТ-инфраструктуры, их надежность и доступность имеют принципиальную важность для любого бизнеса. В моей дипломной работе я постарался описать ключевые, на мой взгляд, практические методы в области конфигурирования систем баз данных, их производительности, управления и восстановления, которые существенно повысят надежность и доступность баз данных, а также уменьшат для бизнеса эксплуатационные и административные расходы. Даже минимальное время простоя системы базы данных становится недопустимым для увеличивающегося числа компаний, кроме того, в связи с ростом мощности систем баз данных и расширением их функциональных возможностей, нагрузка на корпоративных АБД ростет экспоненциально. Надеюсь, что проделанная дипломная работа поможет устранить часть этой нагрузки и в то же самое время повысить эффективность их систем баз данных.
ЛИТЕРАТУРА
1. Скотт Урман, “Oracle8: Программирование на языке PL/SQL” 2. Кевин Луни, Марлен Терьо “Oracle8: Настольная книга администратора” 3. http://www.citforum.ru/database/oracle/prz/prosto.shtml#7 . Том Кайт «Oracle для профессионалов.» . Джонатан Генник «Oracle SQL*Plus. 6. http://www.sql-ex.ru/help/select0.php?Lang=0 7. “Oracle Database 10g: Simplify Your Job with Automatic Storage Management”https://www.oracleworld2003.com/published/40140 . T. Bednar. Database Backup and Recovery: Strategies and Best Practices. . S. Kumar. Server Manageability: DBA’s Mantra for a Good Night’s Sleep. . http://citforum.ru/database/oracle/oracleadm/
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|