Oracle
Memasang SQL Developer
Feb 4th
SQL Developer (atau SQLDev untuk singkatnya) disediakan dalam bentuk compressed-archive dan installer (RPM Linux). Compressed-archive sendiri ada yang disertai dengan JRE dan ada juga yang tidak. Tulisan ini akan memaparkan cara memasang SQLDev menggunakan berbagai paket yang tersedia.
Oracle Password Cracker (Checker)
Jan 30th
Definisi : Adalah script yang ditulis dalam PL/SQL digunakan untuk membantu DBA melakukan pengecekan weakness/strength user password.
Keuntungan :
- Mudah di jalankan di sqlplus
- Tidak menggunakan library
- Mudah dipelajari
- Dapat melakukan pengecekan terhadap weakness/strength user password yang complex dan panjang sekalipun dengan cepat.
- Karena script ini di jalankan di database, DBA dapat melakukan blocking hal yang tidak diinginkan dengan mendesign user prilivileges seminimal mungkin. Contohnya jika menggunakan privileges untuk CREATE SESSION, SELECT ON SYS.USER$ dan EXECUTE ON DBMS_OBFUSCATION_TOOLKIT.
Cara Kerja :
- Download cracker-v2.0.sql. Source dapat dicari di http://www.petefinnigan.com.
- Letakkan source di $ORACLE_HOME/BIN atau directory mana saja. Pastikan oracle dapat membaca source tersebut.
- Buka SQLPLUS di Oracle dan jalankan script seperti contoh di bawah ini :
SQL> @cracker-v2.0.sql cracker: Release 1.0.4.0.0 - Beta on Fri Jan 30 11:40:38 2009 Copyright (c) 2008 PeteFinnigan.com Limited. All rights reserved. T Username Password CR FL STA ======================================================= U "SYS" [ ] -- -- OP U "SYSTEM" [ ] -- -- OP U "OUTLN" [OUTLN ] DE CR EL R "GLOBAL_AQ_USER_ROLE [GL-EX {GLOBAL} ] GE CR OP U "DIP" [DIP ] DE CR EL U "DMSYS" [DMSYS ] DE CR EL U "DBSNMP" [ ] -- -- OP U "WMSYS" [WMSYS ] DE CR EL U "EXFSYS" [EXFSYS ] DE CR EL U More >
Create MD5 function di Oracle
Jan 23rd
Suatu ketika saya ada keperluan menggunakan fungsi MD5 di oracle. karena mencari-cari fungsi built in di oracle tidak ketemu, atau mungkin tidak ada akhirnya saya memutuskan untuk membuat Java Store Procedure. Untuk mempelajari lebih detail langkah-langkah membuat java store procedure anda bisa melihat postingan sebelumnya Java Store Procedure .
Langkah pertama membuat fungsi md5 di java
import java.security.MessageDigest; public class MD5 { public static String getMD5(String message) { try { MessageDigest md = MessageDigest.getInstance("MD5"); String md5string=""; StringBuffer sb = new StringBuffer(); byte buf[] = message.getBytes(); byte[] md5 = md.digest(buf); System.out.println(message); for( int i = 0 ; i < md5.length ; i++ ) { String tmpStr = "0"+Integer.toHexString( (0xff & md5[i])); sb.append(tmpStr.substring(tmpStr.length()-2)); } md5string = sb.toString(); return (md5string); } catch (Exception e) { System.out.println(e); return "0"; } } }
Kemudian kita compile
#javac MD5.java
Jika tidak ada error akan menghasilkan MD5.class, kemudian kit aload ke oracle
loadjava -resolve -user scott/tiger MD5.class
Publish fungsi Java Store Procedure dengan membuat interface di oracle :
CREATE OR REPLACE FUNCTION GetMD5(str in varchar) RETURN VARCHAR2 as LANGUAGE JAVA NAME 'MD5.getMD5(java.lang.String) return java.lang.String';
kemudian kita coba
select GetMD5('gatotkaca') from dual;
GETMD5('gatotkaca')
============================
4495ca9b8bb44554754c5ed33a33fef9
selamat mencoba !!!
semua script yang ada pada halaman ini bisa anda download di sini
More >Java Store Procedure
Jan 23rd
Mulai dari Oracle versi 8i oracle menyediakan membuat Java Store Procedure didalam database. Java Store Procedure biasa digunakan untuk membangung fungsi-fungsi yang tidak disediakan di oracle atau utilitas yang mungkin lebih efisien dan mudah dikerjakan menggunakan pemrograman Java. Untuk mengetahui apakah database kita sudah bisa kita gunakan untuk membuat Java Store Procedure kita bis amengecek dengan sintak sebagai berikut :
SQL> describe dbms_java
jika perintah diatas memberikan pesan error seperti :
ERROR: ORA-04043: object dbms_java does not exist
artinya Package DBMS_JAVA belum terinstall di database kita, solusinya kita harus menginstall package tersebut yang sudah disediakan oleh oracle
#sqlplus / as sysdba SQL> @$ORACLE_HOME/javavm/install/initjvm.sql; @$ORACLE_HOME/xdk/admin/initxml.sql; @$ORACLE_HOME/xdk/admin/xmlja.sql; @$ORACLE_HOME/javavm/install/init_jis.sql $ORACLE_HOME; @$ORACLE_HOME/javavm/install/jisaephc.sql $ORACLE_HOME; @$ORACLE_HOME/javavm/install/jisja.sql $ORACLE_HOME; @$ORACLE_HOME/javavm/install/jisdr.sql 2481 2482; @$ORACLE_HOME/jsp/install/initjsp.sql; @$ORACLE_HOME/jsp/install/jspja.sql; @$ORACLE_HOME/rdbms/admin/initjms.sql; @$ORACLE_HOME/rdbms/admin/initrapi.sql; @$ORACLE_HOME/rdbms/admin/initsoxx.sql; @$ORACLE_HOME/rdbms/admin/initapcx.sql; @$ORACLE_HOME/rdbms/admin/initcdc.sql; @$ORACLE_HOME/rdbms/admin/initqsma.sql; @$ORACLE_HOME/rdbms/admin/initsjty.sql; @$ORACLE_HOME/rdbms/admin/initaqhp.sql;
Jika semua environment sudah terinstall dan siap kita akan membuat Java Store Procedure, berikut langkah-langkahnya :
- Membuat Java Class
Kita ingin membuat fungsi Hello World
public class PrintHello{ public static String Print(String name) { return "Hello My Name "+name; } } </pre > Compile Script diatas <pre lang="java"> javac PrintHello.java </pre > <li>Load dan Resolve Java Class ke Oracle</li> Java class sudah berhasil dihasilkan akan kia load masuk ke database dengan menggunakan utilitas yang sudah disediakan oleh oracle yaitu loadjava <pre lang="bash"> # loadjava loadjava: Usage: loadjava [-definer] [-encoding encoding] [-force] [-genmissing] [-genmissingjar jar] [-grant grants] [-help] [-nousage] [-noverify] [-oci8] [-order] [-resolve] [-resolver resolver] [-schema schema] [-synonym] [-thin] [-tableschema schema] [-user user/password@database] [-verbose] classes..jars..resources..properties...
Untuk kasus diatas kita gunakan option sederhana seperti berikut :
loadjava More >SqlPlus dengan History di Linux
Jan 6th
Paling frustasi kalau pake sqlplus, sudah ketik syntax panjang-panjang, waktu dieksekusi ada yang salah, ngetik lagi deh dari awal. Soalnya tidak ada history buat command yang sudah dijalankan. Tidak bisa diedit lagi command yang sudah kita ketik. Solusinya cuma di backspace. Tapi tenang saja, ada solusinya agar sqlplus juga punya kemampuan buat menyimpan history command, seperti Shell Bash di Linux. Yang kita perlukan hanyalah sebuah aplikasi yang bernama rlwrap. Install dulu rlwrap untuk operating system anda. Dalam contoh ini yang digunakan adalah openSUSE 10.3 yang bisa didapatkan dari http://download.opensuse.org/repositories/openSUSE:/10.3/standard/i586/rlwrap-0.28-27.i586.rpm. Setelah diinstal kita tinggal menjalankan perintah rlwrap dengan parameternya yaitu sqlplus:
oracle@NeuronServer:~> rlwrap sqlplus
Sqlplus yang terbuka akan memiliki kemampuan menyimpan history command dan line editing sederhana. Gunakan tombol panah atas dan bawah untuk mengakses perintah yang sudah kita jalankan. Kita juga bisa mengedit perintah itu dengan menggeser kursor menggunakan tombol panah kanan dan kiri. Agar konfigurasi rlwrap tadi terus dijalankan setiap login kita gunakan saja fungsi alias dari shell agar setiap kali sqlplus dijalankan yang dipanggil adalah perintah rlwrap dengan parameter sqplus-nya. Buka file .bash_profile yang ada di direktori home user oracle atau user yang dapat menjalankan perintah sqlplus:
oracle@NeuronServer:~> vi ~/.bash_profile
dan tambahkan baris berikut:
alias sqlplus='rlwrap sqlplus'
Cara lainnya dengan menjalankan perintah echo yang menambahkan baris diatas langsung di baris terakhir file .bash_profile:
oracle@NeuronServer:~> echo "alias sqlplus='rlwrap sqlplus'" >> ~/.bash_profile
Semoga bermanfaat and have a More >