Kuatnya Velg Pulsar

•March 4, 2010 • 6 Comments

 

Pagi ini, saya berangkat ke kantor dengan teman saya, cucu, yang motornya ada di kantor (kemarin dia pergi SPJ ke luar kota :D ). Seperti biasa my baby blue Pulsar melaju dengan kecepatan yang bervariasi dengan beban tambahan :) 2 orang dewasa dan top box full.

ilustrasi velg (motor mbah darkwolf :D )

Di tengah perjalanan, saat terpesona oleh raungan ninja yang membuat air liur menetes (*lebay :D *) tiba-tiba hadirlah lubang yang cukup besar yang tertutup oleh mobil di depan. Tanpa basa-basi my baby blue langsung terpikat oleh keseksian lubang tersebut dan “braaakk…”, lubang tersebut dihajar oleh 2 buah velg my baby blue :D .

ilustrasi-lubang (jaller.wordpress.com)

Untungnya (*ciri khas orang indonesia, selalu ada untungnya hehehe :D ) saya masih dapat mengendalikan my baby blue, sehingga motor tetap dapat berjalan dengan stabil.

Langsung terbersit berbagai macam pikiran setelah perjumpaan velg dengan lubang tersebut. Pikiran bagaimana nasib velg my baby blue, pikiran bagaimana dengan laptop di box belakang, pikiran kapan bisa memiliki ninja.. (halah kok nyasar ke sini :D ), namun akhirnya mencoba untuk tenang hingga sampai di tujuan (kantor).

Sesampainya di kantor, saya dan teman saya mencoba mengecek kondisi velg my baby blue,  baik yang depan maupun yang belakang. Berdasarkan pengamatan mata awam, nampaknya tidak terdapat hal-hal yang mencurigakan pada velg, dan mudah-mudahan baik-baik saja :D Ternyata memang velg pulsar sangat kuat, sesuai dengan yang sering saya dengar di milis-milis atau pun forum-forum.

Memang jalanan di Bekasi menuju Cikarang sangat “mulus” sekali, entah jalan Raya Bekasi atau jalan kalimalang. Sangat memacu “adrenalin” (emosi untuk mencak-mencak pemerintah :D ) dan membuat fast-moving parts menjadi sangat “awet” :D

Saya hanya bisa berdoa, mudah-mudahan pemerintah kabupaten Bekasi diberi hidayah untuk cepat memperbaiki jalanan yang rusak. Amiin…

Akhirnya… Pulsar 200 yang saya pilih.

•October 1, 2008 • 19 Comments

Pulsar 200 merupakan motor laki-laki keluaran India yang masuk sekitar Januari 2008 lalu. Motor ini hadir setelah Pulsar 180 diluncurkan sekitar tahun 2006 lalu. Pulsar 200 ini diharapkan bisa sesukses Pulsar 180 dalam segi penjualannya di Indonesia.

Mengapa membahas Pulsar 200? Ya karena saya telah memilikinya saat ini.  Sebelum membeli motor ini, saya dihadapkan pada beberapa pilihan yaitu:
- Yamaha V-Ixion 150
- Yamaha Scorpio 225
- Kawasaki Ninja 150 M
- Bajaj Pulsar 180
- Bajaj Pulsar 200
- TVS Apache 160 RTR
Dari list diatas terlihat range yang mampu saya raih berkisar itu :P . Dari list diatas lalu di sortir lagi. Mungkin ada pertanyaan ya? kenapa tidak ada motor batangan dari Honda??? :D Tentang ini mungkin kita semua sudah tau jawabannya ;)   , jadi tidak usah dibahas :D .

  • Pertama, untuk TVS Apache. Sebenarnya saya tertarik untuk membeli motor ini, namun ya mau bagaimana lagi, mau cari dealer resmi di Bekasi ngga tau dimana :D . Akhirnya TVS Apache ini dicoret dari daftar. Lagipula informasi tentang motor ini masih sedikit baik di forum/blog. Parahnya lagi di website resmi TVS di Indonesia saja malah di redirect ke website TVS India *doh*.

  • Kedua, beralih ke Ninja. Yup ninja, karena motor ini amat kencang untuk kategori motor standar pabrikan :D . Tapi apa daya karena tipe mesinnya yang 2-tak membuat saya terpaksa mencoretnya dari daftar.

  • Ketiga, Yamaha V-Ixion 150. Motor dengan teknologi injeksi ini cukup menarik, namun perbandingan harga yang amat tipis dengan scorpio juga dengan tenaga yang jauh dibawah scorpio membuat minat saya agak berkurang. Sikap dealer yang sangat menjengkelkan akhirnya membuat saya mencoret Yamaha V-Ixion dari daftar, sikap apa itu??? yup, keharusan membeli via kredit :D . Ini sudah jadi rahasia umum ternyata untuk V-Ixion dan mio.

  • Keempat, Yamaha Scorpio. Motor dengan tenaga besar dan akselerasi yang mantap ini cukup menarik hati, walaupun dari sisi penampilan sekilas terlihat kotak-kotak :P , namun saya sudah punya bayangan untuk memodif sedikit tampilan motor ini menjadi lebih baik (seperti penggunaan ring 17 & peninggi monoshocknya). Motor ini bisa di bawa pulang dengan pembelian cash. Namun faktor konsumsi bensin yang benar-benar haus :D membuat saya menahan diri dulu sejenak untuk berpikir-pikir lagi. Namun tetap masih menyimpan ketertarikan terhadap motor ini.
  • Kelima, Bajaj Pulsar. Sebelum memutuskan membeli motor, saya coba browsing lagi ke forum-forum & blog-blog mengenai informasi motor batangan. Saya coba mencari informasi tentang motor India yang satu ini, motor dengan suara yang halus seperti motor matic ini :P membuat saya agak penasaran. Setelah membuka informasi di internet akhirnya saya menemukan banyak informasi mengenai motor India ini di forum serayamotor.com. Dari postingan di forum tersebut membuat saya makin tertarik dengan motor ini. Salah satunya adalah performanya yang lumayan + konsumsi BBM yang baik :) .

