Selasa, 26 Agustus 2008

Administrasi Profile

Security database: Administrasi Profile


Untuk alasan keamanan, pemakaian resource oleh user database perlu dibatasi. Selain itu, otorisasi (password) user juga perlu diperketat. Di database Oracle, pembatasan itu dilakukan oleh profile.

Berikut ini informasi profile (beserta parameter-patameternya) yang ada di database:

SQL> conn system
SQL> SELECT * FROM DBA_PROFILES ORDER BY PROFILE,RESOURCE_TYPE;
PROFILE RESOURCE_NAME RESOURCE LIMIT
---------- -------------------------------- -------- ----------
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED
DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED
DEFAULT PRIVATE_SGA KERNEL UNLIMITED
DEFAULT CONNECT_TIME KERNEL UNLIMITED
DEFAULT IDLE_TIME KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
DEFAULT CPU_PER_CALL KERNEL UNLIMITED
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL
DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
DEFAULT PASSWORD_LOCK_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED
Ketika kita membuat database, by default Oracle membuat profile dengan nama DEFAULT. Ketika kita membuat user tanpa menyebutkan profile-nya, maka user tersebut akan di-assign ke profile DEFAULT.


Membuat profile
Contoh membuat profile:

SQL> CREATE PROFILE profileku LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL 3000
CONNECT_TIME 45
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 1000
PRIVATE_SGA 15K
COMPOSITE_LIMIT 5000000;

Mengedit profile
Formatnya sama persis dengan CREATE profile, hanya ganti kata CREATE menjadi ALTER. Contoh:

SQL> ALTER PROFILE profileku LIMIT
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 60
PASSWORD_REUSE_MAX 5
PASSWORD_LOCK_TIME 1/24
PASSWORD_GRACE_TIME 10;

Assign profile ke user
Misalkan saya ingin melihat profile dari user TEST

SQL> select USERNAME,PROFILE from dba_users
where USERNAME='TEST';
USERNAME PROFILE
------------------------------ ----------
TEST DEFAULT
Saya akan mengubah profile user TEST dari DEFAULT ke PROFILEKU

SQL> alter user test profile PROFILEKU;

Menghapus
Untuk menghapus profile PROFILEKU, gunakan perintah berikut:

SQL> drop profile PROFILEKU;
ERROR at line 1:
ORA-02382: profile PROFILEKU has users assigned, cannot drop without CASCADE
OO… Error. Profile PROFILEKU ada yang makai, yaitu user TEST. Kalau begitu tambahkan argument CASCADE:

SQL> drop profile PROFILEKU CASCADE;
Setelah profile dihapus, user yang di-assign ke profile tersebut akan dikembalikan ke profile DEFAULT.


Keterangan
Resource parameter:

SESSIONS_PER_USER
Jumlah session paling banyak yang bisa digunakan secara bersamaan (concurrent).

CPU_PER_SESSION
Maksimal CPU per session. Satuan: 10 ms (hundredth of seconds).

CPU_PER_CALL
Maksimal CPU per call (parse, execute, atau fetch). Satuan: 10 ms (hundredths of seconds).

CONNECT_TIME
Maksimal waktu untuk koneksi. Satuan: menit.

IDLE_TIME
Maksimal waktu dalam status INACTIVE (idle). Satuan: menit.

LOGICAL_READS_PER_SESSION
Maksimal block yang boleh dibaca per session, termasuk block dari memori dan disk.

LOGICAL_READS_PER_CALL
Maksimal block yang boleh dibaca per call (parse, execute, atau fetch).

PRIVATE_SGA
Maksimal memory untuk PRIVATE AREA. Hanya berlaku pada “shared server”. Satuan: bytes.

COMPOSITE_LIMIT
Total resource cost per session. Satuan: service. Dihitung dari jumlah CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION, dan PRIVATE_SGA.

Password Parameter:

FAILED_LOGIN_ATTEMPTS
Jumlah maksimal berapa kali salah login (password). Setelah mencapai FAILED_LOGIN_ATTEMPTS, user yang bersangkutan akan di-lock.

PASSWORD_LIFE_TIME
Umur password, dalam satuan hari. Password harus diganti sebelum mencapai PASSWORD_LIFE_TIME.

PASSWORD_GRACE_TIME (satuan: hari)
Bila setelah mencapai PASSWORD_LIFE_TIME, namun user masih belum mengubah passwordnya, maka user akan diberi peringatan selama PASSWORD_GRACE_TIME. Bila telah mencapai PASSWORD_GRACE_TIME namun user masih belum mengubah passwordnya, maka password akan expired dan tidak bisa digunakan untuk login. Bila PASSWORD_GRACE_TIME tidak disetting, maka nilainya UNLIMITED, artinya user akan tetap bisa login meskipun telah mencapai PASSWORD_LIFE_TIME.

PASSWORD_REUSE_TIME (satuan hari) dan PASSWORD_REUSE_MAX
Kedua parameter ini dipakai bersamaan. PASSWORD_REUSE_TIME menyatakan berapa hari (sejak password diganti) password boleh dipakai lagi. PASSWORD_REUSE_MAX menyatakan berapa kali password harus berubah (berganti) sebelum memakai password lama yang dulu pernah dipakai itu.

PASSWORD_LOCK_TIME (satuan hari)
Menyatakan berapa hari user akan di-lock setelah gagal login.

PASSWORD_VERIFY_FUNCTION

Jumat, 22 Agustus 2008

Memulai SQL PLUS

Memulai Koneksi ke Database

Setelah menginstall Oracle dan membuat database, untuk langkah awal administrasi adalah mulai melakukan koneksi ke database.
Administrasi dilakukan selalu oleh user yang meng-install dan membuat database. Tool native dari Oracle untuk administrasi database adalah sqlplus, lokasi ada di $ORACLE_HOME/bin. Di Oracle versi 8 ke bawah, tool administrasi tersebut adalah svrmgrl.
Sebelum melakukan koneksi, ada OS parameter yang perlu disetting. Di Windows, parameter tersebut otomatis sudah dimasukkan ke dalam registry ketika meng-install dan membuat database pakai dbca. Di Unix, setting manual parameter berikut di user profile:

ORACLE_HOME, ORACLE_SID, dan PATH.

Misalkan kita pakai shell sh atau ksh. Edit file .profile, tambahkan parameter berikut:
ORACLE_HOME=/data1/oracle/product/10.2.0; export ORACLE_HOME
ORACLE_SID=ts; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH

Setelah mengedit file .profile, jangan lupa untuk relogin atau mengeksekusi file tersebut agar parameter yang disetting terbaca oleh current session. Berikut ini cara mengeksekusi file .profile.

. ./.profile

Koneksi pakai SQLPLus di Mesin server
Sekarang, mari kita mulai koneksi ke database. Misalkan saya akan connect pakai user system.

sqlplus

Nanti akan diminta memasukkan username dan password. Kalau belum diubah, password system adalah seperti yang ditunjukkan ketika membuat database.
Bisa juga username langsung dimasukkan ke argument-nya SQLPlus, nanti kita cuma diminta memasukkan password saja.

sqlplus system

Bisa juga langsung memasukkan username dan password. Misalkan password user system adalah oracle:

sqlplus system/oracle

Koneksi dengan langsung memasukkan username dan password sekaligus ini tidak direkomendasikan, karena password akan tampak ketika di ps -ef. Contoh:

ps -ef|grep sql
oracle 5742 25612 11:09:49 pts/1 0:00 sqlplus system/oracle

Cara lain juga, kita bisa masuk ke SQLPlus prompt tanpa login, kemudian jalankan perintah connect atau conn di SQL prompt. Contoh:

sqlplus /nolog
SQL> conn

Sama seperti ketika menjalankan sqlplus dari OS prompt, username dan password bisa disebutkan langsung atau tidak; kalau tidak disebutkan nanti akan ditanyakan.

SQL> conn system/oracle
SQL> conn system


Koneksi pakai user sys

User sys adalah merupakan super user, dikenal juga sebagai sysdba. Untuk koneksi pakai user sys, harus ditambahkan argument as sysdba. Contoh:

SQL> conn sys/oracle as sysdba

Bisa juga tanpa menyebutkan user sys, yaitu dengan memakai argument /. Contoh:

SQL> conn / as sysdba

Kalau tidak sebutkan argument as sysdba, akan muncul error berikut:

SQL> conn sys/oracle
ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
Warning: You are no longer connected to ORACLE.

Bisa juga langsung login ketika menjalankan SQLPLUS. Contoh:
sqlplus "sys/oracle as sysdba"
sqlplus "/ as sysdba"


Koneksi dari client ke server
Untuk bisa melakukan koneksi client-server, pastikan kita sudah mensetting dan menjalakan listener di server database, dan mensetting TNSNames di client. Kalau belum punya instalasi Oracle client di mesin/komputer/PC lain, kita bisa memanfaatkan database server sebagai client sekaligus. Ketika kita install software database Oracle, by default juga diinstall Oracle client; sehingga nantinya kita bisa melakukan koneksi client-server di mesin server database kita.
Pada koneksi client-server , tambahkan argument @namatns. Contoh:

sqlplus system@tsprimary
sqlplus system/oracle@tsprimary
sqlplus "sys@tsprimary as sysdba"
sqlplus "sys/oracle@tsprimary as sysdba"
SQL> conn system@tsprimary
SQL> conn system/oracle@tsprimary
SQL> conn sys@tsprimary as sysdba
SQL> conn sys/oracle@tsprimary as sysdba

Tags: connection, Database, listener, oracle, tnsnames




Berselancar Lebih Cepat dengan Fasterfox


Firefox oleh banyak orang dianggap sebagai browser yang cukup cepat. Namun, ada saja yang menganggap masih kurang cepat, untungnya telah banyak upaya yang dilakukan untuk mempercepat kinerja firefox yang sudah cepat ini. Salah satunya adalah melalui plug-ins Fasterfox.

Karena sifat firefox yang opensource, banyak orang ‘pintar’ yang dapat ikut andil dalam mengembangkan kinerja si Rubah Api ini. Salah satu upaya untuk meningkatkan kinerja firefox adalah dengan melakukan tweaking. Itulah yang dilakukan oleh plug-ins fasterfox. Fasterfox mempercepat proses browsing dengan memanfaatkan Prefect links dan Network Tweaking. Melalui Prefect Links, tidak ada lagi bandwith menganggur karena firefox akan mengambil dan menyimpan halaman web sebagai cache. Proses transfer halaman web ini dilakukan dilatar belakang sehingga tidak mengganggu aktifitas browsing anda.

Tweaking Network dilakukan pada seting untuk rendering halaman, koneksi simultan, pipelining,cache, DNS-cache, dan IPD (initial paint delay). Selain itu di dalam fasterfox juga telah terintegrasi sebuah pop-up blocker untuk pop-up yang dihasilkan oleh objek flash.

Untuk menginstalasikan plug-ins fasterfox anda dapat mendownloadnya di http://fasterfox.mozdev.org/ , Setelah plug-ins terinstalasi, restart firefox untuk mengaktifkannya. Buka menu Tools | Add-ons, lalu klik ganda plug-ins fasterfox untuk membuka option yang tersedia. Fasilitas tersebut adalah pilihan Default, Courteous, Optimized, Turbo Charged, dan Custom.

Pilihan default akan mengembalikan semua setingan ke kondisi semula. Pilihan Courteous hanya melakukan tweaking pada proses rendering sehingga tidak akan membebani webserver. Pilihan Optimized akan melakukan tweaking optimum dalam batasan yang diizinkan oleh RFC. Pilihan Turbo Charged adalah pilihan yang paling ekstrem, ia akan melakukan tweaking seoptimal mungkin dengan mengabaikan batasan yang diizinkan.

Turbo Charged dapat menjadi pilihan utama bagi anda yang berbagi jalur internet, sedang jika anda seorang yang bijaksana, Courteous dan Optimized adalah pilihan yang tepat. Dengan memilih custom anda dapat mengatur aspek-aspek tweaking secara lebih terperinci. Disini anda dapat mengatur langsung besarnya cache yang akan digunakan, banyaknya koneksi simultan ke sebuah web server, jumlah pipelining, banyaknya halaman fastback, dan menghidupkan/mematikan pop-up blocker.

(telkom.net)
2 Metode Mempercepat Browser Firefox
Bagi pengguna Firefox yang ingin menambah kecepatan browser, metode-metode berikut ini bisa dicoba :
Metode 1:
1. Buka browser Mozilla Firefox.
2. Ketik 'about:config' pada address bar, lalu tekan enter.
3. Turunkan halaman sampai Anda menemukan kalimat 'browser.tabs.showSingleWindowsModePrefs', lalu double klik sehingga settingannya menjadi 'true'.
4. Turunkan lagi halaman Firefox sampai Anda menemukan baris berbunyi 'network.http.pipelining', lalu double klik sehingga settingannya juga menjadi 'true'.
5. Terakhir, turunkan lagi halaman Firefox dan carilah baris yang berbunyi 'network.http.pipelining.maxrequests', lalu double klik. Anda akan disuguhi sebuah window pop up. Ubahlah angka di pop up itu menjadi 60. Kemudian tekanlah 'Ok'.
6. Tutup Firefox lalu coba buka kembali. Jika tidak ada masalah, Firefox Anda akan terbuka 10-40 persen lebih cepat daripada sebelumnya dengan langkah-langkah seperti di atas.

