Memeriksa Jumlah CPU dari SQL*Plus

Saat bekerja dengan server Linux, cara untuk menentukan jumlah CPU yang terpasang pada sebuah server adalah dengan melihat berkas /proc/cpuinfo. Contohnya seperti tampilan berikut ini :

[oracle@uimdbsit01 ~]$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 0
siblings    : 5
core id     : 0
cpu cores   : 5
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 0
siblings    : 5
core id     : 1
cpu cores   : 5
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 0
siblings    : 5
core id     : 2
cpu cores   : 5
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 0
siblings    : 5
core id     : 3
cpu cores   : 5
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 4
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 0
siblings    : 5
core id     : 4
cpu cores   : 5
apicid      : 4
initial apicid  : 4
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 5
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 1
siblings    : 5
core id     : 0
cpu cores   : 5
apicid      : 8
initial apicid  : 8
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 6
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 1
siblings    : 5
core id     : 1
cpu cores   : 5
apicid      : 9
initial apicid  : 9
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 7
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 1
siblings    : 5
core id     : 2
cpu cores   : 5
apicid      : 10
initial apicid  : 10
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 8
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 1
siblings    : 5
core id     : 3
cpu cores   : 5
apicid      : 11
initial apicid  : 11
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 9
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz
stepping    : 1
cpu MHz     : 2394.000
cache size  : 30720 KB
physical id : 1
siblings    : 5
core id     : 4
cpu cores   : 5
apicid      : 12
initial apicid  : 12
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat
bogomips    : 4788.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

[oracle@uimdbsit01 ~]$ 

Pada contoh ini server yang sedang saya akses memiliki 10 buah CPU Intel(R) Xeon(R). Penomoran CPUnya dimulai dari angka 0.

Server pada contoh ini dipakai untuk menjalankan Oracle Database 11g. Bila sedang mengakses database melalui SQL*Plus, kita bisa juga memeriksa jumlah CPU yang terpasang. Lihat contoh berikut ini :

SQL> select a.inst_id,a.instance_name,b.name,b.value
  2  from gv$instance a, gv$parameter b
  3  where a.inst_id=b.inst_id
  4  and
  5  b.name in ('cpu_count','parallel_threads_per_cpu')
  6  ;

   INST_ID INSTANCE_NAME    NAME                                     VALUE
---------- ---------------- ---------------------------------------- ------------
         1 uimdbsit1        parallel_threads_per_cpu                 2
         1 uimdbsit1        cpu_count                                10
         2 uimdbsit2        parallel_threads_per_cpu                 2
         2 uimdbsit2        cpu_count                                10

SQL>

Karena databasenya adalah cluster RAC, maka akan muncul informasi CPU yang dimiliki oleh masing-masing node RAC. Dalam contoh tadi, dari SQL*Plus kita bisa melihat bahwa masing-masing node RAC beroperasi pada server berkekuatan 10 CPU. Sebagai catatan, untuk bisa menggunakan perintah SQL di atas, user harus punya privilege untuk mengakses gv$parameter (atau jalankan saja lewat user sysdba)

Sekilas Tentang Mount Permission

Untuk bisa menggunakan media penyimpanan dalam sistem operasi Linux (dan sistem operasi Unix lain bahkan Mac OSX), kita perlu melakukan proses mount terlebih dahulu. Beberapa distro Linux yang dilengkapi dengan desktop environment (tampilan grafis) melakukan proses mounting secara otomatis. Jadi misalnya kita ingin menyalin data ke dalam USB flash disk, kita menyalin data ke dalam direktori yang dipakai sebagai mountpoint perangkat USB tersebut. Ilustrasi berikut saya ambil dari mesin Ubuntu saya :

Pada contoh di atas USB saya di-mounting otomatis pada direktori /media/ttirtawi/TTIRTAWI. Dari Terminal saya bisa lihat statusnya seperti tampilan berikut :

