ot Qvor Ivanov(8-03-2004)
reiting (11)
[ dobre ]
[ zle ]
Variant za otpechatvane
Instalatsiia na Oracle 10g pod
Linux x86
V nachaloto iskam da predupredia, che tova ne e
rukovodstvo za instalirane na Production sistema. Poznaniiata mi v
oblastta na Linux ne sa tolkova dulboki, kolkoto mi se iska. Za tova,
ako sum napravil neshto, koeto ne mozhe da si pozvoli edin Linux guru –
molia za izvinenie.
Iskam da blagodaria i na Geroy, koito mi
okaza beztsenna pomosht. To e moia lichen Linux guru
Oracle e utvurdena sistema za upravlenie na
bazi ot danni. Vupreki napreduka na bezplatnite open-source SUBD kato
MySQL i PostgeSQL, vse oshte za seriozna rabota triabva seriozna BD.
Novata versiia Oracle 10g durzhi rekorda za proizvoditelnost – 1 184 893
tranzaktsii v minuta (tpmC) vurhu HP Integrity rx5670 Cluster 64P s OS
Red Hat Enterprise Linux AS 3
(http://www.tpc.org/tpcc/results/tpcc_perf_results.asp). Oracle dava
zhivot i na nai-goliamata biznes BD za 2003 g. – 29 232 GB danni na
France Telecom (http://www.wintercorp.com/vldb/ 2003_TopTen_Survey
/TopTenWinners.asp). Pri tova vseki mozhe da si svali funktsionalno
neogranicheno kopie na poslednata versiia na Oracle softuera
(http://otn.oracle.com/software/products/database/oracle10g/index.html),
ako e suglasen sus usloviiata. Eto chast ot tiah:
”License Rights
We grant you a nonexclusive, nontransferable limited license to use the
programs only for the purpose of developing a single prototype of your
application, and not for any other purpose...”
Ako tova predizvikva vuv vas niakakuv gudel,
zapretvaite rukavi i da zapochvame.
Instalatsiiata na Oracle 10g for Linux x86 e znachitelno oprostena ot tazi
na predishnite versii. Tova pozvoli na men, chovek, koito suvsem ne e „na
vutre” s administriraneto na Linux, da se spravia s pomoshtta na Oracle
Database Installation Guide for UNIX Systems
(http://download.oracle.com/docs/pdf/B10811_01.pdf).
Da zapretvame rukavi. Testovata instalatsiia
napravih na Compaq Prolinat ML 350 G3 survur sus protsesor Intel Xeon
2.8 GHz, 512 MB RAM i 3 x 36 GB SCSI diska. Spored Oracle se poddurzha
vseki harduer, na koito se poddurzha Red Hat AS. Instalirah go na Red
Hat Advanced Server 2.1 (chist, bez fiksove). Spored Oracle se poddurzha
samo Red Hat Advanced Server 2.1 i 3 i SuSE SLES8. Vupreki tova chuh, che
ima i uspeshni instalatsii na vurhu Fedora.
1.
Podgotovka na OS
V Installation Guide sa opisani niakoi
neobhodimi paketi i tehnite versii. Eto s kakvi instalirah az:
# rpm –q make
make-3.79.1-8
# rpm –q bunutils
bunutils-2.11.90.0.8-12
# rpm –q gcc
gcc-2.96-108.1
# rpm –q openmotif
openmotif-2.1.30-11
Neobhodimi sa i slednite fiksove za RH AS
2.1:
RHSA-2003:195-06
Updated kernel addresses security vulnerabilities
RHSA-2003:022-09
Updated glibc packages fix vulnerabilities in resolver
Nalichieto im e silno preporuchitelno, osobeno
za production databases, no ne i zadulzhitelno. Az ne sum gi slagal,
t.k. instalirah testov survur. Za da proverite dali e instaliran update
RHSA-2003:195-06 napishete:
# uname -r
2.4.9-e.25
Pri men rezultata e
2.4.9-e.3smp
Krupkata mozhe da se iztegli ot
https://rhn.redhat.com/errata/RHSA-2003-195.html
Za da proverite dali e instaliran update
RHSA-2003:022-09:
# rpm -q glibc
glibc-2.2.4-31
Pri men rezultata e
glibc-2.2.4-26
Krupkata mozhe da se iztegli ot
https://rhn.redhat.com/errata/RHSA-2003-022.html
2.
Suzdavane na neobhodimite grupi i potrebiteli
Za instalatsiia sa neobhodimi grupite dba
(grupata na administratorite na bazata) i oinstall (neobhodima samo za
instalatsiiata). Kum tezi grupi triabva da prinadlezhi potrebitelia oracle,
ot koito se startira instalatsiiata. Neobhodimo e i da ima potrebitel
nobody.
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
Za da proverim dali potrebitelia e korektno
suzdaden mozhe da polzvame id:
# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
Za da proverim dali ima potrebitel nobody:
# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
3.
Nastroiki na parametrite na Kernel
Oracle e sistema s
iziskvaniia i kum kernel parametrite. Eto iziskvaniiata, spored
installation guide:
Parametur Stoinost Fail
semmsl 250 /proc/sys/kernel/sem
semmns 32000 /proc/sys/kernel/sem
semopm 100 /proc/sys/kernel/sem
semmni 128 /proc/sys/kernel/sem
shmall 2097152 /proc/sys/kernel/shmall
shmmax (physical memory)/2 /proc/sys/kernel/shmmax
shmmni 4096 /proc/sys/kernel/shmmni
file-max 65536 /proc/sys/fs/file-max
ip_local_port_range 1024 65000 /proc/sys/net/ipv4/ip_local_port_range
Nastroikite, neobhodimi pri men,
biaha:
echo "250 32000 100 128" > /proc/sys/kernel/sem
echo "65536" > /proc/sys/fs/file-max
echo “1024 65000” > /proc/sys/net/ipv4/ip_local_port_range
echo “262266880” > /proc/sys/kernel/shmmax
4. Posledni stupki predi
instalatsiiata
Ostava da napravim neobhodimite direktorii i
da razopakovame arhiva. Az instalirah vsichko na edin SCSI disk,
montiran v /u01. Tova ne e nai-dobroto reshenie, no vsushtnost za
nai-dobroto reshenie sa neobhodimi pone 20 diska (-:
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle
Kopirame instalatsiiata ot cd-to...
# mount /dev/cdrom /mnt/cdrom
# cd /u01
# cp /mnt/cdrom/ship.db.cpio.gz .
# umount /dev/cdrom
... i ia razarhivirame
# gunzip ship.db.cpio.gz
# cpio –idmv
Instalatsiiata se izsipva vuv direktoriia Disk1.
Triabva da nastroim i obkruzhenieto na
potrebitelia oracle predi da pusnem samata instalatsiia. Zadavat se bazova
direktoriia za vsichki Oracle instalatsii (ORACLE_BASE), direktoriia za
instalatsiia na nastoiashtiia produkt (ORACLE_HOME) i ime na BD, koiato shte
suzdadem po-kusno (ORACLE_SID). Za tselta redaktirah faila .bash_profile
ot /home/oracle, kato mu dobavih slednite redove:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.1.0.2
export ORACLE_SID=TEST10G
Bazovite direktoriia triabva da bude edna za
vsichki instalirani na kompyutura Oracle produkti. Razlichni versii
(primerno 9i i 10g) mogat da suzhitelstvat bezproblemno, pri uslovie, che
sa v edin obsht oracle_base i razlichni oracle_home.
Osven tova triabva da se dobavi i
$ORACLE_HOME/bin kum putia. Tova postignah kato promenih reda, ukazvasht
path na
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
5. Instalatsiia na softuera
Instalatsiiata e grafichna, pod Java. V
predishnite versii (Oracle 9i i po-niski) triabvashe da se iztegli
spetsialna versiia na jvm. V 10g veche instalatora se opravia sam. No
triabva da se startira pod X, i to kato potrebitel oracle
$ startx
Startira se Konsole (ili konzolata na Gnome,
ili druga konzola pod X) i se startira samiia instalator
$ cd /u01/Disk1
$ ./runInstaller
Purvo izliza Welcome screen. Sledvashtiiat ekran
ni pita kude da slozhi Inventory. Priema se stoinostta po podrazbirane,
ako niama predishna instalatsiia na niakakuv oracle softuer. Pri natiskane
na Next izkacha popup screen, koito ni kazva da pusnem skripta
orainstRoot.sh kato root.
Za tselta se puska druga konzola:
$ su –
# cd /u01/app/oracle/oraInventory/
# ./orainstRoot.sh
Bez da zatvariame konzolata nastiskame
continue na popup screen-a. Sled tova priemame file locations. Tova e
direktoriiata, v koiato da se instalira softuera. Ne e zadulzhitelno sled
tova da se slagat i failovete s danni v neia.
Na sledvashtiiat ekran izbirame tip na
instalatsiia. Az izbrah Enterprise edition, kato nai-pulna s blaginki.
Pri natiskane na Next instalatora proveriava OS. Ako ne e instalirana
krupkata za iadro 2.4.9-e.25 izdava preduprezhdenie. Natiskame next i
potvurzhdavame s Yes
Na sledvashtiiat ekran triabva da izberem kakva
BD da suzdade instalatora. Izbirame Do not create starter database. Ako
instalatsiiata e uspeshna, posle shte startirame Database Configuration
Assistant.
Stigame do zavetniiat buton Install. Sled
natiskaneto mu, pri predishnite versii zapochvashe istinskata muka po
popraviane na make failove. CHest za Oracle e, che nastoiashtata instalatsiia
ne grumva nito vednuzh (pri pravilno konfigurirana OS)
Ako vse pak grumne na 71% za
ins_net_client.mk znachi ne e instaliran gcc. Sled instalatsiia na gcc
produlzhavame s retry.
Na kraia na instalatsiiata izliza popup, koito
ni podkanva (otnovo kato root) da startirame
/u01/app/oracle/product/10.1.0.2/root.sh. Startirame go v konzolata, v
koiato sme root. Na vuprosa kude e lokalnata bin direktoriia natiskame
enter. Sled kato priklyuchi skripta (otnema mu okolo minuta-dve)
potvurzhdavame s OK na instalatora.
Izlizame s Exit.
6. Suzdavane na BD
Sled kato imame veche instaliran softuer,
triabva i da go vpregnem v deistvi. Za tselta triabva da suzdadem BD,
koiato da upravliava. Sredstvoto, predostaveno ni za tazi tsel e Database
Configuration Assistant i raboti pod X (spomenah li, che Java e lyubima
sreda na Oracle?). Ot Konsole startirame:
$ dbca
Ako ne trugne, znachi niama ukazan put kum
$ORACLE_HOME/bin
Na Welcome ekrana natiskame next. Sled tova
triabva da izberem s kakvo sme se zahvanali. Izbirame “Create a
Database”.
Na sledvashtiiat ekran predstoi da izberem tipa
na BD, koiato shte suzdavame. Transaction Processing (ili OLTP) e baza, v
koiato shte ima mnogo potrebiteli s malki tranzaktsii, koito postoianno shte
promeniat dannite. Data Warehouse e BD, koiato izpulniava predimno golemi
po obem i malko na broi zaiavki, koito sa glavno read-only. General
purpose e opit da se nameri kompromis mezhdu dvata tipa. Ot izbora tuk
zavisi kak shte bude razpredelena posle pametta, kakto i drugi parametri
na BD. Az preporuchvam Custom database.
Sled tova triabva da vuvedem Global Database
Name i SID za novata baza. SID triabva da e unikalno za survura –
primerno TEST10G. Imeto triabva da e ukazano i v promenlivata na
obkruzhenieto ORACLE_SID (zadadeno v .bash_profile). Global name se
sustoi ot SID i domein, primerno TEST10G.us.acme.com (standartno
sravnenieJ). Az izbiram
Global name -> TEST10G.WORLD
SID -> TEST10G
Sled tova triabva da zadadem niakoi nastroiki
po upravlenieto na BD. Silno preporuchitelno e da izberem “Configure the
Database with Enterprise Manager”. Edna Oracle BD mozhe da se upravliava
i chrez prosta tekstova konzola, no Enterprise Manager e goliamo
ulesnenie.
Sledvashtiiat ekran ni predlaga da zadadem
paroli na niakoi ot potrebitelite na BD. Nai-vazhnite sa SYS i SYSTEM.
Potrebiteliat s nai-mnogo prava e SYS. Toi edinstven mozhe da startira i
spira BD. SYSTEM e drug silen potrebitel, s koito obiknoveno raboti
administratora na BD.
Sledvashtiiat vazhen izbor e kak shte se
suhraniavat failovete s danni. Nai lesnoto reshenie e da se zapishat kato
failove na failova sistema. Nai-trudniia (za suzdavane i za poddruzhka) e
Raw devices. Toi se izpolzva samo ako se izgrazhda kluster (RAC). ASM e
nova tehnologiia, vuvedena v 10g i kato takava ne bih ia izpolzvam pone
do vtoriia patchset J. Za tova izbiram filesystem.
Na ekrana Database File Locations izbiram
“Use Common Location for All Database Files” i ukazvam /u01/app/oracle.
Tova oznachava, che samite failove s danni shte se suzdadat v
/u01/app/oracle/TEST10G
Osmata stupka ot wizard-a predlaga izbor na
Flash recovery area (neobhodima e ako se pravi backup). Devetata ni
dava izbor kakvo da vklyuchim v bazata, koiato predstoi da se suzdade. V
desetata ima razni fini nastroiki ,koito sa opisani v dokumentatsiiata.
Na sledvashtiiat ekran mozhe da promenim razmera
ili miastoto na failovete na BD. Sled tova samo potvurzhdavame, che iskame
da suzdadem baza, zarezhdame se s turpenie i natiskame Finish.
7. Dopulnitelni nastroiki
Za da dostigame bazata e neobhodimo da se
napraviat oshte niakolko nastroiki.
1. Nastroika na Listener
Listener e uslugata, koiato priema zaiavkite za vruzka kum BD ot
klientite. Za da go podkarame mozhem da izpolzvame Oracle Net Manager
(otnovo napisan na Java instrument, rabotesht samo pod X):
$ netmgr
Drugiiat (i preprochitan ot men) variant e da
redaktirame faila $ORACLE_HOME/network/admin/listener.ora. Eto edna
primerna nastroika:
# File: /u01/app/oracle/product/10.1.0.2/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = TEST10G.world)
(ORACLE_HOME =
/u01/app/oracle/product/10.1.0.2)
(SID_NAME = TEST10G)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.1.38)(PORT = 1521))
)
V purvata sektsiia se opisvat bazite, koito
obsluzhva listener-a. Vtorata sektsiia opisva adresa i porta na koito da
„slusha”. Sled kato nastroim tozi fail triabva da startirame samiia
listener. Tova stava s komandata
$ lsnrctl start
2. Nastroika na TNSNames
Faila $ORACLE_HOME/network/admin/tnsnames.ora opisva bazite s koito shte
rabotim (kato klient). Tozi fail se izpolzva ot oracle klienta, koito
shte startirame. Faila mozhe da se generira s Oracle Net Manager, a mozhe
da se napishe i ruchno:
# File: /u01/app/oracle/product/10.1.0.2/network/admin/tnsnames.ora
TEST10G.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.1.38)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TEST10G.world)
)
)
Vazhno e tuk da zadadem adresa i porta, na
koito raboti listener i SERVICE_NAME, koito e opisan v listener.ora
kato GLOBAL_DBNAME.
Sled tezi nastroiki mozhem uspeshno
3. Da podkarame vsichko
Kato star Windows potrebitel smiatam momenta za podhodiasht za restart.
Sled tova vsichko se startira v sledniia red.
- startirame Listener
$ lsnrctl start
- startirame instantsiia na BD
$ sqlplus /nolog
SQL> connect sys@test10g.world as sysdba
SQL> startup
SQL> exit
- startirame uslugata Enterprise Manager
$ emctl start dbconsole
Veche mozhem da upravliavame bazata ot
http://localhost:5500/em
Qvor Ivanov
Molia ne se pritesniavaite da izprashtate mneniia,
preporuki i vuprosi na
yivanov@abv.bg
<< Naruchnik za izpolzvane na GnuPG (CHast I) | Da pogovorim otnovo za Samba >>
|