Metode 2:
Langkah mujarab lain untuk meningkatkan kecepatan Firefox adalah dengan menggunakan add-on untuk Firefox bernama FasterFox. FasterFox ini membuat pemakaian bandwidth lebih efektif sehingga bisa mempercepat performa Firefox. Anda bisa mendownload FasterFox di alamat: http://fasterfox.mozdev.org.



Trik Mempercepat proses shutdown Windows XP


Proses Turn Off Komputer anda lama ? Simak tips berikut untuk mengatasi masalah tersebut tanpa menggunakan software Utility.

1. Klik tombol “Start | Run“
2. Ketik : Regedit
3. Cari key : HKEY_CURRENT_USERControl PanelDesktop
4. Dobel Klik pada nilai : HungAppTimeOut
5. Rubah nilainya menjadi 4000, nilai sebelumnya kemungkinan 5000 atau 20000.
6. Langkah selanjutnya cari key : KEY_LOCAL_MACHINESystemCurrentControlSetControl
7. Dobel Klik pada : WaitToKillServiceTimeOut
8. dan rubah nilainya menjadi : 4000

Sekarang tutup jendela regedit dan Matikan komputer Anda untuk melihat perubahan yang dihasilkan.

Jumat, 15 Agustus 2008

Partitioning Table: Definisi dan Contoh

Partitioning Table: Definisi dan Contoh


Filosofi partisi adalah memecah tabel ke dalam beberapa segment (partisi atau subpartisi), di mana tabel konvensional hanya mempunyai satu segment.

Misalkan kita punya tabel PENJUALAN dengan 8 juta records, kita ingin query data untuk quartal pertama tahun ini. Pada tabel konvensional (non partition), query akan men-scan keseluruhan 8 juta records data tersebut karena berada dalam 1 segment. Nah, kalau tabel itu dipartisi (by range untuk kolom tanggal penjualan) maka query akan men-scan khusus segment di mana data itu berada; tidak semua 8 juta records data itu di-scan, sehingga proses query lebih cepat.

Manfaat lain dari partitioning adalah tiap-tiap segment (partisi atau subpartisi) bisa ditaruh di tablespace yang berbeda, sehingga kita mendapat manfaat dari spreading (menyebar) tablespace, yaitu penyebaran I/O dan mengurangi resiko loss data karena tablespace corrupt.

Ada 3 metode utama partisi, dan ada 2 macam composite (gabungan):

Range partitioning
List partitioning
Hash partitioning
Composite range-list partitioning
Composite range-hash partitioning
Misalkan saya punya tabel penjualan yang punya kolom no_invoice, tgl_jual, dan area.

CREATE TABLE penjualan
( no_invoice NUMBER,
tgl_jual DATE,
area varchar2(10));Dalam artikel ini saya juga akan memberi contoh macam-macam partisi yang bisa dilakukan pada tabel penjualan tersebut.

Range Partition

Pada range partition, data dikelompokkan berdasarkan range (rentang) nilai yang kita tentukan. Range partition ini cocok digunakan pada kolom yang nilainya terdistribusi secara merata. Contoh yang paling sering adalah kolom tanggal.

Berikut ini contoh membuat table PENJUALAN dengan partisi range pada kolom tgl_jual (untuk menegaskan bahwa ini adalah contoh range partition, tabel saya beri nama PENJUALAN_RANGE):

CREATE TABLE penjualan_range
( no_invoice NUMBER,
tgl_jual DATE NOT NULL,
area varchar2(10))
PARTITION BY RANGE (tgl_jual)
(
PARTITION jual_kw1 VALUES LESS THAN (TO_DATE('01-APR-2008','DD-MON-YYYY')) TABLESPACE users,
PARTITION jual_kw2 VALUES LESS THAN (TO_DATE('01-JUL-2008','DD-MON-YYYY')) TABLESPACE users,
PARTITION jual_kw3 VALUES LESS THAN (TO_DATE('01-OCT-2008','DD-MON-YYYY')) TABLESPACE users,
PARTITION jual_kw4 VALUES LESS THAN (TO_DATE('01-JAN-2009','DD-MON-YYYY')) TABLESPACE users
);Dalam contoh di atas, spesifikasi tablespace ada pada tiap segment (partisi). Yang seperti ini (spesifikasi tablespace pada tiap segment) biasanya dilakukan kalau tiap segment (partisi) ditempatkan pada tablespace yang berbeda. Karena keterbatasan tablespace, dalam contoh ini saya taruh dalam satu tablespace yang sama, yaitu tablespace USERS.

List Partition

Pada list partition, data dikelompokkan berdasarkan nilainya. Cocok untuk kolom yang variasi nilainya tidak banyak. Saya masih menggunakan contoh table penjualan. Yang cocok dengan list partition adalah kolom area.

Berikut ini contoh membuat table PENJUALAN dengan partisi list pada kolom area (untuk membedakan dengan contoh range partition, tabel saya beri nama PENJUALAN_LIST):

CREATE TABLE penjualan_list
( no_invoice NUMBER,
tgl_jual DATE NOT NULL,
area varchar2(10))
PARTITION BY LIST (area)
(
PARTITION daerah_barat VALUES ('JAKARTA','MEDAN','BANDUNG') ,
PARTITION daerah_timur VALUES ('SEMARANG','SURABAYA','MAKASAR')
) TABLESPACE users;Definisi tablespace bisa didefinisikan di level partisi ataupun tabel. Dalam contoh di atas, karena semua partisi ditaruh di tablespace yang sama, maka definisi tablespace cukup ditaruh di definisi tabel (tidak perlu di tiap partisi).

Hash Partition

Jika kita ingin melakukan partisisi namun tidak cocok dengan RANGE ataupun LIST, maka kita bisa menggunakan HASH partition. Penentuan “nilai mana di taruh di partisi mana” itu diatur secara internal oleh Oracle (berdasarkan hash value).

Kenapa kita memaksakan memakai partisi sementara tidak cocok dengan RANGE ataupun LIST? Lha, ya itu tadi, kita ingin mendapat manfaat dari filosofi PARTITIONING di mana data disebar ke segment-segment yang berbeda.

Untuk tabel penjualan, kolom yang cocok dengan HASH partitioning adalah kolom no_invoice. Berikut ini contohnya (tabel saya beri nama PENJUALAN_HASH):

CREATE TABLE penjualan_hash
( no_invoice NUMBER,
tgl_jual DATE NOT NULL,
area varchar2(10))
PARTITION BY HASH (no_invoice)
PARTITIONS 4 tablespace users;Secara otomatis Oracle akan membuat 4 partisi (sesuai dengan nilai dari parameter PARTITIONS). Dalam contoh di atas, definisi tablespace ditaruh di definisi tabel, yang berarti semua partisi (segment) di taruh di tablespace yang sama (tablespace USERS).

Kita bisa menaruh definisi tablespace di tiap partisi bila kita ingin tiap partisi (segment) disimpan di tablespace yang berbeda. Karena keterbatasan tablespace, dalam contoh ini semua partisi ditaruh di tablespace Users:

CREATE TABLE penjualan_hash
( no_invoice NUMBER,
tgl_jual DATE NOT NULL,
area varchar2(10))
PARTITION BY HASH (no_invoice)
PARTITIONS 4 STORE IN (users, users, users, users);Composite range-list partition

Dengan karakteristik yang seperti itu, tabel PENJUALAN bisa kita partisi pada kolom TGL_JUAL dan AREA. Berikut ini contohnya (untuk membedakan dengan contoh-contoh sebelumnya, tabel saya beri nama PENJUALAN_RANGE_LIST):

CREATE TABLE PENJUALAN_RANGE_LIST
( no_invoice NUMBER,
tgl_jual DATE NOT NULL,
area varchar2(10))
PARTITION BY RANGE (tgl_jual)
SUBPARTITION BY LIST (area)
(
PARTITION jual_kw1 VALUES LESS THAN (TO_DATE('01-APR-2008','DD-MON-YYYY')) TABLESPACE users
(SUBPARTITION kw1_barat VALUES ('JAKARTA','MEDAN','BANDUNG'),
SUBPARTITION kw1_timur VALUES ('SEMARANG','SURABAYA','MAKASAR')
),
PARTITION jual_kw2 VALUES LESS THAN (TO_DATE('01-JUL-2008','DD-MON-YYYY')) TABLESPACE users
(SUBPARTITION kw2_barat VALUES ('JAKARTA','MEDAN','BANDUNG'),
SUBPARTITION kw2_timur VALUES ('SEMARANG','SURABAYA','MAKASAR')
),
PARTITION jual_kw3 VALUES LESS THAN (TO_DATE('01-OCT-2008','DD-MON-YYYY')) TABLESPACE users
(SUBPARTITION kw3_barat VALUES ('JAKARTA','MEDAN','BANDUNG'),
SUBPARTITION kw3_timur VALUES ('SEMARANG','SURABAYA','MAKASAR')
),
PARTITION jual_kw4 VALUES LESS THAN (TO_DATE('01-JAN-2009','DD-MON-YYYY'))
(SUBPARTITION kw4_barat VALUES ('JAKARTA','MEDAN','BANDUNG') TABLESPACE users ,
SUBPARTITION kw4_timur VALUES ('SEMARANG','SURABAYA','MAKASAR') TABLESPACE users
)
);Dalam contoh di atas, definisi tablespace ada yang di level PARTISI dan ada yang level di SUBPARTISI.

Composite range-hash partition

Kitapun bisa mempartisi tabel PENJUALAN pada kolom TGL_JUAL dan NO_INVOICE. Berikut ini contohnya (untuk membedakan dengan contoh-contoh sebelumnya, tabel saya beri nama PENJUALAN_RANGE_HASH):

CREATE TABLE penjualan_range_hash
( no_invoice NUMBER,
tgl_jual DATE NOT NULL,
area varchar2(10))
PARTITION BY RANGE (tgl_jual)
SUBPARTITION BY HASH (no_invoice)
SUBPARTITIONS 4 STORE IN (users, users, users, users)
(
PARTITION jual_kw1 VALUES LESS THAN (TO_DATE('01-APR-2008','DD-MON-YYYY')),
PARTITION jual_kw2 VALUES LESS THAN (TO_DATE('01-JUL-2008','DD-MON-YYYY')),
PARTITION jual_kw3 VALUES LESS THAN (TO_DATE('01-OCT-2008','DD-MON-YYYY')),
PARTITION jual_kw4 VALUES LESS THAN (TO_DATE('01-JAN-2009','DD-MON-YYYY'))
);Urutan tablespace
Berikut ini hirarki untuk alokasi tablespace:

Kalau di definisi SUBPARTITION tidak disebutkan tablespacenya, maka SUBPARTITION akan ditaruh di tablespace yang didefinisikan di PARTITION.
Kalau di definisi PARTITION tidak disebutkan tablespacenya, maka PARTITION akan ditaruh di tablespace yang didefinisikan di TABLE
Kalau tablespacenya tidak disebutkan (baik di level SUPPARTITION, PARTITION, maupun TABLE) maka, semua segment (baik SUPPARTITION maupun PARTITION) ditaruh di default tablespace dari user (schema) yang bersangkutan.
VIEW (data dictionary)

Beberapa contoh VIEW yang sering dipakai untuk melihat informasi PARTISI dan SUBPARTISI adalah DBA_TABLES, DBA_TAB_PARTITIONS, DBA_TAB_SUBPARTITIONS, DBA_INDEXES, DBA_IND_PARTITIONS, DBA_IND_SUBPARTITIONS.

Untuk melihat VIEW-VIEW yang lain, bisa query ke DICT:

SQL> select table_name from dict
where table_name like '%PARTITION%' order by table_name;Referensi
Oracle® Database Administrator’s Guide 10g Release 2 (10.2)
Managing Partitioned Tables and Indexes

External table

External table adalah tabel yang datanya ada di luar database, biasanya berupa text file. External table sering digunakan untuk :

membaca file dari database Oracle.
Me-load (import) data dari text file ke database. Sebagai alternatif lain dari SQL*Loader.
Misalkan saya punya file penjualan. dat di direktori /data1/oracle/Users/rohmad/external.

$ cd /data1/oracle/Users/rohmad/external
$ more penjualan.dat
3286;23-DEC-08;SEMARANG
3287;24-DEC-08;SURABAYA
3288;25-DEC-08;MAKASAR
3289;26-DEC-08;MEDAN
3290;26-DEC-08;MAGELANG TENGAH
Berikut ini langkah-langkah untuk membuat external table berdasarkan file tersebut.

Persiapan
Buat directory di database yang mengarah ke directory file tersebut.