Pilihan saat ini mengerucut antara Scorpio / Pulsar. Pada dua pilihan ini saya cukup bingung memilihnya, karena masing-masing punya keunggulan. Scorpio memiliki tenaga & torsi yang besar, sedangkan pulsar walaupun  tenaga & torsi nya masih dibawah scorpio namun dari sisi konsumsi BBM jauh lebih baik :) . Untuk pulsar yang dimaksud disini adalah yang tipe 200CC, karena dari sisi tampilan dan fitur lebih baik dari yang 180CC :D .

Akhirnya dengan pertimbangan yang ngga jelas (ngalor & ngidul) dipilihlah Pulsar 200 sebagai penerus generasi *halah*. Tapi lucunya Pulsar 200 ini dibeli dengan kredit :P kenapa lucu?? ya iya, saya segitu sewotnya sama Yamaha ketika mau membeli V-Ixion cash, eh tapi Pulsar 200 ini saya malah lebih memilih kredit :P . Entahlah… Yang pasti mulai saat ini Sang Serigala akan selalu menemani saya dalam mengarungi kehidupan ini… *halah lebay*.

Membuat TextBox hanya menerima angka dengan Javascript

•May 11, 2008 • 4 Comments

Ketika saya sedang mencoba membuat sebuah page di dalam aplikasi web-based, terdapat beberapa textbox/textfield dalam form yang hanya bisa menerima angka saja (misalkan no telp, fax dll).

Sempat googling sana sini dan menemukan script yang cukup baik dari Marco dan saya dapat dari sini.

Berikut code Javascriptnya:

JavaScript code:

function numbersonly(e, decimal) { var key; var keychar;if (window.event) {    key = window.event.keyCode; } else if (e) {    key = e.which; } else {    return true; } keychar = String.fromCharCode(key);if ((key==null) || (key==0) || (key==8) ||  (key==9) || (key==13) || (key==27) ) {    return true; } else if ((("0123456789").indexOf(keychar) > -1)) {    return true; } else if (decimal && (keychar == ".")) {   return true; } else    return false; }

HTML code:

<form>   <input name="number"  onKeyPress="return numbersonly(event, false)"> </form>

NB: Untuk eventnya bisa gunakan onkeypress atau onkeydown, jadi ketika tombol ditekan / masih ditekan (belum dilepas).

Menginstall Office 2007 di linux dengan Wine

•April 10, 2008 • 5 Comments

Iseng-iseng buka tag surfer di wordpress, eh ada artikel menarik tentang cara menginstall Office 2007 di Linux dengan Wine. Source asli didapat dari sini
yang di buat oleh Daniel de Oliveira.

Step-step nya adalah
* Download lalu install crossover-game trial dari codeweavers (gunakan crossover games, alasan lebih jelasnya kurang tau :D )
* Install wine versi terakhir (bisa diambil dari Ubuntu 8.04, atau gentoo ~x86) atau bisa juga langsung dari http://www.winehq.com
* Download dan install winetricks di http://www.kegel.com/wine/winetricks
* Konfigurasikan Wine yang telah diinstalll dengan Winecfg dengan cara mengetikkan “winecfg” di console.
* Dari winetricks, install package-package berikut: dotnet11, dotnet20, gdiplus, msxml3, msxml4, msxml6, vcrun2005sp1 dan vcrun2008.
* masuk ke direktori winenya di /home//.wine/drive_c/windows/system32 lalu rubah rpcrt4.dll menjadi file lain misalnya rpcrt4.dll.bak
* Copy /opt/cxgames/lib/wine/rpcrt4.dll.so ke /home//.wine/drive_c/windows/system32/rpcrt4.dll (extension so di file target dihilangkan).
* Mount cd installasi office2007 dengan opsi -o unhide (alasannya tidak diketahui :D ).
* Masuk ke direktori cdrom yang telah dimoutn kemudian jalankan wine setup.exe
* Crossover trial dapat diuninstall (hanya mengambil file rpcrt4.dll saja untuk proses instalasi).
* Lalu hapus file rpcrt4.dll yang tadi telah dicopy
* Kembalikan file rpcrt4.dll.bak ke file semula yaitu rpcrt4.dll

