Memodifikasi OS
Tiga prasyarat yang saya sudah sebut tadi dapat saya kategorikan sebagai modifikasi OS.
Dimulai dengan memasang beberapa paket Linux yang diperlukan. Daftar paket yang
diperlukan bisa dilihat pada contoh berikut ini :
[root@svn ~]# yum groupinstall -y "Compatibility libraries"
[root@svn ~]# yum groupinstall -y "Development Tools"
1
2[root@svn ~]# yum install oracle-rdbms-server-11gR2-preinstall.x86_64 libaio*
libaio.i686 libaio-devel.x86_64 libaio-devel.i686 elfutils-libelf-devel ksh
3unixODBC-devel.i686 unixODBC-devel.x86_64 unixODBC.i686 unixODBC.x86_64 compat-
4libstdc++-33.i686 libstdc++-devel.i686 screen libXext.i686 libXext-devel.i686
libXext-devel.x86_6 mksh
[root@svn ~]#
Oracle Linux menyediakan paket oracle-rdbms-server-11gR2-preinstall untuk
membantu menyiapkan beberapa hal sekaligus. Apa saja yang disiapkan oleh paket tadi,
bisa kita lihat dari lewat perintah seperti berikut ini :
1 [oracle@svn grub]$ yum info oracle-rdbms-server-11gR2-preinstall.x86_64
2 Loaded plugins: security
3 Installed
Name
Packages
: oracle-rdbms-server-11gR2-preinstall
4 Arch : x86_64
5 Version : 1.0
6 Release : 7.el6
7 Size : 32 k
Repo : installed
8 From repo : iso
9 Summary : Sets the system for Oracle single instance and Real Application
10Cluster install for Oracle Linux 6
11License : GPL
Description : This package installs software packages and sets system parameters
12
required for Oracle single instance and Real Application Cluster install for
13 : Oracle Linux Release 6 Files affected: /etc/sysctl.conf,
14/etc/security/limits.conf, /boot/grub/menu.lst.
15
16[oracle@svn grub]$
Dari informasi di atas kita bisa lihat bahwa paket oracle-rdbms-server-11gR2-
preinstall melakukan beberapa tugas yang biasanya harus kita lakukan manual yaitu :
1. membuat OS user dengan namaoracle.
2. membuat OS group dengan nama dba.
3. menambahkan beberapa parameter kernel. Semua parameter tersebut disimpan
dalam berkas /etc/sysctl.conf. Berikut ini perbandingan
berkas sysctl.confsebelum dan sesudah modifikasi :
1 [root@svn ~]# diff /etc/sysctl.conf.orabackup /etc/sysctl.conf
2 37d36
3 < kernel.shmmax = 68719476736
40c39,74
4 < kernel.shmall = 4294967296
5 ---
6 >
7 > # oracle-rdbms-server-11gR2-preinstall setting for fs.file-max is
6815744
8 > fs.file-max = 6815744
9 >
10 > # oracle-rdbms-server-11gR2-preinstall setting for kernel.sem is '250
11 32000 100 128'
12 > kernel.sem = 250 32000 100 128
>
13 > # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmni is
14 4096
15 > kernel.shmmni = 4096
16 >
17 > # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmall is
18 1073741824 on x86_64
> # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmall is
19 2097152 on i386
20 > kernel.shmall = 1073741824
21 >
22 > # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmax is
4398046511104 on x86_64
23 > # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmax is
24 4294967295 on i386
25 > kernel.shmmax = 4398046511104
26 >
27 > # oracle-rdbms-server-11gR2-preinstall setting for
net.core.rmem_default is 262144
28 > net.core.rmem_default = 262144
29 >
30 > # oracle-rdbms-server-11gR2-preinstall setting for net.core.rmem_max
31 is 4194304
> net.core.rmem_max = 4194304
32 >
33 > # oracle-rdbms-server-11gR2-preinstall setting for
34 net.core.wmem_default is 262144
35 > net.core.wmem_default = 262144
36 >
> # oracle-rdbms-server-11gR2-preinstall setting for net.core.wmem_max
37 is 1048576
38 > net.core.wmem_max = 1048576
39 >
40 > # oracle-rdbms-server-11gR2-preinstall setting for fs.aio-max-nr is
41 1048576
> fs.aio-max-nr = 1048576
42 >
43 > # oracle-rdbms-server-11gR2-preinstall setting for
net.ipv4.ip_local_port_range is 9000 65500
> net.ipv4.ip_local_port_range = 9000 65500
>
[root@svn ~]#
4. membatasi pemakaian resource (untuk user oracle) dengan memodifikasi
berkas /etc/security/limit.conf. Berikut ini perbandingan
berkas limit.conf sebelum dan sesudah modifikasi :
1 [root@svn ~]# diff /etc/security/limits.conf.orabackup
2 /etc/security/limits.conf
3 4d3
< #
4 6d4
5 < #
6 14d11
7 < #
8 18d14
< #
9 38d33
10 < #
11 40d34
12 < #
13 49d42
<
14 50a44,61
15 >
16 > # oracle-rdbms-server-11gR2-preinstall setting for nofile soft limit is
17 1024
18 > oracle soft nofile 1024
19 >
> # oracle-rdbms-server-11gR2-preinstall setting for nofile hard limit is
20 65536
21 > oracle hard nofile 65536
22 >
23 > # oracle-rdbms-server-11gR2-preinstall setting for nproc soft limit is
24 2047
> oracle soft nproc 2047
25 >
26 > # oracle-rdbms-server-11gR2-preinstall setting for nproc hard limit is
27 16384
28 > oracle hard nproc 16384
>
29 > # oracle-rdbms-server-11gR2-preinstall setting for stack soft limit is
30 10240KB
31 > oracle soft stack 10240
32 >
33 >32768KB
# oracle-rdbms-server-11gR2-preinstall setting for stack hard limit is
34 > oracle hard stack 32768
35 [root@svn ~]#
5. menambahkan parameter pada berkas /boot/grub/menu.lst.
Karena user oracle sudah dibuat oleh paket oracle-rdbms-server-11gR2-preinstall,
kita tinggal memberinya password sebelum mulai proses instalasi :
1
[root@svn ~]# passwd oracle
2 Changing password for user oracle.
3 New password:
4 BAD PASSWORD: it is based on a dictionary word
5 BAD PASSWORD: is too simple
6 Retype new password:
passwd: all authentication tokens updated successfully.
7 [root@svn ~]#
8
Karena ada perubahan parameter kernel, kita perlu me-restart server sebelum
melanjutkan proses instalasi.
Menyiapkan Storage
Selanjutnya yang perlu disiapkan adalah lokasi tempat kita akan menginstal Oracle
Database. Pada contoh ini saya menggunakan logical volume terpisah khusus
dialokasikan untuk aplikasi Oracle Database. Saya siapkan pada
direktori oracle sebagai mountpoint untuk logical volume /dev/mapper/vg_oracledb-
lv_oracledb tersebut. Hasilnya terlihat seperti tampilan di bawah ini :
1 [root@svn ~]# df -h
2 Filesystem Size Used Avail Use% Mounted on
3 /dev/mapper/vg_svn-lv_root 11G 6.1G 3.5G 64% /
4 /dev/sda1 477M 55M 398M 13% /boot
5 /dev/mapper/vg_oracledb-lv_oracledb 9.9G 2.4G 7.1G 26% /oracle
6 [root@svn ~]#
Tentu ini adalah masalah pilihan, saya pikir tidak masalah bila Anda ingin menyimpan
instalasi Oracle Database dalam partisi root selama ada cukup ruang kosong.
Hal yang sering mengganggu proses instalasi Oracle Database adalah masalah
ukuran storage & permission setting. Dalam contoh ini saya hanya ingin
membuat database untuk keperluan belajar saja, oleh karenanya saya cukup
menyiapkan storage dengan ukuran 10GB. Tentu ini sangat bergantung pada
kebutuhan database-nya itu sendiri; untuk keperluan production mungkin dibutuhkan
ruang harddisk ratusan GigaByte bahkan beberapa TeraByte.
Untuk masalah permission, saya perlu mengatur supaya direktori /oracle tersebut
dimiliki oleh user oracle & group dba. Cukup gunakan perintah chown seperti berikut ini
:
1 [root@svn ~]# chown -R oracle:dba /oracle
Mengunduh Berkas Instalasi
Material instalasi aplikasi Oracle Database dapat diunduh secara gratis dari web Oracle.
Pada contoh ini saya menggunakan Oracle Database 11g. Ada 2 berkas yang harus
diunduh :
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
Kedua berkas tersebut harus diekstrak ke dalam direktori yang sama. Saya ekstrak kedua
berkas tadi dalam direktori /oracle/oracle11g-linux_x64.
1 [oracle@svn ~]$ cd /oracle/
[oracle@svn oracle]$ mkdir oracle11g-linux_x64
2 [oracle@svn oracle]$
3 [oracle@svn oracle]$ tar xf linux.x64_11gR2_database_1of2.zip -C oracle11g-
4 linux_x64
5 [oracle@svn oracle]$ tar xf linux.x64_11gR2_database_2of2.zip -C oracle11g-
6 linux_x64
[oracle@svn oracle]$
7 [oracle@svn oracle]$ ls oracle11g-linux_x64
8 doc install response rpm runInstaller sshsetup stage welcome.html
9 [oracle@svn oracle]$
Menyiapkan Shell Parameter
Langkah penting lain sebelum mulai menginstal database adalah menyiapkan
parameter shell untuk user oracle. Dalam contoh
ini user oracle menggunakan shell Bash, oleh karenanya kita menambahkan parameter
ke dalam berkas ~oracle/.bash_profile. Berikut adalah beberapa parameter yang
sudah saya siapkan pada berkas ~oracle/.bash_profile :
1
2 [oracle@svn ~]$ cat .bash_profile
3 # .bash_profile
4
5 # Get the aliases and functions
6 if [ -f ~/.bashrc ]; then
. ~/.bashrc
7 fi
8
9 # User specific environment and startup programs
10 ORACLE_BASE=/oracle/database
11 export ORACLE_BASE
12 ORACLE_HOME=$ORACLE_BASE/11.2.0/server
export ORACLE_HOME
13 ORACLE_SID=SVN
14 export ORACLE_SID
15 PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
16 export PATH
17 [oracle@svn ~]$
18
Ada 4 parameter yang saya tambahkan :
1. $ORACLE_BASE : ini menjadi direktori utama tempat semua instalasi aplikasi Oracle
diletakkan. Saya buat direktori baru dalam /oracle.[oracle@svn ~]$ mkdir -p
/oracle/database
2. $ORACLE_HOME : ini adalah tempat saya memasang Oracle Database
11g.[oracle@svn ~]$ mkdir -p $ORACLE_BASE/11.2.0/server
3. $ORACLE_SID : ini adalah nama instance Oracle.
4. $PATH : saya perlu menambahkan direktori $ORACLE_HOME/bin ke
dalam default$PATH. Ini maksudnya supaya user oracle bisa langsung mengakses
semua executable binary hasil instalasi Oracle Database.
Setelah menambahkan shell parameter tersebut, user oracle harus logout terlebih
dahulu supaya parameter tadi menjadi aktif.
Menyiapkan Network & Tampilan Grafis
Proses instalasi Oracle Database menggunakan aplikasi yang disebut Oracle Universal
Installer (OUI). Proses menginstal Oracle Database ini terbagi menjadi 3 tahapan :
Menu yang muncul pertama kali adalah tentang My Oracle Support. Bila kita
punya akun My Oracle Support kita bisa mendaftarkan alamat email pada menu
ini.
Klik Next untuk lanjut ke langkah berikutnya.
Saya memilih untuk mengabaikan menu ini cukup dengan untick pilihan “I wish to
receive…..” :
Klik Next untuk lanjut ke langkah berikutnya.
Akan muncul peringatan seperti tampilan di bawah ini. Kita dapat
mengabaikannya kembali dengan klik tombol Yes.
Klik Next untuk lanjut ke langkah berikutnya.
Pada menu selanjutnya kita bisa memilih untuk hanya memasang aplikasi Oracle
Database saja, atau sekaligus membuat database, atau kita bisa memilih untuk
melakukan upgrade. Pada contoh ini saya pilih untuk memasang &
membuat database-nya sekalian.
Klik Next untuk lanjut ke langkah berikutnya.
OUI akan menampilkan 2 pilihan kategori database yang ingin kita buat. “Desktop
Class” artinya OUI akan menggunakan konfigurasi sederhana saat
menyiapkan database. Sebaliknya konfigurasi yang lebih kompleks untuk “Server
Class”. Untuk keperluan testing ini saya pilih “Desktop Class” saja.
Klik Next untuk lanjut ke langkah berikutnya.
Tampilan berikutnya adalah konfigurasi yang menurut saya penting untuk
diperhatikan. Bila kita sudah menyiapkan shell parameter dengan benar
(bila $ORACLE_BASE, $ORACLE_HOME, $ORACLE_SID sudah benar), OUI akan otomatis
mengisikan kolom-kolom tersebut tepat seperti yang sudah kita siapkan pada
berkas ~oracle/.bash_profile.
Klik Next untuk lanjut ke langkah berikutnya.
Akan muncul peringatan seperti tampilan di bawah ini bila :
Tidak ada cukup ruang kosong untuk memasang Oracle Database.
Password yang kita masukkan tidak cukup kompleks.
Kita harus memperbaiki 2 kesalahan tadi sebelum bisa melanjutkan proses
instalasi. Klik Next untuk lanjut ke langkah berikutnya.
OUI lalu akan menjalankan beberapa validasi seperti misalnya memeriksa paket-
paket yang dibutuhkan, memeriksa ketersediaan memori & swap, memeriksa
parameter kernel.
Beberapa kali saya menemukan kasus OUI gagal menemukan paket karena versi
paket yang terpasang lebih baru daripada yang dibutuhkan. Misalnya OUI
melaporkan paket libaio-devel-0.3.105 tidak tersedia, padahal bila saya cek
manual paket libaio-devel sudah terpasang; hanya saja versi yang terpasang
adalah versi 0.3.107.
1 [oracle@svn ~]$ rpm -qa | grep libaio-devel
2 libaio-devel-0.3.107-10.el6.x86_64
3 libaio-devel-0.3.107-10.el6.i686
4 [oracle@svn ~]$
Pada contoh ini saya yakin semua paket yang diperlukan sudah terpasang. OUI
mencari versi paket yang lebih tua, sementara saya hanya punya versi yang lebih
baru. Karena saya yakin semua paket sudah tersedia, saya bisa mengabaikan hasil
validasi ini dengan tick pilihan “Ignore All”.
Perlu diingat baik-baik, bila versi paket yang terpasang lebih tua daripada yang
diminta oleh OUI kita tidak bisa begitu saja mengabaikan peringatan tersebut. Kita
harus upgrade paket-paket tersebut supaya versinya paling tidak sama dengan
yang dimibutuhkan oleh OUI.
Klik Next untuk lanjut ke langkah berikutnya.
Sampai tahap ini OUI akan menampilkan ringkasan konfigurasi yang sudah kita
pilih, contohnya seperti berikut ini :
Pada tahap ini kita bisa memeriksa ulang konfigurasinya untuk antisipasi ada
konfigurasi yang salah. Bila semua sudah benar, klik Finish untuk lanjut ke
langkah berikutnya.
OUI segera memulai proses instalasi :
Karena tadi di awal saya memilih untuk membuat sebuah database baru, OUI akan
otomatis melanjutkan proses pembuatan database baru seperti terlihat pada
tampilan berikut ini :
Sebenarnya bukan OUI sendiri yang membuat database melainkan aplikasi lain
bernama DBCA (Data Base Configuration Assistant).
Proses pembuatan database baru ini akan berlangsung cukup lama, bila sudah
selesai kita akan mendapati tampilan seperti contoh berikut ini :
1
2 [root@svn ~]# /oracle/oraInventory/orainstRoot.sh
3 Changing permissions of /oracle/oraInventory.
4 Adding read,write permissions for group.
5 Removing read,write,execute permissions for world.
6
Changing groupname of /oracle/oraInventory to oinstall.
7 The execution of the script is complete.
8 [root@svn ~]# /oracle/database/11.2.0/server/root.sh
9 Running Oracle 11g root.sh script...
10
11 The following environment variables are set as:
12 ORACLE_OWNER= oracle
ORACLE_HOME= /oracle/database/11.2.0/server
13
14 Enter the full pathname of the local bin directory: [/usr/local/bin]:
15 Copying dbhome to /usr/local/bin ...
16 Copying oraenv to /usr/local/bin ...
17 Copying coraenv to /usr/local/bin ...
18
19
Creating /etc/oratab file...
20 Entries will be added to the /etc/oratab file as needed by
21 Database Configuration Assistant when a database is created
22 Finished running generic part of root.sh script.
23 Now product-specific root actions will be performed.
24 Finished product-specific root actions.
[root@svn ~]#
25
26
27
Saat sudah selesai menjalankan 2 buah script tadi kita tinggal klik tombol Ok pada
menu sebelumnya.
Berikut ini adalah tampilan akhir OUI setelah proses instalasi selesai.
Setelah proses instalasi Oracle Database selesai & database sudah aktif, kita dapat
memeriksanya dengan menggunakan sqlplus seperti tampilan di bawah ini :
1 [oracle@svn ~]$ sqlplus / as sysdba
2
SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 12 13:56:13 2014
3
4 Copyright (c) 1982, 2009, Oracle. All rights reserved.
5
6
7 Connected to:
8 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit
9 Production
10 With the Partitioning, OLAP, Data Mining and Real Application Testing
options
11
12 SQL>
Untuk memeriksa nama database & jumlah memori yang digunakan saya bisa gunakan
perintah berikut ini :
1 SQL> show parameter db_name
2
NAME TYPE VALUE
3 ------------------------------------ ----------- ------------------------
4 ------
5 db_name string SVN
6 SQL> show sga
7
8 Total System Global Area 1653518336 bytes
Fixed Size 2213896 bytes
9 Variable Size 956303352 bytes
10 Database Buffers 687865856 bytes
11 Redo Buffers 7135232 bytes
12 SQL>
13
Atau misalnya saya ingin memeriksa DB File yang digunakan oleh database baru ini, saya
bisa gunakan perintah berikut ini :
1 SQL> SELECT NAME FROM V$CONTROLFILE;
2
3 NAME
4 -------------------------------------------------------------------------
5 -------
6 /oracle/database/oradata/SVN/control01.ctl
/oracle/database/flash_recovery_area/SVN/control02.ctl
7
8 SQL>
9 SQL> SELECT NAME FROM V$DATAFILE;
10
11 NAME
12 -------------------------------------------------------------------------
13 -------
/oracle/database/oradata/SVN/system01.dbf
14 /oracle/database/oradata/SVN/sysaux01.dbf
15 /oracle/database/oradata/SVN/undotbs01.dbf
16 /oracle/database/oradata/SVN/users01.dbf
17 /oracle/database/oradata/SVN/example01.dbf
18
SQL>
19
Dari semua langkah di atas bisa dilihat bahwa sukses tidaknya instalasi Oracle Database
sangat bergantung pada tahap persiapannya. Tampilan OUI sendiri sangat mudah untuk
diikuti, tinggal Next Next saja. Jadi bilamana ada error saat menggunakan menu OUI,
hampir dapat dipastikan ada langkah persiapan yang kurang lengkap atau tidak
memenuhi persyaratan.
Source : https://blog.tedytirta.info/2014/10/26/instalasi-oracle-database-11g-pada-oracle-linux-6-5/
alter system set LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=129.168.1.190)(PORT=1521))'
scope=both;