SQL> conn / as sysdba
SQL> CREATE OR REPLACE DIRECTORY external_dir
AS '/data1/oracle/Users/rohmad/external';
Beri privilege ke user agar bisa membaca dan menulis ke directory tersebut.

SQL> GRANT READ ON DIRECTORY external_dir TO test;
SQL> GRANT WRITE ON DIRECTORY external_dir TO test;
Membuat External Table

SQL> conn test
SQL> CREATE TABLE ext_penjualan
( no_invoice NUMBER,
tgl_jual DATE,
area varchar2(10))
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY external_dir
ACCESS PARAMETERS
(
records delimited by newline
badfile external_dir:'penjualan.bad'
logfile external_dir:'penjualan.log'
fields terminated by ';'
missing field values are null
( no_invoice, tgl_jual, area
)
)
LOCATION ('penjualan.dat')
)
REJECT LIMIT UNLIMITED;
Query External Table

SQL> select * from ext_penjualan;

NO_INVOICE TGL_JUAL AREA
---------- --------- ----------
3286 23-DEC-08 SEMARANG
3287 24-DEC-08 SURABAYA
3288 25-DEC-08 MAKASAR
3289 26-DEC-08 MEDAN
Dari kelima records yang ada di file penjualan.dat, ada 4 records yang terbaca oleh Oracle. Sekarang kita lihat log-nya, pasti ada error ketika membaca salah satu record tersebut.

$ cd /data1/oracle/Users/rohmad/external
$ more penjualan.log
error processing column AREA in row 5 for datafile /data1/oracle/Users/rohmad/external/penjualan.dat
ORA-12899: value too large for column AREA (actual: 15, maximum: 10)

Errornya sama persis dengan yang pernah saya bahas di Menggunakan SQL*Loader. Sebagaimana SQL*Loader, record yang tidak diproses ditaruh di BADFILE (penjualan.bad).

Kalau yang salah adalah datanya, misalnya kolomnya kepanjangan, ya datanya yang mesti diedit. Kalau datanya tidak masalah, itu artinya kolom di tabel yang kurang panjang. Kita bisa mengedit external tabel tersebut:

SQL> alter table ext_penjualan modify (area varchar2(15));
SQL> select * from ext_penjualan;

NO_INVOICE TGL_JUAL AREA
---------- --------- ---------------
3286 23-DEC-08 SEMARANG
3287 24-DEC-08 SURABAYA
3288 25-DEC-08 MAKASAR
3289 26-DEC-08 MEDAN
3290 26-DEC-08 MAGELANG TENGAH
Load data dengan external table
Nah, sekarang kita bisa me-load (import) data dari file penjualan.dat kedatabase dengan memanfaatkan external table.

Misalkan data akan diload ke tabel history_penjualan:

CREATE TABLE history_penjualan
( no_invoice NUMBER,
tgl_jual DATE,
area varchar2(15));
Ya, tinggal insert saja:

SQL> insert into history_penjualan select * from ext_penjualan;
SQL> select * from history_penjualan;

NO_INVOICE TGL_JUAL AREA
---------- --------- ---------------
3286 23-DEC-08 SEMARANG
3287 24-DEC-08 SURABAYA
3288 25-DEC-08 MAKASAR
3289 26-DEC-08 MEDAN
3290 26-DEC-08 MAGELANG TENGAH

Menggunakan SQL*Loader

Menggunakan SQL*Loader

SQL Loader adalah tool Oracle untuk me-load data dari flat (text) file ke dalam tabel di database Oracle. Program (executable) SQL Loader adalah sqlldr, lokasi ada di $ORACLE_HOME/bin.

SQL Loader sering digunakan untuk mengatasi kendala jaringan. Misalkan perusahaan punya kantor cabang yang tidak tersambung online dengan pusat; data transaksi biasanya dikirim ke pusat dalam bentuk text file; di pusat, data tersebut kemudian di-load ke database pakai SQL Loader.

SQL Loader juga sering digunakan untuk me-load data dari system yang berbeda. Misalkan transaksi di-handle oleh database non Oracle, sementara datawarehouse menggunakan Oracle. Nah, data transaksi dari non Oracle ini kemudian di-export ke dalam text file, dan kemudian di-import ke Oracle pakai SQL*Loader.

Misalkan saya punya file penjualan.dat yang berisi:

3286;23-DEC-08;SEMARANG
3287;24-DEC-08;SURABAYA
3288;25-DEC-08;MAKASAR
3289;26-DEC-08;MEDAN
3290;26-DEC-08;MAGELANG TENGAH
File penjualan.dat tersebut akan saya load ke tabel penjualan:

CREATE TABLE penjualan
( no_invoice NUMBER,
tgl_jual DATE,
area varchar2(10));
Langkap pertama, buat control file yang berisi parameter-parameter untuk SQL Loader. Misalkan saya beri nama penjualan.ctl.

load data
APPEND
into table PENJUALAN
fields terminated by ";"
TRAILING NULLCOLS
(no_invoice,tgl_jual,area)
Langkah selanjutnya, load data di penjualan.dat ke tabel PENJUALAN. Gunakan perintah berikut:

sqlldr USERID=test/test CONTROL=penjualan.ctl, DATA=penjualan.dat, LOG=penjualan.log, BAD=penjualan.bad

Parameter untuk sqlldr adalah:

USERID: user dan password ke database Oracle
CONTROL: control file yang akan digunakan
DATA: file (data) yang akan di-load
LOG: file untuk menyimpan log dari proses loader
BAD: file untuk menyimpan data yang tidak diprose
Setelah menjalankan sqlldr di atas, lihat lognya di file penjualan.log. Oo… ternyata ada error:

Record 5: Rejected - Error on table PENJUALAN, column AREA.
ORA-12899: value too large for column "TEST"."PENJUALAN"."AREA" (actual: 15, maximum: 10)
Record (baris) kelima tidak diproses karena lebar kolom AREA hanya 10 karakter, sementara nilai yang dimasukkan panjangnya 15 karakter (MAGELANG TENGAH). Record yang tidak diposes ini ditaruh di file penjualan.bad. Sekarang coba query ke tabel PENJUALAN, data yang masuk hanya 4 record.

SQL> select * from penjualan;

NO_INVOICE TGL_JUAL AREA
---------- --------- ----------
3286 23-DEC-08 SEMARANG
3287 24-DEC-08 SURABAYA
3288 25-DEC-08 MAKASAR
3289 26-DEC-08 MEDAN


Referensi
Oracle® Database Utilities 10g Release 2 (10.2) - SQL*Loader

Funny










Minggu, 10 Agustus 2008

Profesi Pendidikan ( Masalah-masalah)

Contoh penyelesaian masalah kebijakan
by Tina F.Hrp

Contoh kasus:

Komite sekolah yang didukung oleh Kpela Sekolah menetapkan bahwa SMA Negeri X di kota A memungut uang pembangunan kepada siswa baru, tiap siswa Rp. 3.000.000,- dengan dicicil 2X (dua kali bayar). Sedangkan SPP/DSP setiap siswa lama dan baru ditetapkan rata-rata Rp. 25.000,-/bulan

Setelah ortu siswa menerima pengumuman untuk segera membayar uang tersebut, awal bulan Agustus para orangtua siswa merasa resah. Sebagian mereka menghimpun kekuatan untuk berunjuk rasa dan ada juga yang menyampaikan protes melalui Koran dan surat kepada Pemkot dengan tembusan kepada Dinas pendidikan Kota.

Sebelum ada perhatian, para orangtua siswa sepakat tidak akan memenuhi penetapan itu.


Solusi :

1. Undang para orangtua siswa untuk membicarakan persoalan bersama-sama, sehingga pihak komite sekolah dan kepala sekolah dan pihak orangtua dapat menyampaikan pendapatnya masing-masing serta apa yang dipersoalkan sesungguhnya

2. Pihak komite dan kepala sekolah menyampaikan kebijakannya di hadapan orangtua siswa disertai dengan alasan yang logis mengapa diambil kebijakan seperti itu agar orangtua menjadi paham maksud dan tujuannya. Jika kemudian pihak orangtua menerima berarti permasalahannya sudah dapat diselesaikan.

3. Jika orangtua tidak menyepakatinya, berikan kesempatan kepada para orangtua siswa untuk menyampaikan pendapatnya, kritikan, saran serta kalau mereka berkeberatan dipersilahkan untuk menyampaikan apa yang menjadi keberatan orangtua dengan kebijakan itu.

4. Adakan dialog antara kedua pihak dengan penuh kekeluargaan dan bicarakan/ diskusikan persoalan dengan musyawarah. Kalau kebijakan itu logis disertai dengan dasar pertimbangan yang kuat tentunya pihak orangtua akan menerima. Demikian juga sebaliknya jika alasan yang dikemukakan orangtua memiliki dasar pertimbangan yang lebih kuat, cobalah cari solusinya bersama.

5. Buatlah alternatif pemecahan masalah (solusi) yang memungkinkan kedua belah pihak tidak merasa dirugikan (win-win solution), kemudian pilihlah solusi yang paling tepat yang dapat diterima kedua belah pihak.

6. Jika permasalahan tidak tuntas, cobalah diadakan pendekatan yang lebih intens dengan pihak orangtua dan jika mengalami jalan buntu, tentunya pihak dinas pendidikan kota (eksekutif) bersama-sama DPRD bidang pendidikan, diminta atau pun tidak diminta perlu turun tangan menyelesaikan persoalan ini.

Tambahan: ada satu hal yang cukup kontradiktif dalam kasus ini yaitu pihak komite sekolah. Dalam kasus ini komite bersebrangan dengan keinginan orangtua, padahal mereka dipilih dan mewakili orangtua. Semestinya dalam membuat kebijakan pihak komite sekolah terlebih dahulu mempertimbangkan apa yang menjadi aspirasi para orangtua yang diwakilinya. Tentunya juga dengan mempertimbangkan pihak sekolah sehingga tidak sampai merugikan institusi yang akan penyelenggara pendidikan bagi anaknya.

Sabtu, 09 Agustus 2008

Membuat Aplikasi Report dengan Wizard


Aplikasi Report pada OracleXE.


Membuat Aplikasi Report dengan Wizard
Misalkan kita ingin membuat report sederhana terhadap semua pegawai dengan menampilkan informasi nama pegawai, nomor telepon, jabatan dan gaji. Langkah yang harus dilakukan adalah :

1. Login sebagai user HR
2. Pilih menu Application Builder*Create Application. Kemudian ikuti langkah-langkah wizard.
3. pada wizard method, pilih opsi create application.
4. pada wizard name, masukkan nama aplikasi employee report. Biarkan opsi lain dengan nilai defaultnya (tidak perlu diubah ubah).
5. pada wizard pages, pilih tipe aplikasi sebagai report. Kemudian pada kolom page source, pilih opsi SQL query. Lalu pada kolom page name, masukkan nama report Employee List. Setelah itu, pada kolom query, ketikkan SQL berikut:

select
e.first_name, e.last_name,
e.phone_number, j.job_title, e.salary
from employees e, jobs j
where j.job_id = e.job_id

kemudian tekan menu Add Page
6. lalu pada wizard tabs, pilih opsi one level of tabs
7. pada wizard shared component, pilih opsi no.
8. pada wizard attributes, pilih opsi no authentication, pada kolom authentication scheme. Biarkan opsi lain dengan nilai defaultnya (tidak perlu diubah)
9. pada wizard user interface, pilih theme 1.
10. pada wizard confirm, tekan create untuk menyelesaikan wizard.

Modifikasi Template pada Report

Tampilan report di atas di tentukan oleh sebuah template yang telah didefinisikan sebelumnya. Untuk memodifikasi tampilan tersebut, kita dapat memilih atau mengubah template yang ada, atau bahkan membuat template baru.
Sebagai contoh kita akan memodifikasi template yang sudah ada untuk memberikan warna dasar kuning terhadap data pegawai yang memiliki gaji di ata 8000. untuk itu kita akan membuat template yang sudah ada. Kemudian barulah modifikasi dilakukan terhadap template baru tersebut.

Tahapan untuk melihat jenis template pada suatu report adalah:

1. Dari menu Application Builder, pilih aplikasi employee report yang dibuat pada tahap sebelumnya.
2. pilih halaman pertama berjudul 1 – Employee List.
3. pada bagian Region di Page Rendering, klik sekali pada report Employee List.
4. pilih tab Report Attribute (disamping tab Region Definition).
5. pada bagian Layout and Pagination, perhatikan bahwa kolom report template memiliki nilai template: 1. Standard. Ini adalah template standar yang akan diubah setelah kita membuat template baru.

Kini marilah kita mencoba membuat salinan (copy) template baru berdasarkan template yang sudah ada. Tahapannya adalah :

