Oracle 11g R2 silent installation on CentOS 6.4

CentOS server(desktop versiya yox)-ə GUİ-siz Oracle installation zamanı, ki bunun adı silent installation-dur qarşılaşdığım bitməyən problemlərdən dolayı bu məqaləni yazmağa məcbur oldum…Necə deyərlər çəkdiyim zülmü digər yeni başlayanlar da çəkməsin deyə 😉

Yazını 2 hissəyə bölürəm 1-cisi install mühitinin hazırlanması 2-ci isə Oracle-ın install-ı.
Bütün addımları ardıcıllıqla etsəniz sizdə də alınacaq.
Mühitin hazırlanması :
1. Dependency paketlərinin yüklənilməsi

[root@linuxsrv1 ~]# yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

Qeyd edim ki, installation zamanı məhz bu paket dependency-lərdən dolayı ERROR çıxdı və installation ABORT olundu. ERROR tam olaraq belədir:

SEVERE: [FATAL] [INS-13013] Target environment do not meet some mandatory requirements.
   CAUSE: Some of the mandatory prerequisites are not met. See logs for details. /usr/oracle/app/oraInventory/logs/installActions2013-10-05_03-04-19AM.log
   ACTION: Identify the list of failed prerequisite checks from the log: /usr/oracle/app/oraInventory/logs/installActions2013-10-05_03-04-19AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.

Dediyi kimi log file-a baxdıqda paketlərdən bəzilərinin CHECK zamanı failed olduğunu gördüm.
Bundan çıxış yolu kimi yuxarıdakı install etdiyiniz paketlərə əlavə olaraq aşağıdakıları da install edin. Ardıcıllıqla komandaları keçirdin:

yum install libaio.i686
yum install glibc.i686
yum install compat-libstdc++-33.i686
yum install libaio-devel.i686
yum install libstdc++.i686
yum install unixODBC.i686
yum install unixODBC-devel.i686

pdksh-5.2.14  paketi isə ümumiyyətlə repo-da yoxdur. Dolayısı ilə .rpm-ini tapıb install etməliyik:

[root@linuxsrv1 ~]# wget ftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/os/x86_64/WhiteBox/RPMS/pdksh-5.2.14-30.x86_64.rpm

[root@linuxsrv1 ~]# rpm -ivh pdksh-5.2.14-30.x86_64.rpm

2. Kernel parameter-lərə əlavələr

[root@linuxsrv1 ~]# nano /etc/sysctl.conf

faylı açırıq aşağıdakı sətrləri tapırıq və onu comment edirik:

# Disable netfilter on bridges.
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0

Daha sonra faylın sonuna əlavə edirik:

net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576

Faylı save edirik. Daha sonra aşağıdakı komandanı işlədirik:

[root@linuxsrv1 ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576

Sizdə də eyni nəticələrdisə davam edı bilərik.

3. Oracle üçün system user-inin yaradılması
Ardıcıllıqla:

[root@linuxsrv1 ~]# groupadd -g 200 oinstall
[root@linuxsrv1 ~]# groupadd -g 201 dba
[root@linuxsrv1 ~]# useradd -u 440 -g oinstall -G dba -d /usr/oracle oracle

Daha sonra aşağıdakı qaydada faylı açırıq və əlavəni edirik(elave1-lerin arasında gördüyümüzü):

[root@linuxsrv1 ~]# nano /etc/pam.d/login

session    required     pam_selinux.so open
session    required     pam_namespace.so
# elave1
session    required     pam_limits.so
# elave1
session    optional     pam_keyinit.so force revoke
session    include    system-auth

Daha sonra aşağıdakı qaydada digər bir faylı açın və sonuncu sətrə əlavələr edin:

[root@linuxsrv1 ~]# nano /etc/security/limits.conf

# sonuncu sətrə əlavə edin

oracle   soft   nproc   2047
oracle   hard   nproc   16384
oracle   soft   nofile   1024
oracle   hard   nofile   65536

Yenə eyni qaydada digər faylın sonuna əlavə edirik:

[root@linuxsrv1 ~]# nano /etc/profile

# Sonuna əlavə edin
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

4. Oracle user-inə keçək və bəzi əməliyyatlar edək:
Ardıcıllıqla:

[oracle@linuxsrv1 ~]$ chmod 755 /usr/oracle
[oracle@linuxsrv1 ~]$ mkdir /usr/oracle/app
[oracle@linuxsrv1 ~]$ chmod 775 /usr/oracle/app
[oracle@linuxsrv1 ~]$ mkdir /usr/oracle/oradata
[oracle@linuxsrv1 ~]$ chmod 775 /usr/oracle/oradata

bash_profile-a ORACLE_BASE olacaq path-ı qeyd edirik:

[oracle@linuxsrv1 ~]$ nano ~/.bash_profile

# sonuncu sətrə əlavə edin

umask 022
export ORACLE_BASE=/usr/oracle/app

Download etdiyimiz Oracle .zip fayllarını unzip edəcəyimiz tmp directory-ni yaradaq:

[oracle@linuxsrv1 ~]$ mkdir tmp

Keçirik 2-ci mərhələyə Oracle installation

1. Əlimizdə olan .zip faylları yerləşdiririk tmp papkasına və unzip edirik:

[oracle@linuxsrv1 ~]$ cd tmp
[oracle@linuxsrv1 tmp]$ ls
linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip
[oracle@linuxsrv1 tmp]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@linuxsrv1 tmp]$ unzip linux.x64_11gR2_database_2of2.zip
[oracle@linuxsrv1 tmp]$ ls
database  linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip

2. silent installation üçün response file-ın hazırlanması..
response file-ımızı enterprise.rsp adlandırırı. Aşağıdakı ardıcıllıqla komandaları keçirdək:

[oracle@linuxsrv1 ~]$ cd /usr/oracle/tmp/database/response
[oracle@linuxsrv1 response]$ ls
dbca.rsp  db_install.rsp  netca.rsp
[oracle@linuxsrv1 response]$ touch enterprise.rsp
[oracle@linuxsrv1 response]$ ls
dbca.rsp  db_install.rsp  enterprise.rsp  netca.rsp

Daha sonra response file-ımız olan enterprise.rsp daxiline aşağıdakıları yazaq:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=linuxsrv1

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/usr/oracle/app/oraInventory

SELECTED_LANGUAGES=en

ORACLE_HOME=/usr/oracle/app/product/11.2.0/dbhome_1

ORACLE_BASE=/usr/oracle/app

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

oracle.install.db.CLUSTER_NODES=

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=ORCL

oracle.install.db.config.starterdb.SID=ORCL

oracle.install.db.config.starterdb.characterSet=AL32UTF8

oracle.install.db.config.starterdb.memoryOption=true

oracle.install.db.config.starterdb.memoryLimit=512

oracle.install.db.config.starterdb.installExampleSchemas=true

oracle.install.db.config.starterdb.enableSecuritySettings=true

oracle.install.db.config.starterdb.password.ALL=

oracle.install.db.config.starterdb.password.SYS=

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.SYSMAN=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.control=DB_CONTROL

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

oracle.install.db.config.starterdb.dbcontrol.emailAddress=

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

oracle.install.db.config.starterdb.automatedBackup.enable=false

oracle.install.db.config.starterdb.automatedBackup.osuid=

oracle.install.db.config.starterdb.automatedBackup.ospwd=

oracle.install.db.config.starterdb.storageType=

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

DECLINE_SECURITY_UPDATES=true

PROXY_HOST=

PROXY_PORT=

PROXY_USER=

PROXY_PWD=

oraInst.loc faylını yaradırıq və daxilinə qeyd edirik:

[root@linuxsrv1 ~]# touch /etc/oraInst.loc
[root@linuxsrv1 ~]# nano /etc/oraInst.loc
# Aşağıdakıları Qeyd edirik və faylı save edirik.
inventory_loc=/usr/oracle/app/oraInventory
inst_group=oinstall

Permission-larımızı veririk:

[root@linuxsrv1 etc]# chown oracle:oinstall oraInst.loc
[root@linuxsrv1 etc]# chmod 664 oraInst.loc

İndi də son komandamızı keçirdək və installation-a başlayaq aşağıda da gördüyünüz kimi WARNING  çıxacaq lakin buna məhəl qoymuruq yəni qətiyyən installation-u abort(CTRL+C) etmirik!:

[oracle@linuxsrv1 database]$ ./runInstaller -silent -noconfig -responseFile /usr/oracle/tmp/database/response/enterprise.rsp
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 41180 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2559 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-10-05_03-23-07AM. Please wait ...
[WARNING] [INS-13014] Target environment do not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met.

Bir müddət səbrli olmalısınız çünki installation status bildirilmir. Sadəcə success kimi ən sonda belə bir yazı gələcək:

The following configuration scripts need to be executed as the “root” user.
 #!/bin/sh
 #Root scripts to run

/usr/oracle/app/product/11.2.0/dbhome_1/root.sh
To execute the configuration scripts:
     1. Open a terminal window
     2. Log in as “root”
     3. Run the scripts
     4. Return to this window and hit “Enter” key to continue

Successfully Setup Software.

Çıxan mesajda deyildiyi kimi root user-lə /usr/oracle/app/product/11.2.0/dbhome_1/root.sh scriptini run edirik:

[root@linuxsrv1 ~]# cd /usr/oracle/app/product/11.2.0/dbhome_1/
[root@linuxsrv1 dbhome_1]# ./root.sh
Check /usr/oracle/app/product/11.2.0/dbhome_1/install/root_linuxsrv1_2013-10-05_03-35-47.log for the output of root script

VƏ ən sonda DBCA ilə silent database creation etməliyik:

[oracle@linuxsrv1 ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName ORCL -sid ORCL -SysPassword change_on_install -SystemPassword manager -emConfiguration NONE -datafileDestination /usr/oracle/app/oradata -storageType FS -characterSet AL32UTF8 -memoryPercentage 40

Vəssalam bununla installation-umuz bitmiş hesab olunur.
İndi də Oracle-a connect olmağa çalışaq. Bunun üçün listener-i start etməliyik. Və ümumiyyətlə hər dəfə biz bəzi dəyişənləri yazmamaq məqsədilə bash_profile faylına son əlavələri edirik
(QEYD: oracle user-i ilə etməlisiniz):

[oracle@linuxsrv1 ~]$ nano ~/.bash_profile
# ən sonuna əlavə edin
export ORACLE_HOME=/usr/oracle/app3/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

<strong>oracle user-indən logout oluruq daha sonra login oluruq!</strong>

listener-i start edirik:

[oracle@linuxsrv1 ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 05-OCT-2013 03:45:42

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Starting /usr/oracle/app/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Log messages written to /usr/oracle/app/diag/tnslsnr/linuxsrv1/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=linuxsrv1)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                05-OCT-2013 03:45:43
Uptime                    0 days 0 hr. 0 min. 1 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /usr/oracle/app/diag/tnslsnr/linuxsrv1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=linuxsrv1)(PORT=1521)))
The listener supports no services
The command completed successfully

Qeyd edək ki, biz yuxarıda dbca ilə database yaratmışdıq və onun SİD-ni ORCL vermişdik.
connect oluruq…

[oracle@linuxsrv1 ~]$ export ORACLE_SID=ORCL
[oracle@linuxsrv1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sat Oct 5 03:47:17 2013

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> show user
USER is "SYS"

Oracle 11g R2 Centos 6.4 üzərinə silent installation haqqında bu yazıda göstərilən hər şey test Linux üzərində test məqsədlə edilmişdir.

Təşəkkürlər 😉

Səs: +20. Bəyənilsin Zəifdir

Müəllif: Şəhriyar Rzayev

Şərhlər ( 2 )

  1. Şəhriyar, gözəl məqalə üçün təşəkkürlər.

     

  2. Şadam ki, hələ də faydalıdır 🙂

Şərh yazın