header image
 

Membuat TextBox hanya menerima angka dengan Javascript

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

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

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

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

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.

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.

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

  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 :-).

Understanding of Chinese/Asian culture vs. Western

Dapet ini dari milis *lucu juga sih ;))*

Understanding of Chinese/Asian culture vs. Western….. interesting research.

It also applies to all Asians, including the Indians, Japanese, Thais,

Koreans, Indonesian, Malays, Dayaks, etc…

These icons were designed by Liu Young who was born in China and educated in Germany .

Blue –> Westerner

Red –> Asian/Chinese

Opinion

B: langsung to the point.

R: blunder muter-muter dulu, apalagi kalo opininya berbeda paham.

Way of Life

B: individualis, mikirin kehidupannya sendiri.

R: demen kumpul2 sama saudara, ngurusin problem family.

Punctuality

B: on time. R: in time.

Contacts

B: contact to related person only.

R: semua temen, semua sodara, relasi luas, bisnis lancar.

Anger

B: marah ya marah.

R: marah tapi ramah.

Queue when Waiting

B: biasa antri teratur.

R: rebutan dong, siapa cepat dapat lah.

Sundays on the Road

B: menikmati weekend with his own way.

R: doyan ke tempat2 keramaian, mal, dll.

Party

B: bebas-bebas aja berkelompok dengan groupnya sendiri.

R: semua fokus ke satu acara party yang diarrange EO.

In the restaurant

B: ngobrol pelan-pelan di resto.

R: ribut ngobrol keras-keras and ketawa-tiwi, ga peduli meja sebelah.

Travelling

B: demen sightseeing, yang penting menikmati pemandangannya.

R: yang penting foto-foto untuk memory, pemandangan cuma jadi background.

Handling of Problems

B: tabrak aje, yang penting solve the problem.

R: sebisa mungkin menghindari masalah, or jangan sampe ninggalin jejak.

Three meals a day

B: makan kenyang 1 kali sehari.

R: 3 x makan, ya kudu 3 x kenyang.

Transportation

B: dulu pake mobil, sekarang udah care sama environment & health yang ga polusi.

R: dulu sengsara pake sepeda, sekarang gengsi dong kalo ga pake mobil.

Elderly in day to day life

B: udah tua lonely, paling ditemani Snoopy.

R: masa tua ga bakal kesepian, asal bantu ngemong cucu ya.

Moods and Weather

B: logikanya, hujan ya bikin repot.

R: banyak hujan, banyak hoki ya.

The Boss

B: boss juga member of team.

R: boss is dewa yang ditakuti.

What’s Trendy

B: makanan Asia yang healthy.

R: makanan Barat yang bergengsi.

The child

B: it’s ok punya anak, ntar dia harus berjuang untuk hidup like us.

R: kerja jatuh bangun, segala-galanya demi anak, sang penerus generasi.

_________________________________________________________________

Posting lagi

Duh dah lama juga ngga posting. Maklum sibuk nih (*halah*).
Mohon maaf apabila commentnya juga belum dibalas.
Mohon maaf yah sekali lagi.
Yak mulai posting lagi.