1. Dari menu Application Builder, pilih aplikasi Employee Report.
2. pilih menu shared components*userinterface*templates.
3. klik sekali pada tombol create untuk membuat template baru, lalu ikuti wizard berikut.
4. pada wizard template type, pilih tipe template report.
5. pada wizard creation method pilih opsi as a copy of an existing template.
6. pada wizard copy from, biarkan nilainya secara default (tidak perlu diubah)
7. pada wizard identify theme, biarkan nilainya default (tidak perlu diubah)
8. pada wizard new templates, pilih template yang disalin/dicopy (dalam contoh ini pilih yang bernama standard). Lalu pada kolom to name ketikkan nama template baru standard custom. Pada kolom copy? Pilih opsi yes. Lalu tekan tombol copy report templates.
9. apabila berhasil, anda akan melihat standard custom berada pada list template yang ada.

Setelah proses penyalinan (copy) berhasil dilakukan, kini mari kita mencoba melakukan modifikasi template standard.

Langkah langkahnya adalah:
1. setelah tahap di atas selesai, pilih template baru standard custom untuk disunting.
2. masukkan kebagian colum templates. Lalu masukkan nilai pada column template 1, column template 1 condition, column template 1 expresion dan column template 2.
3. tekan tombol apply changes utnuk mengaktifkan perubahan.
4. setelah melakukan modifikasi, template tersebut bisa di pakai di dalam report employee list. Dengan mengikuti tahapan sebelumnya (tahapan untuk melihat jenis template pada suatu report), ubah jenis template dari template 1. standar menjadi template 1 custom, lalu tekan tombol apply changes.


Menambah Grafik pada report

Untuk meperkaya tampilan report kita bisa menambahkan berbagai jenis grafik dengan data yang berasal dari SQL query. Langkah-langkah untuk membuatnya adalah :

1. Dari menu Application builder, pilih aplikasi employee report.
2. pilih halaman pertama berjudul 1 – Employee list.
3. pada bagina regions tekan tombol untuk menambah region baru. Lalu ikuti wizard berikutnya.
4. pada wizard regions tekan tombol untuk menambah region baru, pilih tipe chart.
5. kemudian pilih tipe grafik bar (html).
6. pada wizard display attributes, ketikkan job summary pada kolom title.
7. pada wizard source, ketikkan SQL berikut:

select null link, j.job_title, count(*) emp_count
from employees e, jobs j
where j.job_id = e.job_id
group by null, j.job_title

lalu tekan ‘create region’ untuk menyelesaikan wizard


Membuat Aplikasi Web pada OracleXE

Applicaion builder di oracleXE dapat ditemukan diversi lain database oracle dengan nama oracle application express. Dulunya lebih dikenal dengan istilah HTML DB.
Dengan menggunakan utility Application Builder dari OracleXE, kita dapat membangun aplikasi web yang terintegrasi dengan database dengan beberapa kemudahan seperti:

1. Login sebagai user HR.
2. Pilih menu application builder*create Application, kemudian ikuti langkah langkah wizard berikut.
3. wizard method menyediakan 3 pilihan cara pembuatan aplikasi, aplikasi baru dari table, dari spreadsheet, atau menginstall contoh aplikasi. Pilih opsi pertama.
4. wizard name meminta nama aplikasi yang unik misalkan diisi myemployees, kemudian tekan menu add page.
5. wizard pages menyediakan 5 tipe halaman web, pilih tipe ke-5: report and form. Pada kolom table name, masukkan nama table employees, kemudian tekan menu add page.
6. wizard tabs menyediakan 3 pilihan tab, pilih opsi One Level of Tabs
7. wizard shared component memungkinkan anda menambahkan komponen dari aplikasi lain ke aplikasi yang akan dibuat. Pilih opsi No.
8. wizard attributes menyediakan pilihan untuk mengubah cara otentikasi dan alternatif bahasa, pada kolom authentication scheme, pilih no authentication. Biarkan opsi lain dengan nilai default.
9. wizard user interface menyediakan berbagai variasi tema tampilan halaman web. Disini penulis memilih theme 2.
10. wizard confirm akan mengkonfirmasi opsi yang anda pilih. Tekan create untuk menyelesaikan wizard.


Menjalankan aplikasi.

Untuk menjalankan aplikasi baru tersebut:
1. pilih menu Application builder*view Application.
2. dari daftar aplikasi yang ada, pilih aplikasi bernama MyEmplyees. Disini anda bisa melihat, menambah, dan mengubah halaman2 aplikasi yang tlah dibuat oleh wizard.
3. untuk menjalankan aplikasi, pilih menu Run Aplication. Contoh tampilan aplikasi dapat dilihat pada gambar 1.1 utiliti search otomatis dapat melakukan pencarian pada kolom bertipe data karakter. Selain terdapat tombol create, dan link edit untuk menambah dan mengubah data pegawai.
4. untuk mengubah data pegawai, klik sekali pada tombol edit yang terletak pada kolom paling kiri. Otomatis anda akan diarahkan kehalaman kehalaman seperti pada gambar 1.2 perhatikan bahwa kolom-kolom yang harus diisi secara otomatis ditandai dengan sebuah lingkaran, kolom bertipe data tanggal otomatis memiliki tombol tambahan untuk memilih tanggal dari lookup.
5. untuk menambah data pegawai, klik sekali pada tombol create di gambar 1. otomatis anda akan diarahkan kehalaman yang mirip dengan gambar 2, tetapi dengan semua kolom kosong.

Kustomisasi Aplikasi

Aplikasi yang dihasilkan oleh wizard kadang-kadang perlu diubah untuk memudahkan pemakaian. Contohnya pada gambar 1.2 diatas, terlihat bahwa kolom department_id memiliki nilai berupa angka sehingga menyulitkan pemakai untuk mengisi data kolom tersebut.
Untuk itu kita akan melakukan kustomisasi untuk mendapatkan tampilan yang lebih user friendly, dimana kolom department_id akan ditampilkan sebagai menu dropdown yang berisi nama departemen. Untuk itu ada 2 tahapan yang perlu dilakukan :

1. membuat obyek bertipe list of value(LOV) dari table departments.
2. mengkustomasi kolom department_id untuk memakai obyek LOV di atas.

Install database oracle 10g di Windows XP

Install database oracle 10g di Windows XP

Secara umum, guide ini berlaku untuk semua instalasi Oracle. Di semua OS, proses instalasi itu sama, hanya sedikit berbeda di pre-installation requisite-nya.

Download software Database Oracle dulu. Free, alias gratis… tis.. Sebelumnya anda harus punya account di Oracle. Kalau belum punya, membuatnya gampang sekali, yang penting punya email. Ikuti saja proses “sign up”. Kalau diminta memasukkan pin OPN, dan anda tidak punya pin OPN karena company anda bukan partner-nya Oracle, kosongkan saja.

Berikut ini panduan download “Oracle Database 10g Release 2 (10.2.0.1.0)”:


Buka link (page) untuk download di sini
http://www.oracle.com/technology/software/products/database/index.html
Pilih versi database dan tipe OS
Dalam hal ini saya memilih “Oracle Database 10g Release 2 (10.2.0.1.0) for Microsoft Windows”

Kemudian muncul pilihan berikut
- Oracle Database 10g Release 2 (10.2.0.1.0)
- Oracle Database 10g Companion CD Release 2 (10.2.0.1.0)
- Oracle Database 10g Client Release 2 (10.2.0.1.0)
- Oracle Clusterware Release 2 (10.2.0.1.0)
- Oracle Gateways 10g Release 2 (10.2.0.1.0) (10.2.0.1.0)
Pilihlah option pertama. Kalau hanya untuk sekedar belajar database, anda cukup milih option pertama saja.

PC yang saya gunakan dalam instalasi ini adalah:
- Microsoft Windows XP Professional Version 2002 Service Pack 2
- CPU: intel 2 Ghz
- Memory: 1G
- Virtual (page) memory: 1,5G

Dengan spesifikasi tersebut, jelas PC saya sangat (lebih dari cukup) memenuhi syarat. Lebih detail tentang spesifikasi komputer yang bisa diinstall, lihat dokumentasi (installation guide) yang ada di paket software yang telah di download. Secara umum, berikut ini spesifikasinya:
Hardware:
- Physical memory (RAM) : 256 MB minimum, 512 MB recommended
- Virtual memory: dua kali RAM
- Disk space: kira-kira 5 G
- Video (monitor) adapter: 256 colors
- Processor : 550 MHz

Operating system (OS)
- Windows 2000 with service pack 1 or later. All editions, including Terminal Services and Microsoft Windows 2000 MultiLanguage Edition (MLE)
- Windows Server 2003 - all editions
- Windows XP Professional
- Windows NT is not supported.

Berikut ini langkah-langkahnya:
Jalankan command “setup.exe” yang ada di paket software yang telah di download
Kemudian muncul Install wizard (GUI). Lihat gambarnya di sini
- Pilih option “Basic Installation”
- Masukkan directory “Oracle Home Location”
- Pilih “Installation Type”
- Jangan pilih “Create Starter Database”
- Klik button “Next”
Oracle installer akan mengecek OS kita, apakah requirement-nya dipenuhi atau tidak. Lihat gambarnya di sini Pastikan semua statusnya “Succeeded”. Kalau ada warning, atau statusnya bukan Succeed, bereskan dulu OS-nya. Kemudian klik button “Next”
Dalam proses installati, Oracle akan menjalankan program java. Bila firewall PC anda memblock java, dan muncul alert “Windows Security Alert”, kilk tombol “Unblock”. Lihat gambarnya di sini
Muncul summary komponen Oracle Database 10g yang siap kita install. Lihat gambarnya di sini. Kemudian klik tombol “Install”
Installation progress ditunjukkan oleh gambar ini.
Setelah itu akan dilakukan konfigurasi tambahan oleh Oracle Installer. Kita cukup perhatikan saja. Lihat gambarnya di sini. Setelah konfigurasi selesai, klik tombol “Next”. Kadang-kadang kita tidak perlu kilk tombol Next tersebut, secara otomatis wizard menuju ke berikutnya.
Akhirnya instalasi selesai. Lihat gambarnya di sini. Setelah itu klik tombol “Exit”

Melihat Informasi Current Session

Melihat Informasi Current Session

Melihat informasi session bisa dilakukan dengan query ke VIEW V$SESSION. Namun tidak semua user bisa query ke VIEW ini. Yang bisa hanya user-user yang punya privilege berikut :

DBA (sys, system, dan lain-lain)
select on v_$session
select any dictionary
Meskipun untuk melihat informasi session kita sendiri, kalau tidak punya salah satu dari ketiga privilege di atas, ya tetep tidak bisa query ke VIEW v$session.

Untuk bisa melihat informasi session sendiri, selain melalui VIEW v$session, Oracle menyediakan tool/function SYS_CONTEXT.

Formatnya adalah SYS_CONTEXT( ‘USERENV’ , ‘PARAMETER’)
Untuk melihat informasi session yang kita kehendaki, kita tinggal memanggil function SYS_CONTEXT dan memasukkan parameter yang sesuai.

Contoh:
Melalui SQLPlus, melihat informasi hostname dan osuser dari mana current session berasal:

SQL> col "Os User" for a20
SQL> col "Hostname" for a35
SQL> select sys_context( 'USERENV','OS_USER') "Os User", sys_context( 'USERENV','HOST') "Hostname" from dual;

Os User Hostname
-------------------- ----------------------------------
rohmadp INTRANET\LOCALUSER_ROHMADPContoh kalau melalui PL/SQL

set serveroutput on
DECLARE
v_hostname varchar2(20);
v_os_user varchar2(35);
BEGIN
v_os_user:=sys_context('USERENV','OS_USER');
v_hostname:=sys_context('USERENV','HOST');
dbms_output.put_line('Os User = '||v_os_user);
dbms_output.put_line('Hostname = '||v_hostname);
END;
/

Os User = rohmadp
Hostname = INTRANET\LOCALUSER_ROHMADP***

Informasi apa saja yang bisa diambil dari SYS_CONTEXT?
Berikut ini beberapa contoh informasi yang bisa kita ambil. Lebih lengkapnya silahkan lihat referensi.

PARAMETER INFORMASI SESSION
=================================================================
OS_USER User OS dari mana client melakukan koneksi
HOST Komputer/mesin dari mana client melakukan koneksi
CURRENT_USER User database yang dipakai untuk koneksi
DB_NAME Nama database yang dikoneksi
Dan lain-lain Silahkan lihat ReferensiReferensi
Oracle® Database SQL Reference 10g Release 2 (10.2) - SYS_CONTEXT
Oracle9i SQL Reference Release 2 (9.2) - SYS_CONTEXT

Tags: Database, oracle, session

Login ke Database dengan User Lain

Login ke Database dengan User Lain

Sebagai DBA, kadang kita ingin login ke database dengan user lain sementara kita tidak tahu passwordnya. Contoh, kita diminta untuk mengubah password dari db link di schema TEST. Nama db link tersebut adalah TSREPLINK. Namun sayangnya, orang yang tahu password untuk user TEST sedang tidak di kantor, di telpon pun tidak diangkat. Padahal untuk mengubah db link harus dilakukan oleh user (schema) yang punya db link tersebut. Gimana kah caranya?

