programmera.net -> oracledba -> normal     för utskrift      info@programmera.net

Steg1: Konfigurera Ubuntu Linux

1. Konfigurera för Ubuntu Linux
2. Systemkrav: Parametrar
3. Skapa användare
4. Konfigurera den nya användaren "oracle"
5. Skapa filstruktur för databasens mjukvara
6. Uppdatera /home/oracle/.bash_profile
7. UBUNTU Specifikt
8. Nästa steg

1. Konfigurera för Ubuntu Linux

På denna sida ska vi konfigurera 10g2 för Ubuntu Linux.

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 = 205323           (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:       2075836    1892408     183428          0      75524    1599956
-/+ buffers/cache:     216928    1858908
Swap:      4803392          0    4803392
Mitt minne är 2GB, men shmmax är satt till endast 33 MB. Jag bör alltså uppdatera "shmmax" till 1000 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 = 1060380732
kernel.sem = 250 32000 100 128
rmem_default = 262144
rmem_max = 262144
wmem_default = 262144
wmem_max = 262144
Efter omstart ser vi följande:
[olle@dev1]$ sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 1060380732
Här ser vi att inställninge slog igenom. Nedan visas ett exempel på hur alla värden uppdateras (om det skulle behövas på din plattform):

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
I Ubuntu tycker jag det är lättare att skapa användar i via System -> Administration -> Användare och Grupper . Då skapas HOME-katalogen automatiskt. Vi klickar på "Lägg till användare" och fyller i enligt nedan:



Glöm inte att välja "oinstall" som 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
unlimited
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 för antal filer sätter vi det värdet 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    nofile  1024
oracle               hard    nofile  65536

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. UBUNTU Specifikt

För att installationen ska fungera så bra som möjligt på Ubuntu skapar vi följande länkar:
[olle@dev1]$ sudo ln -s /usr/bin/awk /bin/awk
[olle@dev1]$ sudo ln -s /bin/true /bin/rpm
[olle@dev1]$ sudo ln -s /usr/bin/basename /bin/basename
[olle@dev1]$ sudo ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
Först som root:
[root@dev1]# xhost +
Dessutom måste man sätta DISPLAY-parametern till den IP-adress din dator har:
[olle@dev1]$ export DISPLAY=192.168.1.128:0.0
Om inte detta funkar kan du sätta den till ingenting:
[olle@dev1]$ export DISPLAY=":0.0"

8. Nästa steg

Nästa steg:  Steg2: Installera mjukvaran .