Thursday, February 25, 2010

ORA-01102 : cannot mount database in EXCLUSIVE mode

ORA-01102 muncul pada saat menghidupkan database, atau pada saat hendak mounting database.
Penyebabnya adalah ada instance lain yang dibuka dalam parallel mode.
Solusinya adalah :
1. Lihat di /u01/app/oracle/admin//bdump/alert_.log. Pada kasus saya, di lognya muncul pesan :

starting up 5 shared server(s) ...
Tue Feb 23 16:56:41 2010
ALTER DATABASE MOUNT
Tue Feb 23 16:56:41 2010
sculkget: failed to lock //u01/app/oracle/product/10.2.0/db_1/dbs/lkSIMPLIBU exclusive
sculkget: lock held by PID: 27415
Tue Feb 23 16:56:41 2010
ORA-09968: unable to lock file
Linux Error: 11: Resource temporarily unavailable
Additional information: 27415


dari log tersebut, terlihat bahwa proses dengan PID 27415 mengunci sculkgetnya.

2. Lihat dengan menggunakan ps ax proses dengan PID 27415 :

27411 ? Ss 0:00 ora_psp0_simplibu
27413 ? Ss 0:00 ora_mman_simplibu
27415 ? Ss 0:00 ora_dbw0_simplibu
27417 ? Ss 0:00 ora_lgwr_simplibu
27419 ? Ss 0:00 ora_ckpt_simplibu
27421 ? Ss 0:00 ora_smon_simplibu


3. Kill proses dengan PID tersebut :

[root@localhost ~]# kill -9 27415

4. Startup kembali instancenya :

SQL > startup nomount;
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Sized 1218292 bytes
Variable Size 75499788 bytes
Database Buffers 83886080 bytes
Redo Buffers 7168000 bytes

SQL > alter database mount;
Database altered.

SQL > alter database open;
Database altered.


Instance bisa dimount dan diopen seperti biasa.

Friday, February 19, 2010

ORA-00845 : MEMORY_TARGET not supported on this system

Pada saat start database menggunakan command startup
, munculORA-00845.
Penyebabnya :
- ukuran /dev/shm kurang dari ukuran MEMORY_TARGET atau MEMORY_MAX_TARGET.

Solusinya :
- tambah ukuran dari /dev/shm :
  • # vi /etc/fstab
  • edit isi /etc/fstab pada bagian /dev/shm :
tmpfs /dev/shm tmpfs defaults,size=2500M (bila ukurannya hendak diubah menjadi 2,5Gb)
  • remount /dev/shm
# mount -o remount /dev/shm
  • df -h untuk melihat apakah ukuran dari /dev/shm sudah berubah :
$ df -h
/dev/mapper/VolGroup00-LogVol00
61G 30G 28G 52% /
/dev/sda1 99M 27M 67M 29% /boot
tmpfs 2.5G 1.1G 1.5G 42% /dev/shm

Wednesday, February 17, 2010

ORA-27154 : post/wait create failed

[root@cluster2 ~]# /u01/app/grid/bin/crsctl start cluster
CRS-2672: Attempting to start 'ora.asm' on 'cluster2'
ORA-27154: post/wait create failed
CRS-2674: Start of 'ora.asm' on 'cluster2' failed
CRS-2679: Attempting to clean 'ora.asm' on 'cluster2'
CRS-2681: Clean of 'ora.asm' on 'cluster2' succeeded
CRS-4000: Command Start failed, or completed with errors.

Penyebabnya adalah adanya kesalahan di setingan kernel parameter. Maka dari itu, cek setingan kernelnya:
[root@cluster1 ~]# vi /etc/sysctl.conf
kernel.sem = 250 100

setingan kernel yang direkomendasikan Oracle :
kernel.sem = 250 32000 100 128

edit setingan kernel parameter tersebut, kemudian :
[root@cluster1 ~]# 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
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
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

kemudian, jalankan kembali perintah 'start cluster'.



Monday, February 15, 2010

Ganti password user root database mysql

Untuk mengganti password user root dari database mysql :
- stop database mysql :
# /etc/init.d/mysqld stop

cek kemungkinan mysql masih aktif :
# ps ax | grep mysqld

- buat text file dengan isi sbb :
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;


perintah UPDATE dan FLUSH harus ditulis pada baris yang terpisah.

- start database mysql dengan menggunakan perintah mysqld_safe :
mysqld_safe --init-file=/home/mysql-init &

- masuk ke database mysql dengan menggunakan password yang baru :
# mysql -u root -p

- hapus file init :
# rm -rf /home/mysql-init

Reset iPod Nano

Berhubung iPod Nano sering nge-hang tiba2(ga mau play songs,ga mo nyala, dll yang dirasa nge-hang), dan daripada harus berulang2 nanya ke mr.Google or nyari2 di situs apple.com, berikut sedikit catatan gimana caranya nge-reset iPod Nano:
  1. toggle(bahasa indonesia yang pas apaan sih..) switch (nahh lohh....ini lagi..http://emo.huhiho.com) HOLD ke posisi ON dan OFF.
  2. tekan dan tahan tombol Menu dan tombol tengah secara bersamaan sampe logo apple muncul.
that's it!!udah!!gitu aja...

Thursday, February 11, 2010

Persiapan Instalasi Oracle Grid

Beberapa hal yang perlu dilakukan sebelum menginstal Oracle RAC :

Buat user oracle, group oinstall dan group dba di kedua cluster (apabila hanya membuat 2 cluster saja dan user oracle belum ada) :
# /usr/sbin/groupadd -g 1000 oinstall
# /usr/sbin/groupadd -g 1001 dba
# useradd -u 1100 -g oinstall -G dba -d /home/oracle -r oracle

Buat secure shell di antara kedua user oracle di tiap cluster :
$ su - oracle
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ /usr/bin/ssh-keygen -t rsa *terima default settingnya
Login di cluster 1 sebagai user oracle :
$ su - oracle
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
$ scp authorized_keys cluster2:/home/oracle/.ssh
Login di cluster 2 sebagai user oracle :
$ su - oracle
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
$ scp authorized_keys cluster1:/home/oracle/.ssh
Tes dengan cara ssh ke masing2 cluster dengan user oracle, kalau masih meminta password berarti secure shell belum berhasil.

Buat oracle base :
# mkdir -p /u01/app/oracle/11gR2
# chown -R oracle:oinstall /u01/app/oracle/11gR2
# chmod -R 775 /u01/app/oracle/11gR2
Lakukan ini di kedua cluster

Buat grid home :
# mkdir -p /u01/grid
# chown -R oracle:oinstall /u01/grid
# chmod -R 775 /u01/grid
Lakukan ini di kedua cluster

Setelah itu , baru jalankan ./runInstaller untuk menginstall Oracle Grid.



Tuesday, February 9, 2010

command SRVCTL dan CRSCTL

Untuk menggunakan perintah SRVCTL, harus masuk dulu ke $ GRID_HOME/bin.

untuk mengetahui status database RAC :
$ srvctl status database -d

untuk mengetahui status instance yang aktif :
$ srvctl status instance -d -i ,

untuk mengetahui status dari cluster:
$ crsctl check crs

untuk mengetahui status offline/online dari cluster:
$ crs_stat -t -v

untuk mematikan cluster di semua node:
$ crs_stop -all

untuk menghidupkan cluster di semua node:
$ crs_start -all