Misalkan definisi database link tersebut adalah berikut ini:

SQL> create database link TSREPLINK
connect to ROHMAD identified by ROHMADPASS using 'TSREP';Sekarang password user ROHMAD di database TSREP diganti menjadi ROHMADNEW. Mau gak mau kita khan mesti me-recreate database link tersebut dengan password yang baru.

Tapi kalau tidak tahu password user TEST, kita khan tidak bisa connect pakai user TEST tersebut. Mau melakukannya pakai user SYSTEM, ya gak bisa; kalau gak percaya, coba aja:

SQL> conn system
SQL> drop database link TEST.TSREPLINK;
ORA-02024: database link not foundMenghapus tabel atau index bisa seperti itu, sebutkan nama owner dan nama objectnya (tabel atau index). Tapi menghapus db link tidak seperti itu, harus pakai user (schema) yang punya. Harusnya begini caranya:

SQL> connect TEST
SQL> drop database link TSREPLINK;
SQL> create database link TSREPLINK
connect to ROHMAD identified by ROHMADNEW using 'TSREP';BEGINI CARANYA
Yang perlu kita lakukan adalah mengubah password user TEST. Kemudian buka session baru pakai user TEST dengan password yang baru. Kemudian kembalikan lagi password yang diubah tadi itu.

Lihat password user TEST (ini adalah password yang telah di-encrypt oleh Oracle; dan dengan cara apapun kita tidak bisa men-decrypt-nya). Jalankan query berikut, catat hasilnya. SQL> conn SYSTEM
SQL> select PASSWORD from dba_users
where username='TEST';
PASSWORD
------------------------------
7A0F2B316C212D67Setelah itu, ubah password user TEST SQL> alter user TEST identified by TEST_TEMP_PASS;Catatan: walaupun password diganti, session (dari user TEST) tetep establish, tidak terpengaruh apa-apa. Hanya saja kita tidak bisa login pakai user TEST dengan password yang lama. Oleh karena itu, segera buru-buru ke langkah selanjutnya.

Buka sesssion baru dengan dengan user TEST dan password yang baru SQL> conn TEST/TEST_TEMP_PASSKembali ke session SYSTEM. Kembalikan password user TEST ke password yang lama. SQL> alter user TEST
identified by values '7A0F2B316C212D67';Walaupun password diubah lagi (dikembalikan ke semula), session yang connect dengan password baru tersebut masih establish dan bisa melakukan aktifitas biasa.

Sekarang dengan session user TEST yang masih establish itu, tinggal kira recreate database link tersebut:

SQL> drop database link TSREPLINK;
SQL> create database link TSREPLINK
connect to ROHMAD identified by ROHMADNEW using 'TSREP';

Tags: Database, login, oracle,

Sabtu, 26 Juli 2008

Mensetting parameter NLS_XXX

Setting parameter NLS_

NLS_LANG parameter digunakan untuk mengatur general format dari database, seperti format tanggal, waktu, bahasa atau karakter yg digunakan, format mata uang (currency setting), kalender yg digunakan dan lain sebagainya. Yang harus di ingat adalah konfigurasi yg berlaku pada database Oracle tidak ada hubungannya dengan regional setting dari komputer yg digunakan.

Lalu hal apa yg menyebabkan pentingnya pembahasan mengenai konfigurasi format database Oracle?.

Apakah anda pernah mencoba proses insert atau update dan menemukan pesan kesalahan seperti yang terlihat pada contoh dibawah?

SQL> connect indooracle/dba@indooracle_db
Connected.
SQL> select sysdate from dual;

SYSDATE
-----------
21-SEP-2001

SQL> insert into table_contoh values ('12/12/99')

ERROR at line 1:
ORA-01843: not a valid month
Kejadian ini mungkin jarang dialami untuk anda-anda yg membangun suatu aplikasi yg tidak memperhitungkan lintas regional. Dan akan mengalaminya jika anda membangun aplikasi yg ditujukan untuk beberapa perusahaan yg berada di teority/negara yg berbeda.

sebelum lebih jauh marilah kita melihat hirarki dari NLS_ parameter.

Database
Instance ( berasal dari setting init.ora )
Clint Side (berasal dari client environment atau setting registry )
Session ( via perintah ALTER SESSION )
Lebih detail marilah kita membicarakan masing-masing tingkatan tersebut;

Parameter NLS_ pada Database
Configurasi parameter ini di tentukan dari variable environment NLS_TERRITORY pada saat pembuatan database. Dimana NLS_TERRITORY itu sendiri di turunkan dari parameter NLS_LANGUAGE. untuk AMERICA format tanggalnya adalah DD-MON-YY.

Parameter NLS_ pada Instance
Setting parameter ini ditentukan pada sebuah init.ora file, untuk mengetahui NLS yg terdapat pada init.ora melalui SQL*Plus yaitu dengan melihat melalui view NLS_INSTANCE_PARAMETERS.

SQL> select * from nls_instance_parameters;

PARAMETER VALUE
------------------------------ -------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_SORT
NLS_DATE_LANGUAGE
NLS_DATE_FORMAT
NLS_CURRENCY
NLS_NUMERIC_CHARACTERS
NLS_ISO_CURRENCY
NLS_CALENDAR
NLS_TIME_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
NLS_DUAL_CURRENCY
NLS_COMP
NLS_ pada configurasi Client
NSL parameter pada client ditentukan dalam registry dalam key HKEY_LOCAL_MACHINE\Software\Oracle (untuk aplikasi 32 Bit), sedangkan untuk aplikasi 16 Bit, setting NLS ditentukan pada oracle.ini. Yang harus diingat
adalah setting yg sebelumnya sudah didefiniskan pada Database atau Instance
akan secara otomatis ditimpa.

pada saat instalasi PC default NLS adalah NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 >> DD-MON-YY

Setting NLS instance pada init.ora ini hanya akan dipakai jika setting NLS_LANG dan NLS_DATE_FORMAT pada client tidak digunakan.

NLS_DATE_FORMAT dengan menggunakan SESSION

Untuk menimpa setting dari NLS parameter yg ada pada Database, instance
atau pun client, yaitu dengan menggunakan perintah ALTER SESSION secara
explicit.

SQL> alter session set nls_date_format='DD-MON-YYYY HH24:MI:SS';

dengan memanfaatkan NLS_SESSION_PARAMETERS kita dapat menampilkan effeknya yaitu kombinasi NLS setting dari Database, instancem, client dan session.

SQL> select * from nls_session_parameters;
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-YYYY HH24:MI:SS
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-YY HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-YY HH.MI.SSXFF AM TZH:T
NLS_DUAL_CURRENCY $
NLS_COMP

15 rows selected.
Menghindari masalah perbedaan setting NLS
Dari penjelasan di atas dapat disimpulkan, bahwa proses pada aplikasi yang
berjalan akan tergantung pada setting NLS. Maka muncul sebuah pertanyaan:
bagaimana untuk menghindari perbedaan setting NLS ini?, Solusinya dapat dengan menggunakan fungsi konversi TO_CHAR() atau TO_DATE().

insert into table_name values
( TO_DATE( sDay||'-'||sMonth||'-'||sYear,'DD-MM-YYYY') );
* Di assumsikan sDay, sMonth dan sYear masing-masing berisi:
‘12′ –> tanggal
‘12′ –> Bulan
‘2001′ –> Tahun

Kesimpulan
Jika kita menemukan setting NLS (misalkan NLS_DATE_FORMAT) pada
init.ora tidak berfungsi, maka yg dapat dilakukan adalah mengganti setting pada
registry yang berada pada

HKEY_LOCAL_MACHINE\Software\Oracle

atau, dengan menggunakan perintah ALTER SESSION,

SQL> alter session set nls_date_format=’DD-MON-YYYY HH24:MI:SS’;atau jika anda menggunakan Oracle 8i, release 8.1

create or replace trigger data_logon_trigger
after logon
ON DATABASE
begin
execute immediate
'alter session set nls_date_format = ''yyyymmdd'' ';
end;
/

Project Raptor

Project Raptor hadiah dari Oracle di penghujung tahun 2005

Project Raptor saat ini sudah keluar sebagai “An Early Adopter release”, project ini merupakan GUI yang dapat digunakan untuk melihat object database, menjalankan SQL statment dan SQL script, mampu mengedit dan men-debug PL/SQL statment. Dan juga dapat juga untuk menghasilkan report, membuat dan menyimpannya.

“An Early Adopter release” merupakan release pertama untuk public yang keluar disaat penghujung tahun 2005, saat ini sudah dapat didownload untuk Windows dan Linux (Release untuk Mac OS X direncanakan akan di support pada release berikutnya). Dimana Project Raptor dapat digunakan untuk connect ke database versi 9.2.0.1 dan atau yang lebih baru. Hingga saat ini tidak sedikit oracle fans mencoba membandingkan Project Raptor dengan TOAD, PLSQL Developer, TORA, DBArtisan, dll. Memang pada release pertama ini belum dapat di sejajarkan dengan product-product diatas, namun besar harapan bisa mengisi kekosongan, karena sebelumnya Oracle hanya mengandalkan SQL*Plus dan OEM. Ya mudah-mudahan saja tool ini bisa bermanfaat, dan syukur kita bisa memperolehnya dengan FREE. Support untuk release ini bisa didapatkan melalui “OTN Discussion Forum“.

Dengan ukuran file installasi sebesar 60 MB, memang bukan ukuran yang kecil mengingat project ini dibuat base on Java, dan koneksi melalui JDBC Thin Driver, dan di bundel bersamaan dengan JRE runtime. Yang kurang di mengerti adalah mengapa JRE runtime harus di bundel menjadi satu dengan Project Raptor, mengapa tidak di pisahkan saja, untuk mengemat bandwidth bagi yang sebelumnya sudah memiliki JRE runtime.

Release berikutnya dijadwalkan akan di release pada awal tahun 2006, Ok!… kita tunggu saja feature apalagi yang akan diberikan oleh Project Raptor.

Jika anda sudah menggunakan Project Raptor, silahkan berikan commentar dan sharing dengan yg lain

IP address& Autotrace in SQLPLUS

Thrown when the IP address of a host cannot be determined

Pada saat installasi Oracle Client 10g Release 1 mungkin pernah ada yang mengalami error "Thrown when the IP address of a host cannot be determined" dan process berhenti pada saat "Processing Oracle Net Configuration Assistant 10…", hal ini terjadi pada computer yg terhubung ke jaringan dan menggunakan dynamic IP dari DHCP, sepertinya oracle installer mencoba untuk membaca ip address pada file hosts yang terdapat di folder %WINDIR%\system32\drivers\etc\. dan hanya mendapatkan entry localhost seperti terlihat sebagai berikut:

127.0.0.1 localhostNah solusinya yaitu dengan menambahkan entry baru berupa ip address yg didapat dari DHCP, ini dapat dilihat dengan menggunakan perintah "ipconfig /all" pada command prompt dan hasilnya akan terlihat seperti berikut:

Ethernet adapter Local Area Connection:

Connection-specific DNS Suffix: jkt.indooracle.net
Description . . . . . . . . . : AMD PCNET Family PCI Ethernet Adapter
Physical Address. . . . . . . : 00-0C-29-89-A6-FC
Dhcp Enabled. . . . . . . . . : Yes
Autoconfiguration Enabled . . : Yes
IP Address. . . . . . . . . . : 192.168.0.86
Subnet Mask . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . : 192.168.0.10
DHCP Server . . . . . . . . . : 192.168.0.10
DNS Servers . . . . . . . . . : 192.168.0.10
Lease Obtained. . . . . . . . : Thursday, June 08, 2006 4:08:36 PM
Lease Expires . . . . . . . . : Thursday, June 08, 2006 10:08:36 PMDari atas terlihat ip address untuk computer yg digunakan adalah 192.168.0.86, maka tambahkan ip address tersebut pada file hosts, sehingga akan terlihat seperti berikut:

127.0.0.1 localhost
192.168.0.86 vmware vmware.jkt.indooracle.netSekarang process installasi Oracle Client 10g Release 1 dapat dilanjutkan kembali dengan normal tanpa error.

_____________________
Autotrace in SQLPLUS


Here is what I like to do to get autotrace working:

cd $oracle_home/rdbms/admin
log into sqlplus as system
run SQL> @utlxplan
run SQL> create public synonym plan_table for plan_table
run SQL> grant all on plan_table to public
exit sqlplus and cd $oracle_home/sqlplus/admin
log into sqlplus as SYS
run SQL> @plustrce
run SQL> grant plustrace to public
You can replace public with some user if you want. by making it public, you let anyone trace using sqlplus (not a bad thing in my opinion).

About Autotrace
You can automatically get a report on the execution path used by the SQL optimizer and the statement execution statistics. The report is generated after successful SQL DML (that is, SELECT, DELETE, UPDATE and INSERT) statements. It is useful for monitoring and tuning the performance of these statements. For complete articles please take a look at http://asktom.oracle.com/.