ttirtawi@ubuntu1404:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        12G  7,2G  4,0G  65% /
none            4,0K     0  4,0K   0% /sys/fs/cgroup
udev            492M  4,0K  492M   1% /dev
tmpfs           101M  976K  100M   1% /run
none            5,0M     0  5,0M   0% /run/lock
none            501M  200K  501M   1% /run/shm
none            100M   36K  100M   1% /run/user
/dev/sdb1        29G   26G  3,5G  88% /media/ttirtawi/TTIRTAWI
ttirtawi@ubuntu1404:~$ 

OS mengenali flash disk tadi dengan nama perangkat /dev/sdb1. Opsi mount yang digunakan dapat dilihat dengan menggunakan perintah mount seperti contoh berikut ini :

ttirtawi@ubuntu1404:~$ mount | grep sdb
/dev/sdb1 on /media/ttirtawi/TTIRTAWI type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)
ttirtawi@ubuntu1404:~$ 

Tanpa proses mount saya tidak bisa langsung menyalin data ke dalam perangkat /dev/sdb1.

Nah ada kalanya OS Linux yang saya gunakan tidak melakukan proses mount secara otomatis. Misalnya yang saya alami saat menggunakan Oracle Linux 6.5. Di sistem ini saya tidak memiliki desktop environment. Saya cuma bisa mengakses command line console saja. Oleh karenanya saat saya perlu menggunakan USB flash disk, saya lakukan proses mounting secara manual dengan perintah seperti berikut ini :

ttirtawi@uimtest-X220:/$ sudo mount  /dev/sdb1 /mnt

Saya lakukan mount USB-nya pada direktori /mnt. Saat saya cek statusnya dengan perintah df -h, nampak USB tersebut siap digunakan :

ttirtawi@uimtest-X220:/$ df -h
Filesystem                      Size  Used Avail Use% Mounted on
/dev/mapper/vg_uimtest-lv_root   30G  8.4G   21G  30% /
tmpfs                           3.8G  420K  3.8G   1% /dev/shm
/dev/sda1                       477M   55M  397M  13% /boot
/dev/mapper/vg_uimtest-lv_home   44G   19G   24G  45% /home
/dev/mapper/vg_uimtest-lv_opt   212G   52G  150G  26% /opt
/dev/sdb1                        29G   21G  8.7G  71% /mnt
ttirtawi@uimtest-X220:/$ 

Lalu saya coba tes membuat sebuah berkas kosong dalam direktori /mnt tadi.