Office 2007 anda seharusnya dapat berjalan dengan lancar :P Jika tidak berjalan, silakan bertanya ke author :D karena saya juga belum mencoba hehehe….

Administrasi (perintah-perintah) dasar di Oracle

•April 10, 2008 • 2 Comments

Perintah-perintah ini saya tulis untuk mengingatkan saya yang sering lupa dengan perintah-perintah dasar untuk administrasi database di Oracle :D (maklum agak2 keriting perintahnya buat sayah :P )

  • Membuat tablespace (permanent)

    Dengan satu datafile:

    create tablespace NAMATABLESPACE logging datafile '/path/namadatafile01.dbf' size 50M
    autoextend on next 128K maxsize 16553M extent management local segment space
    management auto;

    Dengan dua atau lebih datafile:

    create tablespace NAMATABLESPACE logging datafile
    '/path/namadatafile01.dbf' size 50M,
    '/path/namadatafile02.dbf' size 50M,
    '/path/namadatafile03.dbf' size 50M,
    ....
    '/path/namadatafilexx.dbf' size 50M
    autoextend on next 128K maxsize 16553M extent management local segment space
    management auto;
  • Membuat temporary tablespace
    create temporary tablespace NAMATABLESPACE tempfile '/path/namatempfile01.dbf' size 50M
    autoextend on next 128K maxsize 16553M extent management;
  • Membuat User & Menghapus UserUntuk create
    create user NAMAUSER identified by PASSWORD
    default tablespace NAMATABLESPACE
    temporary tablespace NAMATEMPORARYTABLESPACE
    [quota [NILAIMAXDITABLESPACE / UNLIMIT] on NAMATABLESPACE]
    [profile NAMAPROFILE]
    account unlock;

    Untuk drop

    drop user NAMAUSER [cascade];
  • Membuat DBLINK
    create [public] database link NAMADBLINK
    connect to NAMAUSERTARGET
    identified by PASSWORDTARGET
    using 'TNSNAMETARGET';

    Jika ingin membuat public database bisa dilakukan oleh user SYS atau SYSTEM.
    Namun jika ingin private maka perintah diatas harus dilakukan oleh user yang akan menggunakan DBLINK tersebut dan hanya akan bisa diakses oleh si user pembuat DBLINK nya.

    bersambung… (cape.. :D )

  • Memindahkan datafile di tablespace
  • Menghapus datafile di tablespace
  • Mengelola Constraint
  • Menggenerate beberapa object di Oracle

Looping dengan FOR di BASH

•April 10, 2008 • Leave a Comment

Pusing dengan banyak perintah bash yang berulang-ulang di script backup database yang saya buat, akhirnya saya mencari alternatif dengan pengulangan. Ya, saya walaupun script bash untuk backup nya sangat sederhana :P namun mungkin akan berguna ke depannya jika saya ingin mengembangkan coding script bash saya :D .

Coba searching di google dan saya menemukan caranya yaitu:

  • Menggunakan For

for i in $(seq 1 100)
do echo -n "looping${i} "
touch looping${i} 2>&1
done

Script diatas akan membuat 5 file yang bernama  (looping1, looping2, dst.)

  • Menggunakan Foreach (belum berhasil ketika di test :P )
foreach i ( ` /bin/ls * ` )
foreach? echo $i
foreach?/bin/grep your_grep_string $i
foreach? end

Penasaran akhirnya saya coba cari lagi bagaimana dengan array dan melooping array, lalu saya menemukan jawabannya yaitu :

NAMA=(
GERARD
KAKA
PATO
)