How to change database character set April 4, 2006
Posted by indooracle in Solving problem, Tutorial, Uncategorized.
add a comment
Catat/backup nilai dari parameter sebelum melakukan perubahan, dengan tujuan agar apabila diinginkan dapat mengembalikan nilai parameter tersebut ke nilai awalnya.

show parameters JOB_QUEUE_PROCESSES;
show parameters AQ_TM_PROCESSES;Kemudian dilanjutkan dengan process ALTER DATABASE untuk mengubah character set.

STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET new_character_set;
SHUTDOWN IMMEDIATE; -- or SHUTDOWN NORMAL;
STARTUP;Jika dibutuhkan kita dapat mengubah kembali nilai dari JOB_QUEUE_PROCESSES dan AQ_TM_PROCESSES.

ALTER SYSTEM SET JOB_QUEUE_PROCESSES = old_job_queue_processes_value;
ALTER SYSTEM SET AQ_TM_PROCESSES = old_aq_tm_processes_value;Dictionary Table
- select * from v$nls_parameters

INBOUND_CONNECT_TIMEOUT

INBOUND_CONNECT_TIMEOUT


Untuk yang menggunakan Oracle 10g R2, mungkin pernah mengalami hal dimana kita dapat dengan sukses connect menggunakan SQL*Plus, namun pada saat mencoba menjalankan aplikasi, kita kadang bisa connect kedatabase atau sama sekali tidak bisa terhubung dengan database.

Berikut ini mungkin bisa membantu mengatasi masalah anda.

Set INBOUND_CONNECT_TIMEOUT_listener_name = 0 pada listener.ora
Set SQLNET.INBOUND_CONNECT_TIMEOUT = 0 pada sqlnet.ora pada server
Stop dan start database beserta dengan listernernya
Test kembali aplikasi anda, apakah sudah berhasil connect ke database
Untuk melihat apakah nilai INBOUND_CONNECT_TIMEOUT pada listernet sudah berubah bisa dengan menggunakan:

LSNRCTL> show inbound_connect_timeout
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.9.11)(PORT=1521)))
LISTENER parameter “inbound_connect_timeout” set to 0
The command completed successfully


Berikut ada potongan dari keterangan error yang berhasil di kumpulkan.

– alert.log pada database server

Wed Oct 11 16:42:35 2006
WARNING: inbound connection timed out (ORA-3136)
Wed Oct 11 16:43:25 2006
WARNING: inbound connection timed out (ORA-3136)
Wed Oct 11 16:48:32 2006
WARNING: inbound connection timed out (ORA-3136)
Wed Oct 11 16:54:20 2006
WARNING: inbound connection timed out (ORA-3136)– sqlnet.log pada aplikasi yg dijalankan

Fatal OSN connect error 12637, connecting to:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=
(COMMUNITY=tcp.dbprod)(PROTOCOL=TCP)
(Host=server01)(Port=1521))(ADDRESS=
(COMMUNITY=tcp.dbprod)(PROTOCOL=TCP)
(Host=server01)(Port=1526)))(CONNECT_DATA=(SID=dbprod)
(CID=(PROGRAM=NETERP.exe)(HOST=WINXP_PC01)(USER=dede))))

VERSION INFORMATION:
TNS for 32-bit Windows: Version 2.3.4.0.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows:
Version 2.3.4.0.0 - Production
Time: 11-OCT-06 16:52:58
Tracing not turned on.
Tns error struct:
nr err code: 12206
TNS-12206: TNS:received a TNS error during navigation
ns main err code: 12637

TNS-12637: Packet receive failed
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
******************************

Fatal OSN connect error 12547, connecting to:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=
(PROTOCOL=BEQ)(PROGRAM=oracle80)(ARGV0=oracle80ORCL)
(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=
(PROTOCOL=beq)))')))(CONNECT_DATA=(SID=ORCL)
(CID=(PROGRAM=NETERP.exe)(HOST=WINXP_PC01)(USER=dede))))

VERSION INFORMATION:
TNS for 32-bit Windows: Version 2.3.4.0.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows:
Version 2.3.4.0.0 - Production
Time: 11-OCT-06 16:52:58
Tracing not turned on.
Tns error struct:
nr err code: 12206
TNS-12206: TNS:received a TNS error during navigation
ns main err code: 12547
TNS-12547: TNS:lost contact

ns secondary err code: 12560
nt main err code: 517
TNS-00517: Lost contact
nt secondary err code: 0
nt OS err code: 0SQLNET.INBOUND_CONNECT_TIMEOUT

Purpose
Use the SQLNET.INBOUND_CONNECT_TIMEOUT parameter to specify the time, in seconds, for a client to connect with the database server and provide the necessary authentication information.

If the client fails to establish a connection and complete authentication in the time specified, then the database server terminates the connection. In addition, the database server logs the IP address of the client and an ORA-12170: TNS:Connect timeout occurred error message to the sqlnet.log file. The client receives either an ORA-12547: TNS:lost contact or an ORA-12637: Packet receive failed error message.

. Without this parameter, a client connection to the database server can stay open indefinitely without authentication. Connections without authentication can introduce possible denial-of-service attacks, whereby malicious clients attempt to flood database servers with connect requests that consume resources.

To protect both the database server and the listener, Oracle Corporation recommends setting this parameter in combination with the INBOUND_CONNECT_TIMEOUT_listener_name parameter in the listener.ora file. When specifying values for these parameters, consider the following recommendations:

Set both parameters to an initial low value.
Set the value of the INBOUND_CONNECT_TIMEOUT_listener_name parameter to a lower value than the SQLNET.INBOUND_CONNECT_TIMEOUT parameter.
For example, you can set INBOUND_CONNECT_TIMEOUT_listener_name to 2 seconds and INBOUND_CONNECT_TIMEOUT parameter to 3 seconds. If clients are unable to complete connections within the specified time due to system or network delays that are normal for the particular environment, then increment the time as needed.

See Also:
Oracle9i Net Services Administrator’s Guide for information about configuring these parameters

Default
None

Example
SQLNET.INBOUND_CONNECT_TIMEOUT=3

INBOUND_CONNECT_TIMEOUT

INBOUND_CONNECT_TIMEOUT


Untuk yang menggunakan Oracle 10g R2, mungkin pernah mengalami hal dimana kita dapat dengan sukses connect menggunakan SQL*Plus, namun pada saat mencoba menjalankan aplikasi, kita kadang bisa connect kedatabase atau sama sekali tidak bisa terhubung dengan database.

Berikut ini mungkin bisa membantu mengatasi masalah anda.

Set INBOUND_CONNECT_TIMEOUT_listener_name = 0 pada listener.ora
Set SQLNET.INBOUND_CONNECT_TIMEOUT = 0 pada sqlnet.ora pada server
Stop dan start database beserta dengan listernernya
Test kembali aplikasi anda, apakah sudah berhasil connect ke database
Untuk melihat apakah nilai INBOUND_CONNECT_TIMEOUT pada listernet sudah berubah bisa dengan menggunakan:

LSNRCTL> show inbound_connect_timeout
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.9.11)(PORT=1521)))
LISTENER parameter “inbound_connect_timeout” set to 0
The command completed successfully


Berikut ada potongan dari keterangan error yang berhasil di kumpulkan.

– alert.log pada database server

Wed Oct 11 16:42:35 2006
WARNING: inbound connection timed out (ORA-3136)
Wed Oct 11 16:43:25 2006
WARNING: inbound connection timed out (ORA-3136)
Wed Oct 11 16:48:32 2006
WARNING: inbound connection timed out (ORA-3136)
Wed Oct 11 16:54:20 2006
WARNING: inbound connection timed out (ORA-3136)– sqlnet.log pada aplikasi yg dijalankan

Fatal OSN connect error 12637, connecting to:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=
(COMMUNITY=tcp.dbprod)(PROTOCOL=TCP)
(Host=server01)(Port=1521))(ADDRESS=
(COMMUNITY=tcp.dbprod)(PROTOCOL=TCP)
(Host=server01)(Port=1526)))(CONNECT_DATA=(SID=dbprod)
(CID=(PROGRAM=NETERP.exe)(HOST=WINXP_PC01)(USER=dede))))

VERSION INFORMATION:
TNS for 32-bit Windows: Version 2.3.4.0.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows:
Version 2.3.4.0.0 - Production
Time: 11-OCT-06 16:52:58
Tracing not turned on.
Tns error struct:
nr err code: 12206
TNS-12206: TNS:received a TNS error during navigation
ns main err code: 12637

TNS-12637: Packet receive failed
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
******************************

Fatal OSN connect error 12547, connecting to:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=
(PROTOCOL=BEQ)(PROGRAM=oracle80)(ARGV0=oracle80ORCL)
(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=
(PROTOCOL=beq)))')))(CONNECT_DATA=(SID=ORCL)
(CID=(PROGRAM=NETERP.exe)(HOST=WINXP_PC01)(USER=dede))))

VERSION INFORMATION:
TNS for 32-bit Windows: Version 2.3.4.0.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows:
Version 2.3.4.0.0 - Production
Time: 11-OCT-06 16:52:58
Tracing not turned on.
Tns error struct:
nr err code: 12206
TNS-12206: TNS:received a TNS error during navigation
ns main err code: 12547
TNS-12547: TNS:lost contact

ns secondary err code: 12560
nt main err code: 517
TNS-00517: Lost contact
nt secondary err code: 0
nt OS err code: 0SQLNET.INBOUND_CONNECT_TIMEOUT

Purpose
Use the SQLNET.INBOUND_CONNECT_TIMEOUT parameter to specify the time, in seconds, for a client to connect with the database server and provide the necessary authentication information.

If the client fails to establish a connection and complete authentication in the time specified, then the database server terminates the connection. In addition, the database server logs the IP address of the client and an ORA-12170: TNS:Connect timeout occurred error message to the sqlnet.log file. The client receives either an ORA-12547: TNS:lost contact or an ORA-12637: Packet receive failed error message.

. Without this parameter, a client connection to the database server can stay open indefinitely without authentication. Connections without authentication can introduce possible denial-of-service attacks, whereby malicious clients attempt to flood database servers with connect requests that consume resources.

To protect both the database server and the listener, Oracle Corporation recommends setting this parameter in combination with the INBOUND_CONNECT_TIMEOUT_listener_name parameter in the listener.ora file. When specifying values for these parameters, consider the following recommendations:

Set both parameters to an initial low value.
Set the value of the INBOUND_CONNECT_TIMEOUT_listener_name parameter to a lower value than the SQLNET.INBOUND_CONNECT_TIMEOUT parameter.
For example, you can set INBOUND_CONNECT_TIMEOUT_listener_name to 2 seconds and INBOUND_CONNECT_TIMEOUT parameter to 3 seconds. If clients are unable to complete connections within the specified time due to system or network delays that are normal for the particular environment, then increment the time as needed.

See Also:
Oracle9i Net Services Administrator’s Guide for information about configuring these parameters

Default
None

Example
SQLNET.INBOUND_CONNECT_TIMEOUT=3

Sabtu, 19 Juli 2008

Mempercepat loading windows XP

Mempercepat loading windows XP
for everyone

Perlu diketahui bahwa salah satu cara untuk mempercepat loading Windows XP adalah dengan menghapus file prefetch di folder C:\Windows\Prefetch. File prefetch itu dibuat secara otomatis oleh Windows XP saat kita menjalankan sebuah program. File tersebut akan otomatis bertambah. Nah, berikut ini cara menonaktifkan file prefetch Windows XP.
1. Jalankan regedit melalui Start » Run.
2. Masuk ke folder berikut ini.
start-run-regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\Prefetch Parameters\
3. Pada jendela sebelah kanan klik Enable Prefetcher.
4. Isikan angka berikut dan pilih sesuai dengan kebutuhan anda.
0 = untuk menonaktifkan.
1 = aktifkan prefetch untuk aplikasi saja.
2 = aktifkan prefetch untuk proses booting saja.
3 = aktifkan prefetch untuk aplikasi dan booting.
5. Silahkan anda bandingkan sebelum dan sesudah anda menonaktifkan prefetch pada Windows XP anda.
Berikut ini adalah trick2 simple untuk mempercepat windows. efektifitas trik2 ini mungkin berbeda2, tip2 berikut mungkin bisa membuat komputer anda tidak stabil. maka. PROCEED WITH CAUTION. Juga jangan lupa lakukan backup registry sebelum tweaking.
Quote:
Cara Back up registry
start>run>regedit>file>export
kasih nama backup .reg anda klik ok
done1. Mendisable Service Windows yg tidak diperlukan.
Karena windows ditujukan untuk berbagai user dan tugas, maka windows membuat service yg sebenarnya tidak tidak terlalu diperlukan. Service2 berikut ini seringkali memakan resouce yg tidak sedikit, dengan mendisable (me-non-aktif-kan) maka komputer kita bisa mendapatkan sedikit boost karenanya.

