آموزش نصب اوراکل در اوبونتو
با توجه به اینکه شرکت اوراکل (Oracle) سیستم عامل اوبونتو (Ubuntu) را برای نصب اوراکل پشتیبانی نمی کند ولی این بدان معنا نیست که نباید و یا نمی توان این کار را کرد. آموزش مراحل نصب کامل در زیر به صورت کامل تست شده و جواب داده است.
نسخه های مورد استفاده
Oracle 11g Release 2 (R2) 64bit
Ubuntu 12.04 LTS 64bit
این آموزش بر روی این نسخه های لینوکس اوبونتو (Ubuntu) و اوراکل (Oracle) تست شده است. شاید بر روی نسخه های دیگر هم جواب بدهد، ولی تنها بر روی نسخه های گفته شده 100% تست شده است.
ساختن برخی کاربران و گروه های مورد نیاز در لینوکس اوبونتو (Ubuntu)
برای ساختن گروه ها و کاربران مورد نیاز کدهای زیر را اجرا کنید.
sudo groupadd oinstall
sudo groupadd dba
sudo mkdir -p /opt/oracle
sudo useradd -g oinstall -G dba -d /opt/oracle -s /bin/bash oracle
sudo passwd oracle
sudo chown -R oracle:oinstall /opt/oracle
به روز رسانی پارامترهای kernel لینوکس
با دسترسی root مقادیر زیر را درون فایل /etc/sysctl.conf اضافه کرده و فایل را ذخیره کنید.
#
# Oracle 11g
#
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmni = 4096
# Replace kernel.shmmax with the half of your memory in bytes
# if lower than 4Go minus 1
# 1073741824 is 1 GigaBytes
kernel.shmmax=1073741824
# Try sysctl -a | grep ip_local_port_range to get real values
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
# Max value allowed, should be set to avoid IO errors
fs.aio-max-nr = 1048576
# 512 * PROCESSES / what really means processes ?
fs.file-max = 6815744
# To allow dba to allocate hugetlbfs pages
# 1001 is your oinstall group, id. grep oinstall /etc/group will give this value
vm.hugetlb_shm_group = 1001
برای قرار گرفتن پارامترها دستور زیر را اجرا کنید.
sudo sysctl -p
با دسترسی root پارامترهای زیر را درون فایل /etc/security/limits.conf اضافه کرده و ذخیره کنید.
# Oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
خط زیر باید درون فایل /etc/pam.d/login وجود داشته باشد. این فایل را چک کرده در صورت نبودن این خط آن را اضافه کرده و ذخیره کنید.
session required pam_limits.so
مقادیر زیر را به انتهای فایل /etc/profile اضافه کرده و آن را ذخیره کنید.
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
نصب پکیج های مورد نیاز در اوبونتو
سیستم عامل اوبونتو را با استفاده از دستورات زیر به روز رسانی کنید.
sudo apt-get update
sudo apt-get dist-upgrade
با استفاده از دستور زیر پکیج های مورد نیاز را نصب کنید.
apt-get install alien autoconf automake autotools-dev binutils bzip2 doxygen elfutils expat gawk gcc gcc-multilib g -multilib ia32-libs ksh less lesstif2 lesstif2-dev lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 libelf-dev libltdl-dev libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libpth-dev libpthread-stubs0 libpthread-stubs0-dev libstdc 5 lsb-cxx make openssh-server pdksh rlwrap rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc
اتصال کتابخانه های مورد نیاز
با استفاده از دستورات زیر برخی کتاب خانه های مورد نیاز اوراکل را می بایست متصل کنید.
sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
sudo ln -sf /bin/bash /bin/sh
sudo ln -s /usr/bin/awk /bin/awk
sudo ln -s /usr/bin/rpm /bin/rpm
sudo ln -s /usr/bin/basename /bin/basename
sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64
حال سیستم خود را برای ادامه مراحل بعدی restart کنید.
کپی فایل های اوراکل (Oracle)
ابتدا اوراکل را از وبسایت آن دانلود کرده، سپس آن ها را از حالت فشرده خارج می کنیم.
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
دیگر تنظیمات در لینوکس
sudo su - oracle
cd
touch .bashrc
ln -s .bashrc .bash_profile
خط زیر را درون فایل .bashrc قرار دهید.
umask 022
فایل .bashrc را با استفاده از دستور زیر اجرا کنید.
source .bashrc
با استفاده از دستور زیر اجازه اتصال به X را اعمال کنید.
sudo xhost
با استفاده از دستورات زیر درون کاربر oracle وارد شده، به درون مسیر اوراکل استخراج شده رفته و نصب اوراکل را آغاز کنید.
su - oracle
export DISPLAY=:0
./runInstaller
در مرحله نخست نصب اوراکل، تیک را برمی داریم و next می کنیم، چون که من پسورد پشتیبانی اوراکل ندارم.
در این مرحله تیک Create and Configure a database را زده next می کنیم.
تیک Server Class را زده next می کنیم.
تیک Single instance database installation را زده next می کنیم.
تیک Advanced install زده و next می کنیم.
زبان English را انتخاب کرده و next می کنیم.
تیک Enterprise Edition را زده و next می کنیم.
در این مسیر نصب اوراکل را مشخص می کنیم، که من مسیر پیشفرض را انتخاب می کردم.
این مرحله نیز باید به طور پیشفرض درست باشد.
تیک General Purpose / Transaction Processing را زده next می کنیم.
در این مرحله sid و global database name را مشخص کرده و next می کنیم.
تیک Automatic Memory Management باید زده باشد و در تب Character set همانطور که در عکس بعدی نشان داده شده است تیک Use Unicode AL32UTF8 را زده و next می کنیم.
تیک Use Database Control for database management را زده ولی بقیه موارد باید خالی گذاشته شود و next می کنیم.
تیک File System را زده و مقادیر پیشفرض را next می کنیم.
تیک Do not enable automated backups را زده و next می کنیم.
در این مرحله می توانید یک پسورد برای تمامی حساب ها استفاده کنید، که در پروژه های جدی پیشنهاد نمی شود.
مقادیر پیشفرض را next می کنیم.
تیک Ignore All را زده next می کنیم.
شاید با دیدن این خطا کمی متعجب و نگران شوید! ولی جای هیچ نگرانی ای نیست، چرا که ما منتظر این خطا بودیم. برای رفع این مشکل، پنجره خطا را دست نزنید، چرا که می بایست برخی تنظیمات را انجام داده و دوباره به آن برگردیم.
برای رفع error بالا، می بایست یک سری option را درون برخی از فایل های نصب شده اضافه کرد این تنظیمات به شرح زیر است
خط ۱۹۰ فایل
/opt/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
$(MK_EMAGENT_NMECTL) -lnnz11
خط ۲۷۸ فایل
/opt/oracle/app/oracle/product/11.2.0/dbhome_1/bin/genorasdksh
OLIBS= ... -lagtsh -lorasdkbase
خط ۹۰ فایل
/opt/oracle/app/oracle/product/11.2.0/dbhome_1/srvm/lib/env_srvm.mk
PRODUCT=srvm
خط ۶۰ فایل
/opt/oracle/app/oracle/product/11.2.0/dbhome_1/srvm/lib/ins_srvm.mk
GETCRSHOME_LINKLINE= ... -Wl,--start-group $(OCRLIBS_DEFAULT) -Wl,--end-group $(OCRLIBS_DEFAULT) ...
خط 2150 فایل
/opt/oracle/app/oracle/product/11.2.0/dbhome_1/network/lib/env_network.mk
TNSLSNR_LINKLINE=... -Wl,--no-as-needed $(LLIBONS) ...
خط 2113 فایل
/opt/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk
ORACLE_KERNEL_LIBS=...$(SPOBJS) -Wl,--no-as-needed $(LLIBSERVER)...
به مرحله نصب و پنجره error برگشته و retry کنید.
پنجره بعدی را ok کنید.
در این مرحله دستوراتی را که در پنجره به آن اشاره شده است را با دسترسی root اجرا کرده، سپس پنجره را ok کنید.
مراحل نصب اوراکل به پایان رسید، اکنون می توانید پنجره پایانی را close کنید.
مرورگر را باز کرده به آدرس زیر رفته، با دسترسی sysdba و کاربر sys وارد شوید.
http://127.0.0.1:1158/em
بعد از وارد شدن صفحه همانند شکل زیر را خواهید دید.
تبریک! اوراکل (Oracle) بر روی اوبونتو (Ubuntu) نصب شد!