380 likes | 630 Views
Невидимата база. Стоян Иванов Семантек България ООД. Вграждане на базата от данни в приложението. По-лесна, безпроблемна и бърза инсталация По-лесна настройка на конфигурацията По-ниска цена По-добър контрол върху това, което се прави в базата от данни. Основни подготвителни стъпки.
E N D
Невидимата база Стоян Иванов Семантек България ООД
Вграждане на базата от данни в приложението • По-лесна, безпроблемна и бърза инсталация • По-лесна настройка на конфигурацията • По-ниска цена • По-добър контрол върху това, което се прави в базата от данни
Основни подготвителни стъпки • Инсталиране на Оракълския софтуер • Patch-ване • Създаване на база • Patch-ване на базата • Инсталиране на потебителските схеми в базата • Създаване на темплейт на базата • ZIP-ване на софтуера в дистрибутива
Основни инсталационни стъпки • UNZIP-ване на софуера • Регистриране на софтуера в регистъра, създаване на обкръжение • Създаване на база от данни от темплейта • Конфигуриране на SQL Net • Настройване на параметрите на базата в съответствие с обкръжението
Инсталиране на софтуера • Използва се стандартния Оракълски инсталатор • Инсталират се само продуктите които ви трябват • Може да се инсталират няколко ORACLE_HOME • Конфигурират се неща като портове на SQL Net и Apache, J2EE конфигурации и други
Patch-ване на софтуера • Позволява инсталиране на точната версия на Оракълския софтуер, която е необходима за програмата • Премахва необходимостта patch-ването да се прави по време на инсталацията на основната програма
Създаване на база • Създава се със DBCA, като се избира правилния characterset • Инсталират се опциите, които са необходими за работата на програмата • Не се инсталират примерните потребители
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 CASEv_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 10g SELECT 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;