Quote:
* Alerter
* Clipbook
* Computer Browser
* Distributed Link Tracking Client
* Fast User Switching
* Help and Support - (Jika anda mengunakan windows help, maka langkah ini diskip aja)
* Human Interface Access Devices
* Indexing Service
* IPSEC Services
* Messenger
* Netmeeting Remote Desktop Sharing
* Portable Media Serial Number
* Remote Desktop Help Session Manager
* Remote Procedure Call Locator
* Remote Registry
* Remote Registry Service
* Secondary Logon
* Routing & Remote Access
* Server
* Telnet
* TCP/IP NetBIOS Helper
* Upload Manager
* Universal Plug and Play Device Host
* Wireless Zero Configuration -(Jangan didisable jika anda mengunakan Wireless)
* Workstation
Cara mendisable service diatas:
1. Klik start>Run>ketik “services.msc”
2. Dobel klik service yg hendak diubah
3. Ubah startup type menjadi ‘Disable”
2. Matikan System restore
System restore bisa bermanfaat jika komputer bermasalah, akan tetapi semua restore point yg disimpan bisa memakan ruangan yg cukup besar di harddisk. System restore membebani karena selalu memonitor sistem, dengan mendisable system restore maka sebagian resorce bisa dialokasikan untuk hal yg lain.
1. Buka Control Panel
2. Klik Performance and Maintenance
3. Klik System
4. Klik System Restore tab
5. Klik ‘Turn off System Restore on All Drives’
6. Klik ‘Ok’
3. Defrag Pagefile
Keeping your pagefile defragmented can provide a major performance boost. One of the best ways of doing this is to creat a separate partition on your hard drive just for your page file, so that it doesn’t get impacted by normal disk usage. Another way of keeping your pagefile defragmented is to run PageDefrag. This cool little app can be used to defrag your pagefile, and can also be set to defrag the pagefile everytime your PC starts. To install:
1. Download and Run PageDefrag,
2. kasih centang pada “Defrag at next Reboot”,
3. Klik OK
4. Reboot
4. Mempercepat akses Folder - dengan mendisable Last Access Update.
Jika anda memiliki banyak folder dan subdirectories, maka akses ke Direktory2 Windows XP terasa sangat berat dan seringkali cuman membuang waktu. Dengan mengupdate time stamp di registry, yaitu last access update untuk semua sub directory. Proceed with caution: Langkah berikut bukan untuk N00bie
1. Start>Run>regedit
2. “HKEY_LOCAL_MACHINE\System\CurrentControlSet\C ontr ol\FileSystem”
3. Klik kanan di bagian yg kan (cari area yg kosong), lalu pilih ‘DWORD Value’
4. Bikin DWORD Value dengan nama ‘NtfsDisableLastAccessUpdate’
5. Klik kanan pada value baru terus pilih ‘Modify’
6. Ubah data menjadi ‘1′
7. Klik ‘OK’
5. Me-non-aktifkan Microsoft System Sounds
Secara default MS sound systems membuat komputer berbunyi/bersuara ketika booting awal, shutdown, error, dll. Skenario suara windows jelas2 membuat komputer lebih lambat (terutama dalam waktu shutdown dan booting awal), untuk me-non-aktifkan silahkan ikuti langkah berikut:
1. Buka Control Panel
2. Klik Sounds and Audio Devices
3. Klik tab Sounds
4. Pilih “No Sounds” dari Sound Scheme
5. Klik “No”
7. Klik “Apply”
8. Klik “OK”

6. Mempercepat waktu Boot
Fitur yg lumayan asik dari Windows XP adalah kemampuan untuk mendefrag ketika ada dalam proses booting. Boot Defrag pada prinsip menata file2 yg relevan dengan booting secara berurutan. Secara default fitur ini telah diaktifkan pada beberapa Build Windows, tapi beberapa build windows tidak, ada baiknya kalo kita cross check terhadap fiotur yg satu ini.
1. Start Menu>Run
2. Regedit
3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOpt imizeFunction
4. Cari “Enable” dibagian kanan regedit
5. Klik “Modify”
6. Pilih “Y to enable”
7. Reboot
Tambahan:
Bootvis juga bisa dicoba, untuk memangkas waktu boot dengan manufer yg manis.
7. Mempercepat Performa Swapfile
Jika anda memiliki ram lebih besar dari 256MB bisa dibilang tweaking yg ini akan membuat sistem anda berjalan lebih cepat. Tweaking ini pada dasarnya PC kita mengunakan setiap byte dari memori fisik yg terpasang di komputer kita, SEBELUM mengunakan swap file.
1. Start>Run
2. “msconfig.exe”>ok
3. Klik tab System.ini
4. Klik tanda plus pada tab 386enh
5. Klik kotak new kemudian ketik “ConservativeSwapfileUsage=1″
6. Klik OK
7. Restart
8. Mempercepat Loading Windows Menu
Tweak ini adalah tweaking fav saya, karena akan komputer kita terasa lebih cepat. Tweaking ini membuang waktu delay ketika kita mengklik menu dan windows XP menampakkan Menu.
1. Start>Run
2. Regedit>Ok
3. “HKEY_CURRENT_USER\Control Panel\Desktop\”
4. Pilih/Sorot “MenuShowDelay”
5. Klik kanan dan pilih “Modify’
6. Ketik angka “100″
Angka 50-150 adalah kisaran yg baik, bisa disesuaikan dengan Mood anda
9. Mempercepat Loading Program.
Tweaking ini bisa berjalan untuk sebagian besar program. Jika program tidak mau loading seperti yg diharapkan, silahkan aja dikembalikan ke setting semula.
1. Klik kanan pada icon/shortcut yg berkaitan dengan program.
2. properties
3. Pada kotak ‘target’, tambahkan ‘ /prefetch:1′ diakhir kalimat.
4. Klik “Ok”
gampang kan, Program akan loading lebih cepat.

10. Mempercepat Shutdown Windows XP.
Tweaking ini mengurangi waktu tunggu secara otomatis ketika windows sudah menerima instruksi untuk shutdown.
1. Start>Run
2. ‘Regedit’>OK
3. ‘HKEY_CURRENT_USER\Control Panel\Desktop\’
4. Sorot ‘WaitToKillAppTimeout’
5. Klik kanan dan pilih modify
6. Ubah value menjadi ‘1000′
7. Klik ‘OK’
8. Sorot ‘HungAppTimeout’
9. Klik kanan dan pilih modify
10. Ubah value menjadi ‘1000′
11. Klik ‘OK’
12. ‘HKEY_USERS\.DEFAULT\Control Panel\Desktop’ sorot WaitToKillAppTimeout’
13. Klik kanan dan pilih modify
15. Ubah value ke ‘1000′
16. Klik ‘OK’
17. ‘HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contr ol\’ sorot ‘WaitToKillServiceTimeout’
19. Klik kanan dan pilih modify
20. Ubah value menjadi ‘1000′
21. Klik ‘OK’
Quote:
Tip2 berikut ini berkaitan dengan bagaimana Windows “dibebaskan” dari beban2 yg mengakibatkan sistem jadi lambat dan kurang responsifMembersihkan Prefetch File untuk meningkatkan Performa Windows.
Fitur ini cukup efisien dalam meningkatkan agresifitas windows tapi tidak perlu mengutak-utik registry. Yg diperlukan adalah mendelete isi directory/folder prefetch. Prefetch adalah directory yg berisi link2 yg kadaluarsa. Link2 yg semakin menumpuk bisa memperlambat komputer anda secara signifikan. Directory prefetch ada di c:windows/prefetch, membersihkan prefetch 2-3 minggu sekali cukuplah untuk pemakaian standar.Mendisable Prefetch untuk Sistem dengan memory yg kecil (256MB kebawah)
Jika sistem anda cuman 128MB. Windows prefetch akan melumpuhkan sistem anda karena prefetch berusaha nge-load, link2 lama dengan tujuan mempercepat komputer, tapi prefetch itu spt pedang mata dua, karena terlalu banyak yg di load justru komputer bukannya tambah cepat, tapi malahan jadi lambat. Karena sebagian besar memori idle disedot untuk hal.
Cara mendisable Prefetch
Quote:
1. start>run>regedit
2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher];
3. Dobel klik isi 0 untuk menDisable.
4. reboot.


Booting lebih cepat dengan mengurangi beban Font.

Quote:
Setiap kali windows booting selalu melakukan loading font2 yg terdaftar di windows. Jika anda bukan desainer grafik, tentu saja ngggak semua font itu digunakan. Saran saya adalah memindahkan font2 di folder lain.
1. Bikin foler baru
2. Masuk ke “Fonts” di Control Panel.
3. Sorot group font yg akan di pindah.
4. Pindahkan ke folder yg baru, atau untuk mudahnya klik kanan lalu pindahkan ke My Documents.
5. Reboot, jika anda membutuhkan font yg telah dipindahkan tadi, caranya copy dan paste ke directory font yg lama.
Mempercepat dengan mensetting ulang Prefetcher.

Quote:
Fitur ini cukup unik di Windows XP, dan jika dilakukan dengan benar hasilnya terasa sangat jozzzz, yg hendak kita lakukan adalah mensetting ulang folder cache yg ada di windows kita.
1. start>run>regedit
2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher]
3. ada 3 pilihan yaitu 0-Disable, 1-App launch prefetch, 2-Boot Prefetch, 3-Both (”3″ adalah yg direkomendasikan).
4. reboot.
Setting ulang ini akan mengurangi waktu booting dan waktu yg diperlukan untuk loading program.
Tweaking memory.

Quote:
Nggak cuman overclock di BIOS yg bisa mempercepat laju komputer , tapi tweaking ini nggak boleh dilewatkan. Tweaking ini disarankan bagi mereka yg memiliki kapasitas memory sebesar 512MB keatas.
1. start>run>regedit
2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session
Manager\Memory Management

Quote:
1.DisablePagingExecutive -dobel klik masukan desimal 1 -
point ini mengaakibatkan windows XP menyimpan data di memory, ketimbang mengakses page file di harddisk.
2.LargeSystemCache -dobel klik masukan desimal 1- - tweak ini
mengijinkan kernel windows jalan di memory, bener2 jozz gandhoz dan mak nyozzz kalo dilakukan dengan bener. so be careful.
Windows XP Icon Cache

Quote:
Seberapa banyak diantara rekan2 yg mengalami icon lag ketika mengunakan windows? Icon2 yg ada di desktop serasa lama sekali untuk muncul. Jangan kuatir jika anda mengalami hal ini. Icon di desktop mengunakan cache, dan ketika cache sudah menumpuk maka access dari desktop ke icon terasa sangat lambat apa yg perlu dilakukan? Silahkan delet atau hapus Iconchace.db yg ada di directory (/Documents) dan di (Settings/Username/Local Settings/Application Data). Ketika anda mendelete seketika itu juga windows akan bikin yg baru. dan yg pasti icon cache yg baru lebih ‘enteng’ bagi windows.
*pastikan opsi show hidden files and folder diaktifkan sebelum mendelete iconcache.db
Memaksimalkan Koneksi Internet

Quote:
56K TweaksPendahuluan
Salah satu sumber frustasi penguna internet adalah lambatnya koneksi internet, spt yg anda alami koneksi internet terkadang sangat lambat. Meski tertulis 56k output sesungguhnya dari dial up internet adalah 53.3k, dan rata2 pemakai dial up memperoleh koneksi 40k-50k, cukup lumayan untuk untuk standar dial up. Dalam angka 40k-50k maka througput maksimal adalah sebesar 6k per second.Langkah-langkah1. Download driver terbaru untuk modem anda.
2. Langkah kedua adalah “membersihkan” jalur telepon dari gangguan listrik statis, listrik statis mampu menurunkan koneksi internet secara signifikan. Dan meski melakukan tidak ada tweaking dari Windows yg bisa kita lakukan untuk mengatasi gangguan listrik statis.
3. Download cablenutSetting TCP/IP anda dan AFD registry untuk mencapai performa maksimal.
berikut ini adalah setting untuk cable nut 56kDefaultReceiveWindow = 8192
DefaultSendWindow = 4096
DisableAddressSharing = 1
InitialLargeBufferCount = 20
InitialMediumBufferCount = 48
InitialSmallBufferCount = 64
LargeBufferSize = 40960
MaxFastTransmit = 6400
MediumBufferSize = 15040
PriorityBoost = 0
SmallBufferSize = 1280
TransmitWorker = 32
FastSendDatagramThreshold = 1024
EnableFastRouteLookup = 1
EnablePMTUDiscovery = 1
IgnorePushBitOnReceives = 0
GlobalMaxTcpWindowSize = 8760
MaxFreeTcbs = 4000
MaxHashTableSize = 8192
MaxNormLookupMemory = 1500000
SackOpts = 1
SynAttackProtect = 1
Tcp1323Opts = 0
TcpLogLevel = 1
MaxDupAcks = 3
TcpMaxHalfOpen = 100
TcpMaxHalfOpenRetried = 80
TcpRecvSegmentSize = 1460
TcpSendSegmentSize = 1460
TcpTimedWaitDelay = 30
TcpUseRFC1122UrgentPointer = 0
TcpWindowSize = 8760
MaxConnectionsPer1_0Server = 8
MaxConnectionsPerServer = 4
DefaultTTL = 128
DisableUserTOSSetting = 0
TcpMaxDataRetransmissions = 6
DefaultTOSValue = 90
Tweak lain yg bisa dicoba,

