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:
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 .