for ((i=0; i<${#NAMA[@]}; i++))
do
echo “NAMA ke “$i” adalah = “${SCHEMA[$i]}
echo “          :: ===== ::”
echo “  “
done

Simple juga yah :P

Memperkecil ukuran Datafile pada UNDO TABLESPACE ORACLE

•February 28, 2008 • Leave a Comment

Kadang-kadang di Database production kita melakukan penghapusan data yang cukup besar tiap tahun / sewaktu-waktu.
Proses ini akan menghasilkan redo yang amat besar.
Dengan proses penghapusan tadi maka undo tablespace akan bertambah dengan amat cepat dan menghabiskan banyak space harddisk.

Kita dapat memperkecil ukuran tablespace ini karena memang kita tidak membutuhkan undo tablespace yang terlalu besar, jika tidak ada proses penghapusan data yang teramat banyak.Kadang-kadang kita menemukan masalah :

  • Kita ingin membuat undo tablespace dengan datafile dengan tipe AUTOEXTEND ON MAXSIZE UNLIMITED untuk mencegah error ORA-1651 (unable to extend save undo segment by in tablespace).
  • Dan juga jika kita telah menjalankan perintah resize untuk mengecilkan datafile “alter database datafile…resize” dan selalu menghasilkan error ORA-3297 (file contains blocks of data beyond requested RESIZE value) yang berarti datanya lebih besar daripada nilai size datafile baru.
  • Kita juga ingin mengecilkan datafile untuk mendapatkan free space untuk dipakai oleh tablespace lain.

Solusi yang dapat digunakan adalah:

  • Membuat undo tablespace baru dengan ukuran yang lebih kecil.

    SQL> create undo tablespace UNDO_RBS1 datafile ‘undorbs1.dbf’ size 100m;

  • Menset undo tablespace yang baru dibuat tadi sebagai default undo_tablespace

    SQL> alter system set undo_tablespace=undo_rbs1;

  • Menghapus undo_tablespace yang lama.

    SQL> drop tablespace undo_rbs0 including contents

CATATAN: Menghapus undo tablespace yang lama mungkin akan memberikan pesan error ORA-30013 (undo tablespace ‘%s’ is currently in use). Error ini menunjukkan bahwa undo tablespace yang lama sedang digunakan oleh sistem. Kita harus menunggu sampai undo tablespace ini tidak digunakan. Dengan kata lain kita harus menunggu proses yang sedang dijalankan oleh user sampai user tersebut menjalankan commit atau rollback.


Hal lain yang perlu diperhatikan:

  • Nilai dari parameter undo_retention also juga mempunyai peran dalam pertumbuhan undo_tablespace. Jika tidak ada space undo lagi untuk transaksi baru, maka space undo yang ada akan digunakan kembali (reused).
    Tetapi, jika datafile dari undo_tablespace di set untuk extend secara otomatis, maka tidak akan di-reused, tetapi akan mengalokasikan space baru dan datafilenya dari undo_tablespacenya pun mulai membengkak.
  • Apakah datafile besar itu buruk?
    Besarnya datafile dari tablespace secara teori akan berpengaruh kepada Database dan Operating System. Dengan datafile yang kecil OS akan menggunakan I/O secara minimal. Oracle akan dapat menampung keseluruhan file dan akan lebih sedikit segment file yang dikelola.
    Dengan AUM (Automatic User Managed) kita akan mendapatkan bitmapped file dan keuntungan dari performanya (banyaknya undo segment akan secara otomatis dikelola dan tidak bergantung pada ukuran dari tablespace).
    Dengan datafile yang lebih besar kita akan dapat masalah baru yaitu backup proses akan memakan waktu lebih lama, namun bukan berarti juga karena datafile tersebut besar akan sangat berpengaruh buruk. Hanya saja kita harus lebih spesifik dan intens untuk memonitoring database.

CREATION OF Oracle 9i STANDBY DATABASE through RMAN.

•February 21, 2008 • 3 Comments

Kemarin dapat artikel tentang pembuatan Standby Database di Oracle 9i di sini.
Artikel ini ditulis oleh Arjun Raja di dbapool.com.
Saya paste saja dulu. (Masih malas translatenya dan belum dicoba juga :-P ).
Yah mudah-mudahan bisa bermanfaat.

PRE-REQUISITES: RMAN catalog in use and use of external media management layer
configure on both machines.

PRIMARY SITE: ITLINUXDEVBLADE07
STANDBY SITE:ITLINUXDEVBLADE08
DATABASE: dgtest9i.

Login to catalog and set configuration from primary database:

Export ORACLE_SID=dgtest9i

rman target / catalog rman/rman@rmanp

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO \’SBT_TAPE\’;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO
\’/u01/ORACLE/dgtest9i/arch/%F\’;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE \’SBT_TAPE\’ TO \’%F\’;
CONFIGURE DEVICE TYPE \’SBT_TAPE\’ PARALLELISM 1;
CONFIGURE DEVICE TYPE DISK PARALLELISM 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE \’SBT_TAPE\’ TO 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE \’SBT_TAPE\’ TO 1;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE CHANNEL DEVICE TYPE \’SBT_TAPE\’ PARMS \’ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.dgtest9id.opt)\’
FORMAT \’%d.%T.%s.%p.%c.%t\’;
CONFIGURE MAXSETSIZE TO UNLIMITED;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO \’/opt/oracle/product9204/dbs/snapcf_dgtest9i.f\’;

PRIMARY SITE-ITLINUXDEVBLADE07:

Additional entries for init.ora on primary site for Dataguard.
*.remote_login_passwordfile=\’EXCLUSIVE\’
*.db_file_name_convert=\’/opt/oracle/dgtest9i/\’,\’/opt/oracle/oradata/dgtest9i/\’
*.log_file_name_convert=\’/opt/oracle/ dgtest9i/\’,\’/opt/oracle oradata/dgtest9i/\’
*.fal_client=\’DGTEST9I_BLADE07\’*.fal_server=\’DGTEST9I_BLADE08\’
*.log_archive_dest_1=\’LOCATION=/opt/oracle/dgtest9i/arch\’
*.standby_archive_dest=/opt/oracle/dgtest9i/arch
*.log_archive_dest_2=\’SERVICE=dgtest9i_blade08 lgwr sync affirm nodelay\’
*.log_archive_dest_state_1=\’ENABLE\’
*.log_archive_dest_state_2=\’ENABLE\’………
*.log_archive_format=\’arch%s.log\’
*.log_archive_start=TRUE
*.standby_file_management=\’AUTO\’

STANDBY SITE: ITLINUXBLADE08:

*.remote_login_passwordfile=\’EXCLUSIVE\’
*.db_file_name_convert=\’/opt/oracle/oradata/dgtest9i/\’,\’/opt/oracle/dgtest9i/\’
*.log_file_name_convert=\’/opt/oracle/oradata/dgtest9i/\’,\’/opt/oracle/dgtest9i/\’
*.fal_client=\’DGTEST9I_BLADE08\’
*.fal_server=\’DGTEST9I_BLADE07\’
*.log_archive_dest_1=\’LOCATION=/opt/oracle/dgtest9i/arch\’
*.standby_archive_dest=/opt/oracle/dgtest9i/arch
*.log_archive_dest_2=\’SERVICE=dgtest9i_blade07 lgwr sync affirm nodelay\’
*.log_archive_dest_state_1=\’ENABLE\’
*.log_archive_dest_state_2=\’DEFER\’………
*.log_archive_format=\’arch%s.log\’
*.log_archive_start=TRUE
*.standby_file_management=\’AUTO\’

2. Create orapwd file in $ORACLE_HOME/dbs

> orapwd file=orapwdgtest9i entries=10 password=oracle

3. Make changes to tnsnames.ora and listener.ora to include log_shipping entries
on both machines and both listeners should be running

4. Export ORACLE_SID=dgtest9i ( on standby site)

SQL> startup nomount ;

PRIMARY SITE- ITLINUXDEVBLADE07:

Four scripts will be used….Please create these .rcv files in /opt/oracle/rman/scripts
area.

cd /opt/oracle/rman/scripts.

Create the four scripts…

1. backup_database.rcv

run {
allocate channel ch1 type \’
SBT_TAPE\’
parms
\’ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.dgtest9id.opt)\’
format \’
d_%d_%u_%p_%c\’;
backup current
controlfile
for standby;

release channel ch1 ;
}

2. standby_control_file.rcv

run {
allocate channel ch1 type \’
SBT_TAPE\’
parms
\’
ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.dgtest9id.opt)\’
format \’
d_%d_%u_%p_%c\’;
backup current controlfile
for standby;
release channel ch1 ;
}