Quote:
Control panel>phone modem properties>modems>sorot modem anda>propertiesGeneral tab:
Maximum port speed – 115,200Extra Settings
Masukan extra settings sesuai kebutuhan anda, referensi website yg menyedia extra settings adalah sbb:
Spy.net
56K.com
West.net
ModemHelp.orgAdvanced port settings
kasih centang “use FIFO buffers” kemudian slider barnya di geser ke paling kanan.Ubah default preferences:
Port Speed - 115,200
Data Protocol - Standard EC
Compression - enabled
Flow Control – hardwareAdvanced:
Data bits – 8
Parity – None
Stop Bits - 1
Modulation – StandardMasuk ke Network and Dialup Connections dan klik kanan pada Icon ISP anda dan plilih propertiesGeneral tab:
Sorot modem dan pilih configure “configure”, pilih maximum speed 921,600 dan dan di “hardware features” pastikan semua kotak dicentang.Networking tab:
Uninstall semua protocol yg tidak dipakai, Jika komputer anda adalah stand alone PC maka yg diperlukan adalah TCP/IP saja.Pilih kotak settings pastikan semua kotak dicentang.
Setting COM port:
Klik kanan My Computer lalu pilih properties - hardware - device manager - pilih COM port yg dipakai - port settings - bits per second 128000.
yahh, segitu dulu beberapa trik buat mempercepat windows.. dapet dari tetangga sebelah nih . 1 hal yang harus diingat ” BACKUP REGISTRY ANDA SEBELUM MELAKUKAN TWEAKING !!! “

6.
Tags: komputer


Kutipan dari ForumIF.

Bagi user awam, biasanya untuk membantu meningkatkan performa OS Windows, defrag adalah cara utama.
Namun ternyata, ada bbrp jalan lain yang dapat membantu Anda meningkatkan performa Windows lebih baik lagi.

Berikut ini terdapat tips2 yang diambil dari artikel pakar luar negeri:

1. Untuk menurunkan waktu booting dan meningkatkan performa, tidak usah menggunakan software defrag pihak ketiga, gunakan saja perangkat Defragmenter yang buatan (built-in) Windows, tidak akan jauh beda. Dan juga, sebaiknya menggunakan Harddisk dengan tipe Ultra-133 atau Serial ATA (SATA) dengan buffer 8-MB.

2. Jika RAM PC kurang dari 512 MB, maka sebaiknya ditambah kapasitas memorinya. Hal ini relatif tidak mahal dan akan membantu meningkatkan performa sistem Anda secara dramatis.

3. Pastikan file system yang digunakan Windows XP adalah NTFS. Cara memeriksanya:

a. Buka Windows Explorer (My Computer)
b. Klik kanan pada drive C:
c. Klik Properties.

Kalau ternyata file system Anda menggunakan FAT32, maka untuk mengubahnya adalah dengan cara sebagai berikut:
- Backup data-data penting dulu ya.
- Klik Start > Run > ketik CMD
- Setelah muncul jendela Command Prompt, ketik:

Code:
CONVERT C: /FS:NTFS

Catatan: Komputer jangan disela ketika melakukan konversi ini, dan juga dalam keadaan bebas dari virus. File system yang digunakan oleh drive bootable (biasanya C bisa FAT32 atau NTFS. Saya sangat merekomendasikan untuk menggunakan NTFS demi keamanan superior, ketahanan dan efisiensi ruang yang lebih besar.

4. Non aktifkan File Indexing. Layanan File Indexing mengekstraksi informasi dari dokumen-dokumen dan file-file lainnya yang ada pada harddisk dan membuat sebuah "searchable keyword index" (index keyword pencarian). Bisa dibayangkan proses ini sangat memberatkan sistem.

Cara kerjanya sbb:

Seorang user mencari kata, frase, atau properti sebuah dokumen, dari dokumen-dokumen yang jumlahnya ratusan atau ribuan dan ia tidak tahu nama dari dokumen yang dicari. Windows XP dengan fungsi built-in search masih bisa melakukan berbagai macam jenis pencarian tanpa melibatkan Indexing Service. Tapi agak lebih lama. Sistem Operasi harus membuka tiap file ketika diminta tolong mencari apa yang user inginkan.

Kebanyakan orang tidak membutuhkan fitur pencarian ini. Yang biasanya membutuhkan adalah lingkungan perusahaan yang besar dimana ribuan dokumen diletakkan pada paling tidak satu server. Akan tetapi jika hanya semacam system builder, yang kebanyakan kliennya adalah bisnis kecil dan menengah, dan jika para klien tidak membutuhkan fitur tersebut, saya rekomendasikan supaya mendisfungsikannnya (disable) layanan tersebut.

Caranya Mendisfungsikannya:

a. Buka Windows Explorer (My Computer)
b. Klik kanan pada drive C:
c. Pilih Properties
d. Hilangkan tanda centang (checklist) "Allow Indexing Service to index this disk for fast file searching."
e. Klik tombol Apply, muncul: apply changes to "C: subfolders and files"
f. Klik tombol OK.

Jika ada pesan peringatan atau error muncul (seperti "Access is denied"), klik tombol Ignore All.

5. Update driver VGA dan chipset motherboard, termasuk update BIOS dan konfigurasinya. Carilah info-info tentang konfigurasi BIOS secara tepat di internet.

6. Kosongkan folder Prefetch windows setiap 3 bulan atau lebih.

Windows XP merekam sebagian dari data atau aplikasi yang sering digunakan agar membuat proses load kelihatan lebih cepat ketika dipanggil oleh user. Hal ini bagus, tetapi untuk waktu yang lama, folder prefetch bisa jadi kelebihan muatan referensi file dan aplikasi yang tidak lagi digunakan. Jika hal itu terjadi, Windows XP akan membuang-buang waktu dan memperlambat performa sistem, ketika melakukan load aplikasi atau file. Tidak ada yang penting dalam folder tersebut, dan seluruh isinya aman untuk dihapus.
Folder tersebut terletak di: C:\WINDOWS\Prefetch\

7. Sekali sebulan jalankan disk cleanup.

Caranya:

a. Buka Windows Explorer (My Computer)
b. Klik kanan pada drive C:
c. Pilih Properties
d. Klik tombol Disk Cleanup dan delete semua file temporer.

8. Pada Device Manager, klik ganda pada IDE ATA/ATAPI Controllers device, dan pastikan DMA di-enable (diaktifkan) untuk tiap drive yang terhubung ke Primary Controller dan atau Secondary controller.

Lakukan hal ini dengan cara:

a. Klik ganda pada Primary IDE Channel. kemudian klik tab Advance Settings.
b. Pastikan Transfer Mode -nya diset pada "DMA if Available" untuk kedua Device 0 dan Device 1.
c. Lakukan hal serupa pada Secondary IDE Channel.

9. Upgrade Pengkabelan.

Untuk peningkatan teknologi harddisk, dibutuhkan pengakabelan yang akan mendorong performa lebih baik.
Pastikan untuk menggunakan kabel 80-wire Ultra-133 untuk semua device IDE dan gunakan konektor yang cocok dengan socket Master/Slave/Motherboard.

Kalo Device-nya cuma satu, harus dihubungkan pada konektor yang paling ujung dari kabel pita (kabel data), jangan pada konektor yang di tengah kabel pita, jika tidak, maka akan terjadi masalah sinyal. Pada harddisk ultra DMA, masalah sinyal ini bisa mencegah harddisk memaksimalkan potensinya.

10. Buang semua spyware dari komputer.

Gunakan program gratisan seperti AdAware buatan Lavasoft atau SpyBot Search & Destroy. Setelah program ini terinstal, pastikan untuk melakukan cek update dan mendownloadnya jika ada, sebelum melakukan pencarian spyware di komputer.
Apapun program yang ditemukan bisa dihapus secara aman. Semua program gratisan yang meminta spyware untuk dijalankan tidak akan berfungsi lagi. Jika program-program gratisan itu masih dibutuhkan tinggal instal lagi saja.

11. Buang semua program atau item yang tidak perlu dari rutin (routin) Windows Startup dengan menggunakan utilitas MSCONFIG.

Caranya:

a. Klik Start > Run > ketik MSCONFIG > klik OK
b. Klik tab StartUp –> kemudian hilangkan checklist (tanda centang) dari program yang tidak diinginkan.

Tidak paham dengan item-item tersebut? Kunjungi WinTasks Process Library. Situs itu memuat proses sistem, aplikasi yang diketahui dan juga tentang referensi spyware dan penjelsannya. Atau bisa diidentifikasi nama item-item tersebut secara langsung dengan menggunakan google.

12. Buang semua program yang tidak digunakan dari Add/Remove Programs di Control Panel.

13. Matikan beberapa atau semua animasi yang tidak dibutuhkan dan nonaktifkan (disable) active desktop.

Pada kenyataannya, untuk optimasi performa, matikan semua animasi. Windows Xp menawarkan banyak setting-setting yang berbeda pada bagian ini.

Caranya:

a. Klik System Icon di Control Panel
b. Klik tab Advance
c. Klik tombol Settings pada kotak Performance.
d. Hilangkan checklist (tanda centang) opsi apa saja yang tidak ingin dijalankan.
Atau bisa langsung klik pada Radio Button: Adjust for best performance.

14. Kalo bisa mengedit Registry Windows XP, lakukan untuk meningkatkan performa XP.

Bisa menggunakan software tweak atau manual mengedit registry. Di internet sudah banyak tersebar.

15. Kunjungi situs update Microsoft Windows secara rutin dan download semua update yang berlabel Critical.

Download juga Optional update yang dibutuhkan. (ingat, kalau software OS windows XP -nya bajakan, jangan coba-coba untuk mengupdate, bisa dikasih "stempel" tanda bajakan sama Microsoft yang justru akan memperlambat sistem ketika booting dan running).

16. Update anti virus dalam sepekan sekali atau bahkan harian. Pastikan hanya satu software yang terinstal. Menggabungkan lebih dari satu antivirus hanya akan mengundang penyakit bagi performa dan kahandalan komputer.

17. Pastikan font yang terinstal kurang dari 500 jenis saja pada komputer. Makin banyak font, makin lambatlah sistem. Walaupun windows XP lebih efisien dalam menangani font dari pada versi sebelumnya, tapi kelebihan font akan berdampak pada melemahnya sistem.

18. Jangan partisi harddisk. (Opsional saja)

NTFS File System Windows XP berjalan lebih efisien pada satu partisi yang besar. Data tidak lebih aman pada partisi terpisah, dan format ulang tidak dibutuhkan untuk instal ulang Sistem Operasi (OS). Satu partisi ini berfungsi agar tidak ada pembatasan oleh partisi akan tetapi akan dibatasi oleh ukuran kapasitas harddisk itu sendiri. Sehingga tidak perlu melakukan resize partisi yang meghabiskan waktu dan resiko kehilangan data.

19. Lakukan pengecekan terhadap sistem RAM untuk memastikan beroperasi dengan baik.

Saya merekomendasikan untuk menggunakan program gratisan MemTest86.
Setelah didownload, bisa membuat bootable CD atau disket (sesuai pilihan) yang akan melakukan 10 macam tes pada memory PC secara otomatis setelah malakukan boot dengan CD atau disket yang dibuat. Biarkan semua tes berjalan sampai paling tidak melewati 3 tes selesai dari 10 tes. Jika program mendapati error, matikan dan cabut listrik komputer, cabut RAM memory, ganti dengan yang lain dan lakukan tes lagi. Ingat, memory yang rusak tidak bisa diperbaiki, dan hanya bisa diganti.

20. Jika terdapat CD atau DVD recorder / writer, carilah update firmware dari pabriknya. Pada beberapa kasus, upgrade terbukti bisa mempercepat recorder tersebut dan biasanya gratis.

21. Non aktifkan (disable) service (layanan) yang tidak penting.

Windows XP memasang banyak service yang tidak dibutuhkan. Untuk menentukan service apa saja yang tidak dibutuhkan, buka situs Black Viper untuk konfigurasi Windows XP.

22. Jika tampilan tunggal Windows Explorer mengalami masalah ketika menampilkan file dan menghambat sistem operasi, lakukan langkah berikut:

a. Buka My Computer
b. Klik Tools
c. Klik Folder Options…
d. Klik tab View
e. Geser / gulung ke bawah menuju "Launch folder windows in a separate process", aktifkan opsi ini. Setelah komputer di-restart, opsi ini akan berjalan.

23. Setidaknya sekali setahun, buka casing komputer dan bersihkan semua debu dan "puing-puingnya". Sementara itu cek juga kipasnya, apakah putarannya masih proporsional.

---------------------------------------------

OK, That's all.