Wednesday, April 21, 2010

Menyembunyikan Tomcat Version di Default Error Page

untuk menyembunyikan versi Tomcat dari error page,bisa dilakukan dengan cara :
  • buat direktori baru org/apache/catalina/util di $CATALINA_HOME/lib:
mkdir -p $CATALINA_HOME/lib/org/apache/catalina/util
  • buat file baru ServerInfo.properties di dalam direktori yang baru dibuat:
#vi $CATALINA_HOME/lib/org/apache/catalina/util/ServerInfo.properties

kemudian isi dengan :
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

server.info=Apache Tomcat/@VERSION@
server.number=@VERSION_NUMBER@
server.built=@VERSION_BUILT@
untuk server.info bisa diganti sesuai keinginan.
  • ubah owner file tersebut sesuai dengan user yang digunakan (selain root):
chown -R user.user $CATALINA_HOME/lib/org/apache/catalina/util/ServerInfo.properties
  • restart Tomcat
  • hasilnya :

Tuesday, March 30, 2010

PRCR-1079 pada saat starting database RAC

Pada saat menyalakan database RAC, muncul pesan error :
PRCR-1079 : Failed to start resource ora.simpli.db
ORA-00119: invalid specification for system parameter %s
CRS-2674: Start of 'ora.simpli.db' on 'cluster2' failed
CRS-2632: There are no more servers to try to place resource 'ora.simpli.db' on that would satisfy its placement policy
ORA-00119: invalid specification for system parameter %s
CRS-2674: Start of 'ora.simpli.db' on 'cluster1' failed


ORA-00119 muncul biasanya karena masalah listener, apakah host atau portnya salah. Cek di tnsnames.ora:

(ADDRESS = (PROTOCOL = TCP)(HOST = clustersmi-scan.xyz.com)(PORT = 1521)

karena ini merupakan database RAC, kita mengakses database dengan menggunakan SCAN ip address. Dilihat apakah host pada tnsnames.ora sudah sama dengan SCAN namenya:

[oracle@cluster1 ~]$ srvctl config scan
SCAN name: clustersmi-scan.abcde.com, Network: 1/192.87.58.0/255.255.255.0/eth0
SCAN VIP name: scan1, IP: /clustersmi-scan.abcde.com/192.87.58.150


ternyata hostname di tnsnames.ora berbeda dengan SCAN name, maka kita edit tnsnames.ora menjadi sama dengan SCAN name.
Begitu juga di pfilenya. Di bagian remote_listener diganti dengan SCAN name:

remote_listener=clustersmi-scan.abcde.com:1521

kemudian kita nyalakan kembali databasenya.
[oracle@cluster1 ~]$ srvctl start database -d simpli
PRCR-1079 : Failed to start resource ora.simpli.db
ORA-00119: invalid specification for system parameter %s
CRS-2674: Start of 'ora.simpli.db' on 'cluster2' failed
CRS-2632: There are no more servers to try to place resource 'ora.simpli.db' on that would satisfy its placement policy
ORA-00119: invalid specification for system parameter %s
CRS-2674: Start of 'ora.simpli.db' on 'cluster1' failed

ternyata masih mendapat error yang sama.

Ubah kembali hostname, remote_listener,host file ke SCAN name pada saat instalasi clusterware, yaitu clustersmi-scan.xyz.com.

di tnsnames.ora :
(ADDRESS = (PROTOCOL = TCP)(HOST = clustersmi-scan.xyz.com)(PORT = 1521))

di remote_listener dalam pfile :
remote_listener=clustersmi-scan.xyz.com:1521

di hosts file :
192.87.58.150 clustersmi-scan.xyz.smi clustersmi-scan
192.87.58.152 clustersmi-scan.xyz.smi clustersmi-scan


kemudian, nyalakan kembali database RACnya :
[oracle@cluster1 ~]$ srvctl start database -d simpli
[oracle@cluster1 ~]$ srvctl status database -d simpli
Instance simpli_1 is running on node cluster1
Instance simpli_2 is running on node cluster2


Database RAC bisa dinyalakan tanpa pesan error. Ini berarti SCAN name pada saat penginstallan yang digunakan. Perubahan SCAN name dengan cara menghapus SCAN kemudian menambahkannya lagi, tidak bisa mengganti SCAN name awal penginstalan meskipun di tnsnames.ora, hosts file, dan pfile sudah diganti dengan SCAN name yang baru.

Monday, March 29, 2010

Mengetahui Lokasi Voting Disk

Untuk mengetahui letak dari Voting Disk, bisa dilakukan dengan perintah :
$ GRID_HOME/bin/crsctl query css votedisk

outputnya :
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 442ef04571544f84bf6b731fbd300026 (ORCL:VOL1) [DATA]
Located 1 voting disk(s).

Wednesday, March 3, 2010

Tablespace Information

Untuk mengetahui penggunaan dari tablespace di database Oracle melalui console, dapat diperoleh melalui script berikut:
select a.TABLESPACE_NAME,
a.BYTES bytes_used,
b.BYTES bytes_free,
b.largest,
round(((a.BYTES-b.BYTES)/a.BYTES)*100,2) percent_used
from
(
select TABLESPACE_NAME,
sum(BYTES) BYTES
from dba_data_files
group by TABLESPACE_NAME
)
a,
(
select TABLESPACE_NAME,
sum(BYTES) BYTES ,
max(BYTES) largest
from dba_free_space
group by TABLESPACE_NAME
)
b
where a.TABLESPACE_NAME=b.TABLESPACE_NAME
order by ((a.BYTES-b.BYTES)/a.BYTES) desc

hasilnya :


keterangan :
1. Tablespace : nama dari tablespace
2. Bytes_used : ukuran file yang terpakai dalam bytes
3. Bytes_free : ukuran free space dalam bytes
4. Largest : ukuran terbesar dari free space dalam bytes
5. Percent_used : prosentase dari tablespace yang telah digunakan

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