ttirtawi@uimtest-X220:/$ touch /mnt/testing
touch: cannot touch `/mnt/testing': Permission denied
ttirtawi@uimtest-X220:/$

Ternyata saya belum bisa mengisikan data apapun ke dalam USB flash disk tadi. Saya mendapati error Permission denied. Ternyata saya lupa mengatur hak akses user ttirtawi, jadi hanya user root saja yang bisa mengakses USB flash disk tersebut. Saya perlu mengulangi proses mount tadi dengan opsi yang benar. Pertama saya lakukan proses umount dulu, proses ini melepaskan USB flash disk tadi dari mountpoint /mnt.

ttirtawi@uimtest-X220:/$ sudo umount /mnt

Sebelum mengulang proses mount saya cek dulu User ID & Group ID user ttirtawi dengan menggunakan perintah id seperti contoh berikut ini :

ttirtawi@uimtest-X220:/$ id
uid=500(ttirtawi) gid=500(ttirtawi) groups=500(ttirtawi),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
ttirtawi@uimtest-X220:/$ 

Informasi uid & gid tersebut perlu ditambahkan pada perintah mount supaya user ttirtawi bisa menyalin/membaca data dari dalam USB flash disk tadi. Kira-kira perintahnya menjadi seperti berikut ini :

ttirtawi@uimtest-X220:/$ sudo mount -o uid=500,gid=500 /dev/sdb1 /mnt

Dengan tambahan opsi “-o uid=500,gid=500”, saya memberi tahu kernel Linux bahwa user ttirtawi dengan ID 500 diperkenankan mengakses USB flash disk yang terpasang pada direktori /mnt. Setelah itu saya sudah bisa membuat/menghapus berkas ke dalam USB flash disk tadi :

ttirtawi@uimtest-X220:/$ touch /mnt/testing
ttirtawi@uimtest-X220:/$ rm /mnt/testing
ttirtawi@uimtest-X220:/$

Tips ini berlaku tidak hanya untuk USB flash disk, tapi berlaku juga pada setiap jenis media penyimpanan (SSD, harddisk eksternal, SD Card, dsb).

Tampilan Banner SSH Server

Seringnya saat mengakses suatu server lewat SSH, saya mendapati tampilan seperti ini :

Saya langsung disuguhi prompt untuk memasukkan password. Tapi ada kalanya server memberikan tampilan seperti di bawah ini :

Tampilan welcome seperti itu di kontrol oleh parameter Banner pada konfigurasi Open SSH server. Contoh di atas saya ambil dari server yang menggunakan CentOS Linux 6.5. Konfigurasi Banner tersebut bisa dilihat pada berkas sshd_config seperti contoh berikut ini :

[ttirtawi@bestpractise ~]$ sudo grep Banner /etc/ssh/sshd_config
Banner /etc/issue
[ttirtawi@bestpractise ~]$ 

Pada contoh di atas parameter Banner menggunakan sumber teks dari berkas /etc/issue. Dengan kata lain semua tampilan welcome tadi tersimpan dalam berkas /etc/issue.

[ttirtawi@bestpractice ~]$ sudo cat /etc/issue
[sudo] password for ttirtawi:

###############################################################
#  Welcome to Best Practice                                   #
#  All connections are monitored and recorded                 #
#  Disconnect IMMEDIATELY if you are not an authorized user!  #
###############################################################

[ttirtawi@bestpractice ~]$

Secara baku Open SSH Server tidak menggunakan parameter Banner (parameter Banner-nya masih diberi tanda pagar (commented)). Sehingga bila kita mengubahnya seperti contoh di atas kita perlu melakukan restart servis SSH Servernya seperti berikut ini :

[ttirtawi@bestpractise ~]$ sudo service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[ttirtawi@bestpractise ~]$

Dengan cara tadi kita bisa menyampaikan pesan selamat datang atau pesan peringatan pada siapa saja yang akan mengakses server tersebut lewat SSH.

Proxy APT-GET

Untuk memasang aplikasi di Ubuntu saya biasanya menggunakan perintah apt-get install. Dengan perintah ini Ubuntu akan mengambil berkas sumber aplikasi dari repositori online. Sering kali saat berada di kantor saya tidak bisa menggunakan perintah tadi, misalnya seperti contoh tampilan di bawah ini :

ttirtawi@ubuntu1404:~$ sudo apt-get install meld
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:
  libgtksourceview2.0-0 libgtksourceview2.0-common python-glade2 python-gtksourceview2
Suggested packages:
  python-gtk2-doc libgtksourceview2.0-dev
The following NEW packages will be installed:
  libgtksourceview2.0-0 libgtksourceview2.0-common meld python-glade2 python-gtksourceview2
0 upgraded, 5 newly installed, 0 to remove and 320 not upgraded.
Need to get 1.017 kB of archives.
After this operation, 7.572 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
0% [Connecting to id.archive.ubuntu.com (2001:67c:1360:8c01::18)]
^C
ttirtawi@ubuntu1404:~$

Perintah apt-get install tadi berhenti begitu saja karena apt-get tidak bisa mengakses repositori id.archive.ubuntu.com. Hal tersebut terjadi karena di kantor tempat saya bekerja, akses Internet harus melalui proxy server. Solusi yang saya temukan dari Google adalah dengan mengatur apt-get supaya menggunakan proxy juga. Pengaturan proxy untuk apt-get dilakukan dengan membuat berkas konfigurasi seperti berikut ini :

ttirtawi@ubuntu1404:~$ sudo vi /etc/apt/apt.conf.d/10proxy
Acquire::http::Proxy "http://proxy.contoh.com";

ttirtawi@ubuntu1404:~$

Nama proxy server pada contoh di atas hanya sekadar contoh, aslinya saya menggunakan alamat proxy server kantor saya. Setelah menambahkan berkas tadi saya langsung bisa menjalankan perintah apt-get untuk menginstal paket dari repositori online.

ttirtawi@ubuntu1404:~$ sudo apt-get install meld
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:
  libgtksourceview2.0-0 libgtksourceview2.0-common python-glade2 python-gtksourceview2
Suggested packages:
  python-gtk2-doc libgtksourceview2.0-dev
The following NEW packages will be installed:
  libgtksourceview2.0-0 libgtksourceview2.0-common meld python-glade2 python-gtksourceview2
0 upgraded, 5 newly installed, 0 to remove and 320 not upgraded.
Need to get 1.017 kB of archives.
After this operation, 7.572 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://id.archive.ubuntu.com/ubuntu/ trusty/universe libgtksourceview2.0-common all 2.10.5-1ubuntu2 [434 kB]
Get:2 http://id.archive.ubuntu.com/ubuntu/ trusty/universe libgtksourceview2.0-0 i386 2.10.5-1ubuntu2 [142 kB]                                                                                                                               
Get:3 http://id.archive.ubuntu.com/ubuntu/ trusty/main python-glade2 i386 2.24.0-3ubuntu3 [8.328 B]                                                                                                                                          
Get:4 http://id.archive.ubuntu.com/ubuntu/ trusty/universe meld all 1.8.4-1 [342 kB]                                                                                                                                                         
Get:5 http://id.archive.ubuntu.com/ubuntu/ trusty/universe python-gtksourceview2 i386 2.10.1-2build1 [90,2 kB]                                                                                                                               
Fetched 1.017 kB in 18s (55,7 kB/s)                                                                                                                                                                                                          
Selecting previously unselected package libgtksourceview2.0-common.
(Reading database ... 174967 files and directories currently installed.)
Preparing to unpack .../libgtksourceview2.0-common_2.10.5-1ubuntu2_all.deb ...
Unpacking libgtksourceview2.0-common (2.10.5-1ubuntu2) ...
Selecting previously unselected package libgtksourceview2.0-0.
Preparing to unpack .../libgtksourceview2.0-0_2.10.5-1ubuntu2_i386.deb ...
Unpacking libgtksourceview2.0-0 (2.10.5-1ubuntu2) ...
Selecting previously unselected package python-glade2.
Preparing to unpack .../python-glade2_2.24.0-3ubuntu3_i386.deb ...
Unpacking python-glade2 (2.24.0-3ubuntu3) ...
Selecting previously unselected package meld.
Preparing to unpack .../archives/meld_1.8.4-1_all.deb ...
Unpacking meld (1.8.4-1) ...
Selecting previously unselected package python-gtksourceview2.
Preparing to unpack .../python-gtksourceview2_2.10.1-2build1_i386.deb ...
Unpacking python-gtksourceview2 (2.10.1-2build1) ...
Processing triggers for man-db (2.6.7.1-1) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for shared-mime-info (1.2-0ubuntu3) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for bamfdaemon (0.5.1+14.04.20140409-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.54ubuntu1) ...
Setting up libgtksourceview2.0-common (2.10.5-1ubuntu2) ...
Setting up libgtksourceview2.0-0 (2.10.5-1ubuntu2) ...
Setting up python-glade2 (2.24.0-3ubuntu3) ...
Setting up meld (1.8.4-1) ...
Setting up python-gtksourceview2 (2.10.1-2build1) ...
Processing triggers for libc-bin (2.19-0ubuntu6) ...
ttirtawi@ubuntu1404:~$ 

Contoh di atas saya sedang perlu memasang aplikasi “Meld”, aplikasi ini berguna untuk membandingkan 2 buah teks dalam format berdampingan. Ini tampilan Meld saat sedang digunakan :

meld-diff-viewer

Instalasi Oracle Database 11g Pada Oracle Linux 6.5

Memasang aplikasi Oracle Database menurut saya gampang-gampang susah. Bisa dibilang gampang karena menu instalasinya menggunakan tampilan grafis (GUI=graphical user interface). Dengan tampilan grafis berarti kita tinggal klik Next Next saja. Bisa dibilang susah karena ada banyak persyaratan & persiapan yang harus dilakukan. Dari beberapa kesempatan memasang Oracle Database, hampir separuh lebih waktu dihabiskan untuk menyiapkan environment-nya. Apapun sistem operasi yang digunakan, entah Windows Server, Linux, Solaris, polanya hampir sama. Diperlukan beberapa persiapan pada level sistem operasi sebelum aplikasi Oracle Database dapat dipasangkan.

Beberapa hal yang perlu disiapkan sebagai prasyarat Oracle Database misalnya :

  1. Memasang semua paket yang diperlukan.
  2. Menambahkan user & group baru. Biasanya user Oracle Database diberi nama oracle & group-nya diberi nama dba.
  3. Memodifikasi parameter kernel OS.
  4. Menyiapkan storage untuk tempat instalasi aplikasi Oracle Database.
  5. Menyiapkan storage untuk tempat menyimpan Oracle DB File.
  6. Menyiapkan shell parameter seperti misalnya : $ORACLE_BASE, $ORACLE_HOME, $PATH.
  7. Menyiapkan network & akses grafis pada server, ini diperlukan untuk proses instalasi yang menggunakan GUI. Oracle Database sendiri menyiapkan proses instal otomatis berbasis teks (yang dikenal dengan silent installer).

Saya akan jabarkan di bawah ini, sebagai catatan beberapa bagian di atas saling bersinggungan satu sama lain. Dalam tulisan ini saya gunakan Oracle Linux 6.5 untuk contoh penjelasan masing-masing bagian.

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"
[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 unixODBC-devel.i686 unixODBC-devel.x86_64 unixODBC.i686 unixODBC.x86_64 compat-libstdc++-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 :

[oracle@svn grub]$ yum info oracle-rdbms-server-11gR2-preinstall.x86_64
Loaded plugins: security
Installed Packages
Name        : oracle-rdbms-server-11gR2-preinstall
Arch        : x86_64
Version     : 1.0
Release     : 7.el6
Size        : 32 k
Repo        : installed
From repo   : iso
Summary     : Sets the system for Oracle single instance and Real Application Cluster install for Oracle Linux 6
License     : GPL
Description : This package installs software packages and sets system parameters required for Oracle single instance and Real Application Cluster install for
            : Oracle Linux Release 6 Files affected: /etc/sysctl.conf, /etc/security/limits.conf, /boot/grub/menu.lst.

[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.conf sebelum dan sesudah modifikasi :
    [root@svn ~]# diff /etc/sysctl.conf.orabackup /etc/sysctl.conf
    37d36
    < kernel.shmmax = 68719476736
    40c39,74
    < kernel.shmall = 4294967296
    ---
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for fs.file-max is 6815744
    > fs.file-max = 6815744
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for kernel.sem is '250 32000 100 128'
    > kernel.sem = 250 32000 100 128
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmni is 4096
    > kernel.shmmni = 4096
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmall is 1073741824 on x86_64
    > # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmall is 2097152 on i386
    > kernel.shmall = 1073741824
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmax is 4398046511104 on x86_64
    > # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmax is 4294967295 on i386
    > kernel.shmmax = 4398046511104
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for net.core.rmem_default is 262144
    > net.core.rmem_default = 262144
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for net.core.rmem_max is 4194304
    > net.core.rmem_max = 4194304
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for net.core.wmem_default is 262144
    > net.core.wmem_default = 262144
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for net.core.wmem_max is 1048576
    > net.core.wmem_max = 1048576
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for fs.aio-max-nr is 1048576
    > fs.aio-max-nr = 1048576
    > 
    > # 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 :
    [root@svn ~]# diff /etc/security/limits.conf.orabackup /etc/security/limits.conf
    4d3
    < #
    6d4
    < #
    14d11
    < #
    18d14
    < #
    38d33
    < #
    40d34
    < #
    49d42
    < 
    50a44,61
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for nofile soft limit is 1024
    > oracle   soft   nofile    1024
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for nofile hard limit is 65536
    > oracle   hard   nofile    65536
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for nproc soft limit is 2047
    > oracle   soft   nproc    2047
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for nproc hard limit is 16384
    > oracle   hard   nproc    16384
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for stack soft limit is 10240KB
    > oracle   soft   stack    10240
    > 
    > # oracle-rdbms-server-11gR2-preinstall setting for stack hard limit is 32768KB
    > oracle   hard   stack    32768
    [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 :

[root@svn ~]# passwd oracle
Changing password for user oracle.
New password: 
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@svn ~]# 

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 :

[root@svn ~]# df -h
Filesystem                           Size  Used Avail Use% Mounted on
/dev/mapper/vg_svn-lv_root          11G  6.1G  3.5G  64% /
/dev/sda1                            477M   55M  398M  13% /boot
/dev/mapper/vg_oracledb-lv_oracledb  9.9G  2.4G  7.1G  26% /oracle
[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 :

[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.

[oracle@svn ~]$ cd /oracle/
[oracle@svn oracle]$ mkdir oracle11g-linux_x64
[oracle@svn oracle]$ 
[oracle@svn oracle]$ tar xf linux.x64_11gR2_database_1of2.zip -C oracle11g-linux_x64 
[oracle@svn oracle]$ tar xf linux.x64_11gR2_database_2of2.zip -C oracle11g-linux_x64 
[oracle@svn oracle]$ 
[oracle@svn oracle]$ ls oracle11g-linux_x64
doc  install  response  rpm  runInstaller  sshsetup  stage  welcome.html
[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 :

[oracle@svn ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs
ORACLE_BASE=/oracle/database
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/11.2.0/server
export ORACLE_HOME
ORACLE_SID=SVN
export ORACLE_SID
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export PATH
[oracle@svn ~]$

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 :

  • menginstal aplikasi Oracle Databasenya.
  • membuat database-nya, ini sifatnya opsional. Kita bisa membuat database secara manual tanpa perlu menggunakan OUI.
  • mengatur Oracle Database Listener. Ini juga bisa diatur manual dengan membuat berkas listener.ora atau dengan menggunakan program netca.

Berkaitan dengan OUI, persiapan lain yang harus dilakukan adalah mendaftarkan alamat IP server ke dalam berkas /etc/hosts

[root@svn ~]# hostname
svn
[root@svn ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:49:df:4e brd ff:ff:ff:ff:ff:ff
    inet 192.168.57.53/24 brd 192.168.57.255 scope global eth0
    inet6 fe80::a00:27ff:fe49:df4e/64 scope link 
       valid_lft forever preferred_lft forever
[root@svn ~]#
[root@svn ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.57.53     svn
[root@svn ~]# 

Bila OUI (Oracle Universal Installer) tidak menemukan alamat IP pada berkas /etc/hosts akan muncul error seperti tampilan berikut ini :

Aplikasi OUI memerlukan tampilan grafis. Server harus memiliki X server sendiri untuk menampilkan menu-menu instalasinya OUI. Saya bisa menggunakan VNC Server untuk mengakses tampilan OUI. Saya pernah tulis cara memasang VNC Server di sini. Alternatif lain saya dapat menggunakan SSH X Forwarding. Pada contoh ini saya menggunakan opsi kedua saja X Forwarding. Di Mac saya tinggal mengakses server dengan perintah ssh -X lalu menjalankan aplikasi runInstaller.

ttirtawi@macbookpro:~$ ssh -X oracle@192.168.57.53
oracle@192.168.57.53's password: 
Last login: Sat Oct 11 14:32:32 2014 from 192.168.57.1
[oracle@svn ~]$ /oracle/oracle11g-linux_x64-disk1/runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 2416 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 1227 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-10-11_02-32-54PM. Please wait ...[oracle@svn ~]$ 

Tanpa adanya X Server & tanpa SSH X Forwarding, aplikasi runInstaller akan mengeluarkan error seperti ini :

[oracle@svn ~]$ /oracle/oracle11g-linux_x64-disk1/runInstaller 
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 1611 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 1227 MB    Passed
Checking monitor: must be configured to display at least 256 colors
    >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,

Continue? (y/n) [n] 

Pada contoh saya tadi, tampilan OUI akan langsung muncul di layar Macbook saya. Jangan lupa sebelum menjalankan perintah runInstaller tadi, semua shell parameter yang saya jelaskan di atas harus sudah aktif. Kita bisa cek dengan perintah env untuk memastikan semua shell parameter sudah siap.

Oracle Database menyediakan alternatif instalasi tanpa tampilan GUI. Metode tersebut disebut dengan silent installer. Tulisan ini tidak membahas silent installer.

Proses Instalasi

Berikut ini adalah contoh langkah-langkah menggunakan OUI untuk membuat sebuah database sederhana.

  • Ini adalah contoh tampilan pertama setelah kita menjalankan OUI dengan perintah runInstaller :
  • 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.Hasilnya seperti tampilan berikut ini :

    Pada contoh di atas OUI melaporkan beberapa paket yang diperlukan belum terpasang & ukuran swap tidak memenuhi persyaratan.

  • 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.
    [oracle@svn ~]$ rpm -qa | grep libaio-devel
    libaio-devel-0.3.107-10.el6.x86_64
    libaio-devel-0.3.107-10.el6.i686
    [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 :
  • Menjelang akhir proses instalasi, OUI akan meminta kita menjalankan 2 buah script : orainstRoot.sh & root.sh. Kedua script ini harus dijalankan oleh user root.
    [root@svn ~]# /oracle/oraInventory/orainstRoot.sh 
    Changing permissions of /oracle/oraInventory.
    Adding read,write permissions for group.
    Removing read,write,execute permissions for world.
    
    Changing groupname of /oracle/oraInventory to oinstall.
    The execution of the script is complete.
    [root@svn ~]# /oracle/database/11.2.0/server/root.sh 
    Running Oracle 11g root.sh script...
    
    The following environment variables are set as:
        ORACLE_OWNER= oracle
        ORACLE_HOME=  /oracle/database/11.2.0/server
    
    Enter the full pathname of the local bin directory: [/usr/local/bin]: 
       Copying dbhome to /usr/local/bin ...
       Copying oraenv to /usr/local/bin ...
       Copying coraenv to /usr/local/bin ...
    
    
    Creating /etc/oratab file...
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root.sh script.
    Now product-specific root actions will be performed.
    Finished product-specific root actions.
    [root@svn ~]# 
    

    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 :

[oracle@svn ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 12 13:56:13 2014

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>     

Untuk memeriksa nama database & jumlah memori yang digunakan saya bisa gunakan perintah berikut ini :

SQL> show parameter db_name

NAME    TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name      string SVN
SQL> show sga

Total System Global Area 1653518336 bytes
Fixed Size    2213896 bytes
Variable Size  956303352 bytes
Database Buffers  687865856 bytes
Redo Buffers    7135232 bytes
SQL> 

Atau misalnya saya ingin memeriksa DB File yang digunakan oleh database baru ini, saya bisa gunakan perintah berikut ini :

SQL> SELECT NAME FROM V$CONTROLFILE;

NAME
--------------------------------------------------------------------------------
/oracle/database/oradata/SVN/control01.ctl
/oracle/database/flash_recovery_area/SVN/control02.ctl

SQL> 
SQL> SELECT NAME FROM V$DATAFILE;

NAME
--------------------------------------------------------------------------------
/oracle/database/oradata/SVN/system01.dbf
/oracle/database/oradata/SVN/sysaux01.dbf
/oracle/database/oradata/SVN/undotbs01.dbf
/oracle/database/oradata/SVN/users01.dbf
/oracle/database/oradata/SVN/example01.dbf

SQL> 

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.