3. arch_backup_range.rcv

run {
allocate channel ch1 type \’
SBT_TAPE\’
parms

\’
ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.dgtest9id.opt)\’
format \’
d_%d_%u_%p_%c\’;
backup
archivelog
from logseq
1 until
logseq
32 thread 1 ;
release channel ch1 ;
}

4. makeme_standby.rcv

run {
allocate channel ch1 type \’sbt_tape\’
parms

\’
ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.dgtest9id.opt)\’;
allocate auxiliary channel aux1 type \’
sbt_tape\’
parms

\’
ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.dgtest9id.opt)\’;
set limit channel ch1
kbytes=3145728
readrate
200;
set until sequence = 32 thread =1;
duplicate target database for standby
dorecover
;
release channel ch1 ;
release channel aux1 ;
}

Now start the process on the PRIMARY site.
1. BACKUP DATABASE PLUS ARCHIVELOGS….
rman target / catalog rman/rman@rmanp cmdfile=backup_database.rcv
After backup is complete.

2. CREATE STANDBY CONTROLFILE.
rman target / catalog rman/rman@rmanp cmdfile=standby_control_file.rcv
After standby controlfile is created.

3. SWITCH A FEW LOGS.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 – 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 – Production

SQL> alter system switch logfile
2 /
System altered.
SQL> /
System altered.
SQL>
cd $ARCV
-rw-r—– 1 oracle dba 13312 Apr 22 12:35 arch30.log
-rw-r—– 1 oracle dba 2560 Apr 22 12:40 arch31.log
-rw-r—– 1 oracle dba 1536 Apr 22 12:40 arch32.log …..LAST LOG
FILE…NOTE DOWN THIS NUMBER.

