1. Konfigurera Red Hat Enterprise Linux för Oracle10g
På denna sida ska vi konfigurera RHE Linux för Oracle10g.
2. Systemkrav: Parametrar
Nu ska vi kolla att systemparametrarna är satta till acceptabla värden. Man behöver bara skruva upp parametrar som är för lågt satta:
[olle@dev1]$ sysctl -a | grep shm
kernel.shmmni = 4096 (minst 4096)
kernel.shmall = 2097152 (minst 2097152)
kernel.shmmax = 33554432 (ska vara halva minnet i bytes)
[olle@dev1]$ sysctl -a | grep sem
kernel.sem = 250 32000 32 128 (ska vara 250,32000,100,128)
[olle@dev1]$ sysctl -a | grep rmem
net.core.rmem_default = 110592 (minst 262144)
net.core.rmem_max = 131071 (minst 262144)
[olle@dev1]$ sysctl -a | grep wmem
net.core.wmem_default = 110592 (minst 262144)
net.core.wmem_max = 131071 (minst 262144)
[olle@dev1]$ sysctl -a | grep file-max
fs.file-max = 102756 (minst 65536)
|
Vi ser att i mitt fall är några satta för lågt, detta kan man fixa genom att uppdatera filen /etc/sysctl.conf.
- "shmmax" står för "shared memory max" och bestämmer den maximala storleken på minnesblock som en enskild process får allokera. För att oracle ska ha mycket minne att spela med måste denna parameter skruvas upp till halva maskinens fysiska minne. OBS: På en maskin med en 32-bitarsprocessor så ska denna gräns ligga på max 2GB, eftersom adressrymden för ett sådant system är 4GB.
Vi kollar hur mycket minne som finns i denna maskin:
[olle@dev1]$ free
total used free shared buffers cached
Mem: 1035528 790548 244980 0 164584 144012
-/+ buffers/cache: 481952 553576
Swap: 2040244 136 2040108
|
Mitt minne är 1GB, men shmmax är satt till endast 33 MB. Jag bör alltså uppdatera "shmmax" till 500 MB för att få ut mer kräm ur min instans. Ok, nu är det dags att uppdatera filen /etc/sysctl.conf. Jag skriver över endast de parametrar som har för låga värden, vilket i mitt fall är:
kernel.shmmax = 530190366
kernel.sem = 250 32000 100 128
rmem_default = 262144
rmem_max = 262144
wmem_default = 262144
wmem_max = 262144
|
Nedan visas ett exempel på hur alla värden uppdateras:
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 530190366
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
rmem_default = 262144
rmem_max = 262144
wmem_default = 262144
wmem_max = 262144
|
3. Skapa användare
Vi vill installera och köra databasen som en speciell användare "oracle". Först skapar vi två grupper "oinstall" och "dba". Gör följandeöljande:
[olle@dev1]$ groupadd dba
[olle@dev1]$ groupadd oinstall
|
Nu kollar vi om användaren "oracle" finns, om inte så skapar vi den:
[olle@dev1]$ id oracle
id: oracle: No such user
[olle@dev1]$ useradd -g oinstall -G dba oracle
[olle@dev1]$ id oracle
uid=501(oracle) gid=504(oinstall) groups=504(oinstall),503(dba)
[olle@dev1]$ passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
|
"-g" betyder primär grupp, "-G" är sekundär grupp.
4. Konfigurera den nya användaren "oracle"
Kontrollera hur många öppna processer användaren "oracle" kan ha. Den "mjuka" gränsen ska vara minst 2047 och den "hårda" gränsen ska vara minst 16384. Vi kontrollerar den mjuka gränsen med:
[olle@dev1]$ su - oracle
[olle@dev1]$ ulimit -u
16378
|
Kontrollera hur många öppna filer användaren "oracle" kan ha. Den "mjuka" gränsen ska vara minst 1024 och den "hårda" gränsen ska vara minst 65536. Vi kontrollerar den mjuka gränsen med:
[olle@dev1]$ su - oracle
[olle@dev1]$ ulimit -n
1024
|
Eftersom vi inte ser den hårda gränsen sätter vi dessa värden för säkerhets skull. Det gör vi genom att editera filen /etc/security/limits.conf. Vi lägger till följande text:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
|
Nu bootar jag om för att se om värdena har uppdaterats. Vi testar igen:
[olle@dev1]$ su - oracle
[olle@dev1]$ ulimit -u
2047
[olle@dev1]$ ulimit -n
1024
|
Det verkar funka.
5. Skapa filstruktur för databasens mjukvara
Oracles Optimal Flexible Architecture rekommenderar att man skapar ett BASE DIRECTORY enligt följande starndard /mount_point/app/oracle_sw_owner. Jag väljer den typiska sökvägen /u01/app/oracle/ som basmapp. OBS: Även om du bara ska installera mjukvaran för Oracle under BASE DIRECTORY så måste det finnas 3 GB ledigt utrymme. Vi skapar mappen med:
[olle@dev1]$ mkdir -p /u01/app/oracle
[olle@dev1]$ chown oracle:oinstall /u01/app/oracle
|
Nu skapar vi "ORACLE INVENTORY DIRECTORY" enligt oracle_base/oraInventory. Denna mapp kommer att innehålla ett register över all Oraclemjukvara installerad på systemet:
[olle@dev1]$ cd /u01/app/oracle
[olle@dev1]$ su oracle
[olle@dev1]$ mkdir oraInventory
|
Nu skapar vi "ORACLE HOME DIRECTORY" enligt oracle_base/product/10.2.0/db_1. Denna mapp innehåller mjukvaran för denna version av databasen vi tänker installera:
[olle@dev1]$ cd /u01/app/oracle
[olle@dev1]$ su oracle
[olle@dev1]$ mkdir -p product/10.2.0/db_1
|
6. Uppdatera /home/oracle/.bash_profile
Vi sätter de nödvändiga miljövariablerna i /home/oracle/.bash_profile så att de alltid finns tillgängliga för användaren "oracle". Jag lägger till följande text sist i filen .bash_profile:
#(2006-06-01) Added for the Oracle10 installation
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
#(2006-06-01) end
|
För att .bash_profile ska köras kan du logga in igen som "oracle". Titta sedan på dina miljövariabler med kommandot "env":
[olle@dev1]$ su - oracle
[olle@dev1]$ env
|
7. Bestäm hur databasens data ska lagras
Ofta väljer man att lagra databasens data på en annan plats (helst en annan disk) än där själva mjukvaran installeras. Detta för att få högre parallellitet när det gäller att läsa och skriva till disk. Man måste också välja hur databasens data ska lagras:
- Filsystem: Datat lagras i vanliga filer i filsystemet.
- ASM: (Automatic Storage Management), ett alternativt filsystem som bara är tillgängligt för Oracle.
- RAW: Med raw lagrar du data direkt på disk utan något filsystem.
8. Nästa steg
Nästa steg:
Steg2: Installera mjukvaran .