برای نصب Oracle 9i روی لینوکس (نسخه لینوکس من Fedora Core 3 بود) به ترتیب زیر عمل می کنیم:

1- سی دی های اوراکل 9i را از رو سایت اوراکل دانلود کنید. دانلود سی دی های اوراکل نیازی به License ندارد. اما دانلود نرم افزار از سایت اوراکل روی IPهای ایران معمولاً با مشکل همراه است. در هر صورت نسخه ای که دست من رسید، شامل سه سی دی بود. بر روی سی دی اول یک اسکریپت به نام آن runInstaller وجود دارد. برنامه نصاب اوراکل تحت جاوا است. برای نصب Oracle 9i R2 تحت لینوکس نیازی به نصب JDK نیست، چراکه JDK به همراه برنامه نصاب عرضه می شود.

2- یک گروه با نام dba، یک گروه با نام oinstall و یک کاربر به نام oracle را اضافه کنید که در دو گروه dba و oinstall عضو باشد:

su – root
groupadd dba
groupadd oinstall
useradd -c “Oracle software owner” -g oinstall -G dba oracle
passwd oracle

3- دایرکتوریها و مسیرهای نصب اوراکل را ایجاد کنید.

su – root
mkdir -p /app/oracle/product/9.2.0
chown -R oracle:oinstall /app
mkdir /var/opt/oracle
chown oracle:dba /var/opt/oracle
chmod 755 /var/opt/oracle

مطمئن شوید که در مسیری که اوراکل را نصب می کنید، حداقل 2 گیگابایت فضای خالی وجود دارد. توجه کنید که 2 گیگا بایت حداقل فضای لازم برای نصب اوراکل است. شما باید، به عنوان DBA، تخمینی از میزان فضای مورد نیاز خود (حداقل برای آینده نزدیک) داشته باشید و مسیر نصب را روی دیسکی انتخاب کنید که به میزان کافی فضای خالی داشته باشد.

4- تنظیم سایز سگمنت در Shared Memory. قبل از آغاز نصب پارامتر shmmax را از مسیر زیر چک کنید:

cat /proc/sys/kernel/shmmax

در صورتیکه مقدار shmmax کمتر از 1,072,741,824 (یک گیگا بایت) بود، آنرا اصلاح کنید:

echo `expr 1024 \* 1024 \* 1024` > /proc/sys/kernel/shmmax

ساختار Shared Memory در اوراکل بسیار مورد استفاده واقع می شود (برای مثال توسط SGA). استفاده از Shared Memory سریعترین راه در سیستم عاملهای Linux و Unix برای ارتباط بین پروسسهاست (Inter Process Communication یا به اختصار IPC) که در آن سربار Kernel وجود ندارد. در ساختار Shared Memory نیازی به کپی کردن دیتا از فضای حافظه یک پروسس به فضای حافظه پروسس دیگر نیست. برای دیدن کلیه پارامترهای مربوط به Shared Memory می توانید با cat کردن متغیرها از مسیر /proc/sys/kernel عمل کنید و یا از دستور ipcs -lm استفاده کنید. پارامتر shmmax که در بالا آنرا تغییر دادیم، بیانگرسایز بزرگترین segment ممکن در Shared Memory است. در یک لینوکس 32 بیتی، حداکثر سایز ممکن برای یک Shared Memory Segment برابر است با 4 گیگابایت. کاری که ما در بالا انجام دادیم، آن بود که به سایز بزرگترین Shared Memory Segment را به 1 گیگابایت افزایش دادیم. در صورتی اوراکل قادر نباشد SGA را در سگمنت Shared Memory جای دهد، پیغام خطای زیر را تولید خواهد کرد:

ORA-27123: unable to attach to shared memory segment

یکی از وظایف DBA تنظیم shmmax با توجه به سایز SGA است.

5- قبل از نصب اوراکل لازم است یک سری Package را نصب کنید:

rpm -q gcc glibc-headers glibc-kernheaders glibc-devel compat-libstdc++
cpp xorg-x11-deprecated-libs

در صورتی که compat-gcc نصب شده باشد (در Fedora Core 3)، آنرا حذف کرده و به جای آن compat-gcc-7.3-2.96.126.i386.rpm را نصب کنید:

rpm -e compat-gcc
rpm -i compat-gcc-7.3-2.96.126.i386.rpm

پس از نصب compat-gcc-7.3 در فولدر /usr/bin/ کامپایلر gcc را با gcc296 جابجا کنید:

cd /usr/bin
mv gcc gcc3
cp gcc296 gcc

6- دستورات زیر را در انتهای فایل bash_profile. واقعد در /home/oracle/ وارد کنید.

#! /bin/sh
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/user/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin

7-در محیط گرافیکی GNOME با نام کاربری oracle وارد شوید و روی اسکریپت runInstaller در مسیر /media/cdrom/ دوبار کلیک کنید تا اجرا شود. من بعد از اجرای این مرحله با پیغام خطای زیر روبرو شدم:

Initializing Java Virtual Machine from /tmp/OraInstall2006-06-25_08-12-25PM/jre/bin/java. Please wait…
Error occured during initialzation of VM
unable to load native library: /tmp/OraInstall2006-06-25_08-12-25PM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

در جایی خواندم که برای حل این مشکل باید p3006854_9204 را که یک Patch است دانلود و نصب کرد:

su – root
unzip p3006854_9204_LINUX.zip
cd 3006854
sh rhel3_pre_install.sh

 

پس از اجرای فایل Patch اجرای runInstaller بدون مشکل خواهد بود.

2

 

3

 

4

 

5

در این مرحله برنامه نصاب از شما می خواهد که در یک Shell Prompt، اسکریپت orainstRoot.sh را که برنامه نصاب خود در مسیر /tmp/ کپی کرده است، با root Privilege اجرا کنید. پس از انجام این کار به محیط گرافیک GNome بازگشته و روی کلید Continue در باکس فوق کلیک کنید.

6

 

7

 

8

 

9

 

10

 

11

 

13

 

14

در ادامه دو خطای مربوط به ins_oemagent.mk و ins_ctx.mk را Ignore کنید.

15

 

16

 

17

در یک Shell Prompt با root Privilege وارد شده و از مسیر app/oracle/product/9.2.0/،اسکریپت root.sh را اجرا کنید. پس از تکمیل اجرای این اسکریپت، به محیط گرافیکی GNome بازگشته و روی کلید OK در دیالوگ باکس شکل فوق کلیک کنید.

18

 

19

 

20

کلمه عبور SYS و SYSTEM را دوبار وارد کنید. کلمه عبور نباید با یک رقم (0 تا 9) شروع شود در غیر اینصورت، پیغام خطای زیر نمایش داده می شود:

ORA-00988 missing or invalid password(s).

در پایان عملیات نصب در فولدر /usr/bin/ کامپایلر gcc را که جایگزین کرده بودیم، به حالت اولیه برمی گردانیم.

cd /usr/bin
mv gcc gcc3
cp gcc296 gcc

منابع:

Installation of Oracle 9i (R2) on Fedora Core Linux 2, 3, 4, 5 and 6
Installing Oracle 9i 32-it on Red Hat Enterprise Linux Advanced Server 4, 3, 2.1 and on Red Hat 9, 8.0, 7.3, 7.2, 7.1 (x86)

Leave a Reply