4. BACKUP ARCHIVE LOGS
[oracle@itlinuxdevblade07 arch]$rman target / catalog rman/rman@rmanp cmdfile=arch_backup_range.rcv
( Last log seq should be as per last log in archive area)
After archivelogs are backed up…

[oracle@itlinuxdevblade07 rman]$ sqlplus rman/rman@rmanp
SQL*Plus: Release 9.2.0.4.0 – Production on Sat Apr 22 12:46:00 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.3.0 – 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.3.0 – Production

SQL> Select sequence# from rc_backup_redolog where db_name=\’DGTEST9I\’;
Last few…
30
31
32
96 rows selected.

SQL>
Make sure listeners used for log-shippng on both sides are up for alias
dgtest_blade07 and dgtest_blade08..

Check connection to standby database….which should be in NOMOUNT state on
ITLINUXDEVBLADE08.
[oracle@itlinuxdevblade07 admin]$ rman target / auxiliary
sys/oracle@DGTEST9I_BLADE08

Recovery Manager: Release 9.2.0.4.0 – 64bit Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: DGTEST9I (DBID=227642821)
connected to auxiliary database: dgtest9i (not mounted) …..IMPORTANT to
confirm primary is not being touched.
RMAN>EXIT

Make sure path of db directory(dgtest9i) exists for area mentioned in
db_file_name_convert and log_file_name_convert in ITLINUXDEVBLADE08 machine….i.e
/opt/oracle/dgtest9i.

Now you are ready to create standby…

NOW RUN THE ACTUAL CREATION OF STANDBY….
[oracle@itlinuxdevblade07 rman]$ rman target / catalog rman/rman@rmanp
auxiliary sys/oracle@DGTEST9I_BLADE08 cmdfile=make_standby.rcv

Recovery Manager: Release 9.2.0.4.0 – 64bit Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: DGTEST9I (DBID=227642821)
connected to recovery catalog database
connected to auxiliary database: dgtest9i (not mounted)

RMAN> run {
2> allocate channel ch1 type \’sbt_tape\’ parms \’ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.dgtest9id.opt)\’;
3> allocate auxiliary channel aux1 type \’sbt_tape\’ parms \’ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.dgtest9id.opt)\’;
4> set limit channel ch1 kbytes=3145728 readrate 200;
5> set until sequence = 32 thread =1;
> duplicate target database for standby dorecover
7> ;
8> release channel ch1 ;
9> release channel aux1 ;
10> }
11>

allocated channel: ch1
channel ch1: sid=10 devtype=SBT_TAPE
channel ch1: Data Protection for Oracle: version 5.2.4.0
allocated channel: aux1
channel aux1: sid=14 devtype=SBT_TAPE
channel aux1: Data Protection for Oracle: version 5.2.4.0

executing command: SET until clause
Starting Duplicate Db at 22-APR-06
printing stored script: Memory Script
{
restore clone standby controlfile to clone_cf;
replicate clone controlfile from clone_cf;
sql clone \’alter database mount standby database\’;
}

executing script: Memory Script
Starting restore at 22-APR-06
channel aux1: starting datafile backupset restore
channel aux1: restoring controlfile
output filename=/opt/oracle/dgtest9i/control01.ctl
channel aux1: restored backup piece 1
piece handle=d_DGTEST9I_2chh5e82_1_1 tag=TAG20060422T123930 params=NULL
channel aux1: restore complete

Finished restore at 22-APR-06
replicating controlfile
input filename=/opt/oracle/dgtest9i/control01.ctl
sql statement: alter database mount standby database
printing stored script: Memory Script
{
set until scn 1361050;
set newname for datafile 1 to
\”/opt/oracle/dgtest9i/system01.dbf\”;
set newname for datafile 2 to
\”/opt/oracle/dgtest9i/undotbs01.dbf\”;
set newname for datafile 3 to
\”/opt/oracle/dgtest9i/users01.dbf\”;
restore
check readonly
clone database
;
}

executing script: Memory Script
executing command: SET until clause
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME

Starting restore at 22-APR-06
channel aux1: starting datafile backupset restore
channel aux1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /opt/oracle/dgtest9i/system01.dbf
restoring datafile 00002 to /opt/oracle/dgtest9i/undotbs01.dbf
restoring datafile 00003 to /opt/oracle/dgtest9i/users01.dbf
channel aux1: restored backup piece 1
piece handle=DGTEST9I.20060422.70.1.2.588427511 tag=TAG20060422T120511 params=NULL
channel aux1: restore complete

