Невидимата база
description
Transcript of Невидимата база
Невидимата база
Стоян Иванов
Семантек България ООД
Вграждане на базата от данни в приложението
• По-лесна, безпроблемна и бърза инсталация
• По-лесна настройка на конфигурацията
• По-ниска цена
• По-добър контрол върху това, което се прави в базата от данни
Основни подготвителни стъпки
• Инсталиране на Оракълския софтуер• Patch-ване• Създаване на база• Patch-ване на базата• Инсталиране на потебителските схеми
в базата• Създаване на темплейт на базата• ZIP-ване на софтуера в дистрибутива
Основни инсталационни стъпки
• UNZIP-ване на софуера
• Регистриране на софтуера в регистъра, създаване на обкръжение
• Създаване на база от данни от темплейта
• Конфигуриране на SQL Net
• Настройване на параметрите на базата в съответствие с обкръжението
Подготовка на инсталационния пакет
Инсталиране на софтуера
• Използва се стандартния Оракълски инсталатор
• Инсталират се само продуктите които ви трябват
• Може да се инсталират няколко ORACLE_HOME
• Конфигурират се неща като портове на SQL Net и Apache, J2EE конфигурации и други
Patch-ване на софтуера
• Позволява инсталиране на точната версия на Оракълския софтуер, която е необходима за програмата
• Премахва необходимостта patch-ването да се прави по време на инсталацията на основната програма
Създаване на база
• Създава се със DBCA, като се избира правилния character set
• Инсталират се опциите, които са необходими за работата на програмата
• Не се инсталират примерните потребители
Patch-ване на базата
• Стандартните patchset-ове не доставят patch-нати темплейти
• Преди patch-ването софтуера и базата могат да с различни версии и някои функционалности не работят правилно
Инсталиране на потребителските схеми
• Създават се всички необходими потребители
• Слага се стандартна парола на всички потребители, включително и системните SYS и SYSTEM
• Създават се всякакви необходими синоними и се раздават необходимите права
Създаване на темплейт
Създаване на темплейт
Създаване на темплейт
Създаване на темплейт
Създаване на темплейт
Създаване на темплейт
Създаване на темплейт
• Директория <OH>\assistants\dbca\templates
• Редактиране на DBC файла
• Премахване на стандартните темплейти
Архивиране на софтуера в дистрибутива
• Спиране на всички сървиси
• Архивиране на всички необходими ORACLE_HOME-ове (ZIP, RAR, tar, cpio)
• Добавяне към останалата част от инсталацията
Инсталиране
Разархивиране на софтуера
• Най-добре е един общ път и в него поддиректории за различните ORACLE_HOME-ове
• Осигуряване наличността на средството за копиране или разархивиране
Регистриране на софтуера
• <OH>/oui/bin/setup.exe
• <OH>/oui/bin/runInstaller
• Последователно стартиране за всеки ORACLE_HOME
Опции на OUI
• -ignoreSysPrereqs
• -force
• -silent
• -waitforcompletion
• -nobackground
• -noconsole
• -nowait
Опции на OUI
• -nontw32FoldersActions
• -clone
• ORACLE_HOME
• ORACLE_HOME_NAME
Пример
C:\PRODUCT_HOME\DB\oui\bin\setup.exe
–ignoreSysPrereqs –force –silent
–waitforcompletion –nobackground
–noconsole –nowait
-nontw32FoldersActions –clone
ORACLE_HOME=“C:\PRODUCT_HOME\DB”
ORACLE_HOME_NAME=PRODUCT_DB
Създаване на база от данни
• Database Configuration Assistant (DBCA)
• Clone template
Параметри на DBCA
• -silent
• -progressOnly
• -continueOnNonFatalErrors
• -completionDialog
• -createDatabase
Опции на createDatabase
• -templateName
• -gdbName
• -sid
• -sysPassword
• -systemPassword
• -datafileDestination
• -datafileJarLocation
Пример
<OH>\bin\dbca.bat –progressOnly-completionDialog "false“-continueOnNonFatalErrors "true“-createDatabase-templateName "SPI.dbc“-gdbname "TEST" -sid "TEST“-sysPassword “njakakva“-systemPassword "kvoto-takova“-datafileDestination <DBPATH>
Конфигуриране на SQL Net
• Почти никаква документация
• Бедни примерни response files
• Не работи винаги, не връща грешки
• Най-добрия начин е да се създадат правилните SQLNET.ORA, TNSNAMES.ORA и LISTENER.ORA и да се стартира LISTENER-а
Настройка на базата
• Взема предвид параметрите на системата
• Позволява финна настройка, така че да се постигне максимална продуктивност
• Позволява максимална независимост
Примерен скриптPROCEDURE SET_ENVIRONMENT ( v_RAM_SIZE IN VARCHAR2) IS PROCEDURE SET_PARAMETER (v_parameter VARCHAR2, v_value VARCHAR2) IS BEGIN execute immediate 'alter system set ‘ || v_parameter || ‘=‘ || v_value || ‘ scope=spfile'; END;BEGIN CASE v_RAM_SIZE when '256M' then begin SET_PARAMETER (‘sga_max_size’, ‘102400000‘); SET_PARAMETER (‘sga_target’, ’102400000’); SET_PARAMETER (‘pga_aggregate_target’, ‘51200000’); SET_PARAMETER (‘processes’, ‘150’); SET_PARAMETER (‘open_cursors’, ‘300’); SET_PARAMETER (‘db_file_multiblock_read_count’, ’16’); SET_PARAMETER (‘job_queue_processes’, ’10’); end; when '512M' then...
Tablespaces
• Locally managed– CREATE TABLESPACE autotbsp EXTENT MANAGEMENT
LOCAL AUTOALLOCATE; – CREATE TABLESPACE uniformtbsp EXTENT MANAGEMENT
LOCAL UNIFORM SIZE 1M;
• Automatic Segment Space Management – CREATE TABLESPACE assm_tbsp EXTENT MANAGEMENT
LOCAL UNIFORM SIZE 2M SEGMENT SPACE MANAGEMENT AUTO;
Automatic Memory Tuning
• PGA_AGGREGATE_TARGET Metalink Note 223730.1 предлага заявка за
проверка дали PGA e твърде малко и резултира в заемане на temp segments
SELECT to_number(decode(SID, 65535, NULL, SID)) sid, operation_type OPERATION, trunc(EXPECTED_SIZE/1024) ESIZE, trunc(ACTUAL_MEM_USED/1024) MEM, trunc(MAX_MEM_USED/1024) "MAX MEM", NUMBER_PASSES PASS, trunc(TEMPSEG_SIZE/1024) TSIZE FROM V$SQL_WORKAREA_ACTIVE ORDER BY 1,2;
Automatic Memory Tuning
• В Oracle 10gSELECT PGA_TARGET_FOR_ESTIMATE target, PGA_TARGET_FACTOR factor, ESTD_EXTRA_BYTES_RW extra_io, ESTD_PGA_CACHE_HIT_PERCENTAGE cache_hit, ESTD_OVERALLOC_COUNT overalloc
from v$pga_target_advice;
Automatic Memory Tuning
• SGA_TARGET– V$SGA_DYNAMIC_COMPONENTS
Текуща, минимална и максимална стойност на всеки компонент и последната промяна
– V$SGA_RESIZE_OPSИстория на всички промени от последното
стартиране на базата
Automatic Memory Tuning
• Нощна работаALTER SYSTEM SET SHARED_POOL_SIZE = 1000M;
ALTER SYSTEM SET DB_CACHE_SIZE = 1500M;
• Дневна работаALTER SYSTEM SET SHARED_POOL_SIZE = 1500M;
ALTER SYSTEM SET DB_CACHE_SIZE = 1000M;
Q & A