** 1, ** ** Uncompress and unpack downloaded files **
One step procedure (uses less disk space and is faster):zcat lnx_920_disk1.cpio.gz | cpio -idmvzcat lnx_920_disk2.cpio.gz | cpio -idmvzcat lnx_920_disk3.cpio.gz | cpio -idmv
Two step procedure:# Uncompressgunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz Linux9i_Disk3.cpio.gz# Unpack the downloaded files:cpio -idmv < lnx_920_disk1.cpiocpio -idmv < lnx_920_disk2.cpiocpio -idmv < lnx_920_disk3.cpio
Now you should have 3 directories containing installation files:Disk1Disk2Disk3
** 2, ** ** Swap space **
In order to perform a typical Oracle 9i installation and to create a simple prototype database, Oracle says that you need a minimum of 512MB of RAM for the Oracle9i (9.0.1) Server, and the amount of disk space (swap space) should be equal to twice the amount of RAM or at least 400 MB, whichever is greater.
Check your memory by executing:
g rep MemTotal /proc/meminfo
Check swap space by executing:cat /proc/swaps or swapon –s
You can also add temporary swap space by creating a temporary swap file instead of using a raw device. Here is the procedure:
_ As root: _dd if=/dev/zero of=tmpswap bs=1k count=900000chmod 600 tmpswapmkswap tmpswapswapon tmpswap
To disable the temporary swap space execute the following commands:
_ As root: _swapoff tmpswaprm tmpswap
** 3, ** ** Shared Memory ** ** **
I increased the shmmax setting for the kernel by executing the following command:
_ As root: _# cat /proc/sys/kernel/shmmax33554432# echoexpr 1024 * 1024 * 1024> /proc/sys/kernel/shmmax
It is recommended to increase the shmmax setting permanently for Oracle. So if you want to increase the maximum shared memory size permanently, add the following line to the /etc/sysctl.conf file:kernel.shmmax=1073741824
** 4 ** ** , ** ** /tmp Space **
The Oracle Universal Installer requires up to 400 MB of free space in the /tmp directory. If you do not have enough space in the /tmp directory, you can temporarily create a tmp directory in another filesystem. Here is how you can do this:
_ As root: _
` mkdir /
1<anotherfilesystem>/tmp `
2` chown root.root /<anotherfilesystem>/tmp `
3` chmod 1777 /<anotherfilesystem>/tmp `
4` export TEMP=/<anotherfilesystem>/tmp ` ` ` ` # used by Oracle `
5` export TMPDIR=/<anotherfilesystem>/tmp ` ` ` ` # used by Linux programs like the linker "ld" `
6
7When you are done with your Oracle installation, shutdown Oracle and remove the temporary directory:
8` rmdir /<anotherfilesystem>/tmp `
9` unset TEMP `
10` unset TMPDIR `
11
12** 5 ** ** , ** ** Oracle Disk Space ** ** **
13
14You will need about 2.5 GB for the database software. If you perform a typical database installation and not a customized database installation, then you will need about 3.5 GB of disk space.
15
16** 6 ** ** , ** ** "binutils" Issue (if you fond following error ) **
17
18** Q: ** ` "Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk" `
19
20** A: ** ** ** This obviates the need to change binutils
21
22download the following ` binutil ` RPM version and downgrade ` binutil ` on the Oracle server:
23ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm
24_As root:_
25` rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm `
26When you are done with the Oracle installation, you upgrade your ` binutil ` RPM back to the version you had before you downgraded:
27_E.g. on a Red Hat 7.2 server:_
28` rpm -Uvh --force --nodeps binutils-2.11.90.0.8-9.i386.rpm `
29
30` ** 7 ** ` ` ** , ** ` ** Development Packages (RPMs) **
31
32You will need the following RPM development packages for the Oracle installer to compile the Oracle modules etc.:
33` gcc `
34` cpp `
35` glibc-devel `
36` compat-libstdc++ `
37` kernel-headers (on RH 7.1, 7.2, 2.1AS) `
38` glibc-kernheaders (on RH 7.3, 8.0) `
39` binutils `
40
41Otherwise you'll get an error message like:
42` Error in invoking target ntcontab.o of makefile /opt/oracle/product/9.2.0/network/lib/ins_net_client.mk `
43
44To find out if you have these development packages installed, execute the following command:
45` # rpm -q gcc cpp glibc-devel kernel-headers binutils `
46
47` ** 8 ** ` ` ** , ** ` ** JDK **
48
49I successfully installed Oracle9iR2 without installing JDK on the system.Oracle comes now with its own Java. This means that you don't have to follow these steps which were required for older Oracle versions:
50
51Download JDK 1.3.1 or Blackdown 1.1.8_v3: (I usually used Blackdown)
52http://www.blackdown.org
53http://java.sun.com
54
55According to JDK documentation, install JDK under ` /usr/local ` .
56Then create a symbolic link to the JDK under ` /usr/local/java ` :
57
58_ _ _ As root: _
59` ` ` bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local `
60` ` ` ln -s /usr/local/jdk118_v3 /usr/local/java `
61
62` ** 9 ** ` ` ** , ** ` ** Create Oracle User Accounts ** ** **
63
64_ As root: _
65
66` groupadd dba `
67` groupadd oinstall `
68` useradd -g oinstall -G dba oracle `
69` passwd oracle `
70
71Oinstall is not needed when the same people will be maintaining the software and the database. In this situation, it will create more work and add an extra layer of complexity to the maintenance of the installation.
72
73Recommendation: if you don't need the oinstall group for added security,
74just install using the dba group.
75
76** 10 ** ** , ** ** Create Oracle Directories ** ** **
77
78In this example, make sure that the ` /opt ` filesystem is large enough. If ` /opt ` is not on a separate filesystem, then make sure the root filesystem " ` / ` " has enough space.
79
80_ As root: _
81
82` mkdir /opt/oracle `
83` mkdir /opt/oracle/product `
84` mkdir /opt/oracle/product/9.2.0 `
85` chown -R oracle.oinstall /opt/oracle `
86
87` mkdir /var/opt/oracle `
88` chown oracle.dba /var/opt/oracle `
89` chmod 755 /var/opt/oracle `
90
91** 11 ** ** , ** ** Set Oracle Environments ** ** **
92
93Set the following Oracle environment variables before you start ` runInstaller ` .
94
95As the oracle user execute the following commands:
96
97` # Oracle Environment `
98` export ORACLE_BASE=/opt/oracle `
99` export ORACLE_HOME=/opt/oracle/product/9.2.0 `
100` export ORACLE_SID=test `
101` export ORACLE_TERM=xterm `
102` #export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin `
103` export NLS_LANG=AMERICAN #export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;(if you use Chinese) `
104` export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data `
105` LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib `
106` LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib `
107` export LD_LIBRARY_PATH `
108
109` # Set shell search paths `
110` export PATH=$PATH:$ORACLE_HOME/bin `
111
112` # **I successfully installed Oracle9iR2 WITHOUT setting the following CLASSPATH environment variable:** `
113` CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib `
114` CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib `
115` export CLASSPATH `
116
117` export TMPDIR=/tmp `
118
119You can put these environment settings at the end of the ` ~oracle/.bash_profile ` file if you use ` bash ` .
120
121** 12 ** ** , ** ** Start runInstaller **
122
123Oracle no longer supports a character mode installer. Therefore, in order to execute ` runInstaller ` directly from a console of a machine you are logged into (in this example the node name where Oracle is running is called " ` ** oracleserver ** ` ` " ` ), you need to set the ` DISPLAY ` environment variable.
124
125From the console of your Oracle server " ` oracleserver ` " you are logged into, execute the following command as user " ` oracle ` ":
126` ** oracleserver ** ` ` :oracle$ export DISPLAY=yourlocalIP:0.0 `
127
128` ** 13 ** ` ` ** , ** ` ** Running Oracle Installation **
129
130** ** This is how I answered the questions in the ` runInstaller ` :
131
132What would you like as the base directory (Inventory Location):
133` /opt/oracle/oraInventory `
134
135UNIX Group Name (permission for updating Oracle software):
136` oinstall `
137_ You could also use "dba" which I do not recommend for security reasons.( **refer to step 9** ) _
138
139Full path name for Oracle Home:
140` /opt/oracle/product/9.2.0 `
141
142Oracle Home Name:
143` OUIHome `
144
145` ** 14 ** ` ` ** , ** ` ** You might get the following installation problems when you install Oracle 9i (9.2.0): **
146
147l First check always the error logs in ` /tmp/OraInstall ` for 9.2.0, e.g ` /tmp/OraInstall2002-07-04_09-50-19PM ` , and in ` /tmp/OraInstall ` for 9.0.1. When you get ` make ` problems check also ` $ORACLE_HOME/install/make.log ` .
148
149` l ` ` ** Q ** ` ` ** : ** ` ` "Error in invoking target install of makefile /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk" ` ` `
150
151** A ** ** : ** Edit ` $ORACLE_HOME/ctx/lib/env_ctx.mk ` and go to " ` INSO_LINK = ` ", add a " ` $(LDLIBFLAG)dl ` " to the line and save it.
152
153Here is the full line with the added " ` $(LDLIBFLAG)dl ` " flag:
154` INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m **$(LDLIBFLAG)dl** $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS) `
155
156` l ` ` ** Q ** ` ` ** : ** ` ` "Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk" `
157` "Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk" `
158` "Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client" `
159` "Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-oemagent" ` ` `
160
161** A ** ** : ** Edit the file ` $ORACLE_HOME/bin/genclntsh ` and change the following line (people have sent me emails pointing out that this also works for Mandrake 8.1 and Mandrake 8.2):
162` LD_SELF_CONTAINED="-z defs" `
163to read:
164` LD_SELF_CONTAINED="" `
165
166Then run the script ` $ORACLE_HOME/bin/genclntsh ` as the user "oracle" and not as the user "root". Also make sure you have all the Oracle environments set!
167
168` $ su **-** oracle `
169` $ **$ORACLE_HOME/bin/genclntsh** `
170` Created /opt/oracle/product/9.0.1/lib/libclntst9.a `
171` $ `
172
173` l ` ` ** Q ** ` ` ** : ** ` ` Can't find init file for Database "SID". ` ` `
174
175` ** A ** ` ` ** : ** ` I saw this error only in connection with Oracle 9i R2 ( **9.2.0** ) when It tried to start the database with ` dbstart ` .
176
177I copied the init file for my SID "test" from ` /opt/oracle/admin/test/pfile ` to ` $ORACLE_HOME/dbs ` to get ` dbstart ` and ` dbshut ` working:
178` cp /opt/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora `
179
180l ** Q ** ** : ** ` "Error in setting permissions of file/directory /opt/oracle/jre/1.1.8/bin/i686/native_threads/.extract_args" `
181
182** A ** ** : ** While the error dialog is open, manually find and copy the ` .extract_args ` file from your installed jre to where ` runInstaller ` complains it is missing.
183
184` l ` ** Q ** ** : ** ` "jre was not found in /tmp/OraInstall/jre/bin/i586/green_threads/jre" ` ` `
185
186** A ** ** : ** You are probably running ` runInstaller ` on a 586 machine, or your AMD CPU gets recognized as 586 (e.g. AMD K6-III-400). You can check your machine (hardware) type by executing ` uname -m ` .
187To rectify this problem, create a link for ` lib ` and ` bin ` from ` i586 ` to ` i686 ` and make the ` i686 ` directories read only:
188E.g.
189` ln -s /tmp/OraInstall/jre/bin/i686 /tmp/OraInstall/jre/bin/i586 `
190` ln -s /tmp/OraInstall/jre/lib/i686 /tmp/OraInstall/jre/lib/i586 `
191` chmod u-w /tmp/OraInstall/jre/bin/i686 ` ` /tmp/OraInstall/jre/lib/i686 `
192Now restart ` runInstaller ` .
193
194_If you are not running on a 586 or AMD machine, try to link jre to java and see if this solves your problem. _
195
196l Do not ` cd ` to ` /mnt/cdrom ` to run ` ./runInstaller! `
197If you do so, the installation will fail because you won't be able to change the CDs. _ _
198
199` l ` If you forgot to set the ` DISPLAY ` environment variable (e.g. ` export DISPLAY=oracleserver:0.0) ` , or if you forgot to give the remote console - your Oracle Server - authority to display X information on your desktop PC (e.g. ` xhost +oracleserver ` ), you will get the following error:
200` Xlib: connection to ":0.0" refused by server `
201` Xlib: Client is not authorized to connect to Server `
202In this case, I always had to kill ` runInstaller ` which was still running in the background! If you don't do this, ` runInstaller ` will not completely come up any more and you will not see any error messages that ` runInstaller ` is having problems.
203You might also want to clean up ` <SPA `</anotherfilesystem></anotherfilesystem></anotherfilesystem></anotherfilesystem></anotherfilesystem></anotherfilesystem>