Finished restore at 22-APR-06

printing stored script: Memory Script
{
switch clone datafile all;
}

executing script: Memory Script
datafile 2 switched to datafile copy
input datafilecopy recid=32 stamp=588433731
filename=/opt/oracle/dgtest9i/undotbs01.dbf
datafile 3 switched to datafile copy
input datafilecopy recid=33 stamp=588433731
filename=/opt/oracle/dgtest9i/users01.dbf

printing stored script: Memory Script
{
set until scn 1361050;
recover
standby
clone database
delete archivelog
;
}

executing script: Memory Script
executing command: SET until clause

Starting recover at 22-APR-06
starting media recovery
channel aux1: starting archive log restore to default destination
channel aux1: restoring archive log
archive log thread=1 sequence=29
channel aux1: restored backup piece 1
piece handle=DGTEST9I.20060422.71.1.2.588427538 tag=TAG20060422T120538 params=NULL
channel aux1: restore complete
archive log filename=/opt/oracle/dgtest9i/arch/arch29.log thread=1 sequence=29
channel clone_default: deleting archive log(s)
archive log filename=/opt/oracle/dgtest9i/arch/arch29.log recid=1
stamp=588433731
channel aux1: starting archive log restore to default destination
channel aux1: restoring archive log
archive log thread=1 sequence=30
channel aux1: restored backup piece 1
piece handle=DGTEST9I.20060422.74.1.1.588429302 tag=TAG20060422T123502 params=NULL
channel aux1: restore complete
archive log filename=/opt/oracle/dgtest9i/arch/arch30.log thread=1 sequence=30
channel clone_default: deleting archive log(s)
archive log filename=/opt/oracle/dgtest9i/arch/arch30.log recid=2
stamp=588433735
channel aux1: starting archive log restore to default destination
channel aux1: restoring archive log
archive log thread=1 sequence=31
channel aux1: restored backup piece 1
piece handle=d_DGTEST9I_2ehh5eg0_1_1 tag=TAG20060422T124344 params=NULL
channel aux1: restore complete
archive log filename=/opt/oracle/dgtest9i/arch/arch31.log thread=1 sequence=31
channel clone_default: deleting archive log(s)
archive log filename=/opt/oracle/dgtest9i/arch/arch31.log recid=3
stamp=588433737
media recovery complete

Finished recover at 22-APR-06
Finished Duplicate Db at 22-APR-06
released channel: ch1
released channel: aux1
Recovery Manager complete.

[oracle@itlinuxdevblade07 rman]$sql
Now create standby redologs in standby and primary sites.

Sql>
Alter database add standby logfile ‘ /opt/oracle/dgest9i/standby01,log’ size
10m;

The size of the standby redologs must be the same as the primary online redologs.
Create one more standby redolog that number of online redologs.

Next on standby …recover managed standby database disconnect;…to start
managed recovery.

The database protection_mode will be maximum performance.

Select protection_mode from v$database;

To change to maximum availability, a restart of the primary database is
required.

To change the protection_mode to maximum availability:

Shutdown primary.

shutdown immediate;
startup mount;

Alter database set standby database to maximize availability;

alter database open;

Warning: The alter database open command will fail if there are no standby logs
created on standby site when database protection_mode is maximum availability.

Meremote server / PC lain tanpa password dengan menggunakan SSH.

•February 20, 2008 • 1 Comment

Untuk meremote Server / PC lain berbasis linux kita bisa menggunakan SSH. Apa itu SSH bisa dilihat di http://wiki.linux.or.id/Ssh.

Misalkan disini kita punya dua buah komputer (satu PC A dan satu lagi server B). Agar PC A dapat terhubung tanpa menggunakan password ke server B, maka PC A harus memberikan identitas key nya ke server B.
Diasumsikan di PC A user kita adalah “testingA”
dan diasumsikan di server B kita akan masuk ke user “testingB”

  1. Pastikan package ssh sudah terinstall di kedua komputer.
  2. Buat key di PC A dengan perintah

    "ssh-keygen -t rsa"

  3. lihat isi key di PC A dengan perintah

    "cat > /home/testingA/.ssh/id_rsa.pub"

    contoh isi dari file tersebut kira2 seperti ini:

    "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxasUAQjVwcIj11Hemz
    jBr3NCWnGmfmMu7u4Kzmp/EUp1l1P9COjWwn3TaX++e8hVtKtoA/BzZ
    pnf/wnR5HRTbf09IOWEtaHUH5DCCQziXtHMU7+inBJFGoYmkQKWEvSg
    Hm9ePKU9lGf6R3wj7v6W5eOR3hTlbzDa+nhjuu90tredcNFys1ZvGAs
    Eh8GDG+vTfbXOgNl7XHJ2oZ0wZV1rgtKaefNzvkLYK3dIx8Jt2rKuSo
    KrnFRSwJYzwD+jMUWKERhaS0ZCre+YNqRYjcZY6BkhK+tUQGwNuWsYp
    nPlDAeACCwLXVsUZQt3zuMdkDeyDeYpeREkMLQg90w3znMIcQ== testingA@pcA"

    Tidak perlu dipahami cukup di copy saja kedalam clipboard dengan mengeblok dari awal (ssh-rsa) sampai akhir (pcA).

  4. dari server B jalankan perintah

    "ls -l /home/testingB/.ssh/"

  5. Lalu lihat apakah sudah ada file yang bernamakan authorized_keys. Jika
    belum, buatlah dengan perintah

    "cat > /home/testingB/.ssh/authorized_keys"

    tekan ENTER lalu paste isi id_rsa.pub diatas
    lalu tekan Ctrl-D untuk menyimpan.
    Untuk Red Hat based dan beberapa distro pastikan authorized_keys yang
    anda buat mempunya attribut rwx—— atau (700). Jika belum maka ubah
    attributnya dengan perintah

    "chmod 700 /home/testingB/.ssh/authorized_keys"

    .

  6. Jika file authorized_keys sudah ada, maka isi dari id_rsa.pub PC A
    dapat di tambahkan dibawah key yang lain, dengan menggunakan editor vi
    atau text-editor lainnya.
  7. Coba lakukan remote ke server B dari PC A dengan perintah:

    "ssh testingB@serverB"

  8. Jika prosedurnya benar maka anda akan terhubung langsung ke server B tanpa dimintai password lagi.

Jika kita ingin menambah komputer lagi (PC C dan PC D misalnya) yang bisa meremote ke server B tanpa password, maka kita harus meng-generate id_rsa.pub dari kedua PC tersebut (dengan perintah

"ssh-keygen -t rsa"

)
lalu isi dari masing2 id_rsa.pub itu kita tambahkan di authorized_keys di server B.

Mudah-mudahan bermanfaat,

Instalasi PHP5 dengan dukungan Oracle (OCI8) di Ubuntu 7.10

•January 25, 2008 • 3 Comments
  1. Download PHP (atau bisa diambil di sini)
  2. Install development library & header untuk C di package “libc6-dev
  3. Install package “apache2” dan package “libapache2-mod-php5“.
    Catatan:
    Package yang terakhir akan menginstall php5 bawaan dari ubuntu gutsy (PHP 5.2.3). Namun tidak menjadi masalah juga karena nanti library dari PHP nya akan diarahkan ke PHP yang akan kita compile ini. Jika anda bisa mengeset manual maka package terakhir ini (libapache2-mod-php5) bisa tidak diinstall.
  4. Install package “apache2-threaded-dev” untuk mendapatkan apxs2
  5. Install MySQL & MySQL C Header nya di package “mysql-server-5.0” dan “libmysql++-dev
  6. Install MySQL Development file, disini diinstall package “libmysqlclient15-dev
  7. Download Oracle Instantclient Basic dan Oracle Instantclient SDK, disini di download Oracle Instant Client 10.2.0.3. (atau bisa diambil di sini untuk Basic nya, dan di sini untuk SDK nya
    Catatan:
    Untuk Download Oracle Instant Client anda perlu register terlebih dahulu dan memilih Accept pada License Agreement mereka.
  8. Extract instantclient (basic dan SDK), biasanya basic dan SDK akan diextract ke dalam folder yang sama, misalnya instantclient10_2.
  9. Copy instantclient10_2 ke /usr/lib/instantclient10_2 (path bebas).
  10. Buat symbolic link untuk libclntsh.so dari file libclntsh.so.10.1 dengan menjalankan perintah
    ln -s /usr/lib/instantclient10_2/libclntsh.so.10.1 /usr/lib/instantclient10_2/libclntsh.so
  11. extract PHP yang sudah didownload (misalkan di extract ke /usr/lib/php-5.2.5)
  12. Compile dengan parameter seperti berikut

    • root@shinichi:/usr/lib/php-5.2.5# ./configure –prefix=/usr/local/php525 –with-oci8=instantclient,/usr/lib/instantclient10_2 –with-apxs2=/usr/bin/apxs2 –with-config-file-path=/usr/local/php525 –with-mysql –enable-sigchild
    • root@shinichi:/usr/lib/php-5.2.5# make
    • root@shinichi:/usr/lib/php-5.2.5# make install

Terima kasih , semoga bermanfaat :-) .

 
Follow

Get every new post delivered to your Inbox.