Archive

Archive for July, 2012

Ramadhan, Dosa, Do’a dan Diri .. (nasihat untuk diri sendiri)

July 17, 2012 Leave a comment

Tidak terasa waktu semakin cepat berlalu. serasa baru kemarin menyambut bulan yang diberikan keistimewaan oleh Yang Maha Pengasih, sekarang sudah datang kembali saat ketika bulan ini menyambangi. Bulan Ramadhan, Bulan suci bulan penuh keistimewaan, bulan yang hari-harinya dipenuhi maqomul ijabah, bulan yang setiap napasnya dipenuhi dengan rahmat dan barokah, bulan yang setiap waktunya dipenuhi oleh deretan-deretan mutiara Rahman dan Rahim nya Allah SWT.

Bulan ini terasa sangat istimewa, karena pada bulan inilah, masjid besar menjadi kecil karena penuh sesak dengan orang yang beribadah, lantunan ayat-ayat suci Al-Qur’an terdengar diseluruh pelosok, tingkat kebaikan menjadi tinggi, Ghirah untuk ma’rifat kepada yang Maha Kuasa membesar, jiwa sosial menjadi tinggi, semua kebaikan se-akan-akan terbuka lebar di bulan ini.

Teringat 3 ramadhan yang telah dilewati, itulah masa ketika diri sedang sangat labil, terseret-seret gelombang harapan dan kenyataan. Ketika kegalauan menyelimuti, kegagalan datang bertubi-tubi, cobaan datang silih berganti, ketika hampir lepas dari pegangan yang semestinya, ketika hampir saja tenggelam kedalam kekufuran terhadap kekuasaan ilahi. Pokok pangkalnya hanyalah masalah hati, tapi efeknya hampir mempengaruhi seluruh aspek dalam diri.

Benar, Jihad yang paling besar yang harus dihadapi adalah jihadun nafsi … Jihad untuk melawan nafsu syahwat duniawi, jihad untuk mengendalikan hati. Seorang ulama besar berkata, hati itu hanya satu , tetapi diperebutkan oleh akal dan nafsu. ketika nafsu menguasai, maka hati akan memerintahkan badan untuk mengikuti keinginannya, namun ketika akal yang menguasai, maka hati akan memerintahkan diri untuk selalu menghadap kepada Allah, Rabbul ‘alamin.

Pada bulan ini, dalam sebuah hadits disebutkan, pintu-pintu neraka ditutup, dan pintu rahmat dibuka. syetan-syetan dibelenggu, iblis-iblis dikunci. Namun anehnya, walaupun begitu, masih banyak orang yang berbuat maksiat, kejahatan dan sejenisnya. Hal ini kembali lagi ke masalah hati.

Ketika hati selalu mengikuti keinginan hawa nafsu, dan tidak mengindahkan peringatan akal, maka lama kelamaan, hati akan terlatih untuk terus mengikuti keinginan nafsu, walaupun goadaan dari syetan tidak ada. istilahnya, hal tersebut sudah menjadi adat kebiasaan.

Ada perumpamaan, Hati itu asalnya sebening kaca. saking beningnya tidak ada satupun noda yang ada di dalamnya. Dosa laksana jelaga hitam pekat. Ketika berbuat dosa, maka hati akan ternodai oleh jelaga dosa. jika tidak dibersihkan dengan segera, maka lama-kelamaan hati akan dipenuhi kerak jelaga dosa yang akan sangat sukar dibersihkan. itulah perumpaan orang yang berbuat maksiat di bulan ramadhan. Hatinya telah tertutup debu hitam, karena tidak pernah dibersihkan.

Istighfar, bertaubat adalah lap pembersih hati. Setebal apapun dosa, sekeras-kerasnya jelaga, maka lama kelamaan, jika terus-menerus dibersihkan akan bersih juga. Ikutilah Teladan dari Rasul SAW, bahwa beliau beristighfar dalam sehari tidak kurang dari 70 kali. Coba tanyakan pada diri , berapa kali dalam sehari beristighfar, bertaubat atas dosa- dosa yang berceceran sebanyak buih lautan ?

Kunci untuk menjaga hati akan selalu ada dalam koridor yang diridhloi oleh Allah, adalah dengan Ilmu. Ilmu itu kehidupan hati daripada kebutaan, sinar penglihatan daripada kezaliman dan tenaga badan daripada kelemahan. (Al Ghazali). Dengan ilmu, kita bisa mengetahui mana yang baik, mana yang benar. Ilmu yang paling besar ada dalam Al-Qur’an dan As-Sunnah. Rasulullah SAW bersabda:

Taraktu fiikum amraini maa in tamassaktum bihimaa lan tadhillu abadan, Kitaballahi wa sunnata Rasulihi.

“Kutinggal untukmu 2 hal, yang jika kamu berpegang teguh kepadanya, maka kamu tidak akan tersesat selamanya. Kitabullah dan Sunnah Rasulnya”

Dimulai pada bulan Ramadhan ini, perbanyak Tadabur Al-Qur’an, menyelami kandungan yang ada didalamnya. Kombinasikan dengan Sunnah-Sunnah Shohihah Rasulullah SAW. Jika ada yang tidak mengerti, maka sering-seringlah berkumpul dengan majelis ilmu. selain bisa menambah wawasan keilmuan, semoga bisa menjadi salah satu dari 7 golongan manusia yang dijamin masuk surga.

Ramadhan ini harus menjadi titik tolak untuk menaikan derajat keimanan dan ketaqwaan. Ramadhan ini harus dijadikan momentum untuk memperbaiki diri , lingkungan dan umat. Ramadhan ini harus menjadi awal untuk mensucikan bulan-bulan yang lain dalam kadar ghirah untuk mendekatkan diri kepada Allah SWT. Jadikanlah Ramadhan bukan hanya sekedar bulan suci, tapi jadikanlah sebagai sarana untuk meningkatkan dan memperbaiki kadar diri dihadapan Allah SWT.

Inna Akramakun ‘indallaahi Atqaakum

Semoga, Ramadhan tahun ini jauh lebih baik dari Ramadhan -ramadhan sebelumnya …

 

Amiin Yaa Rabbal’aalamiin …

 

Lampung, 17 Juli 2012

 

Aah Ahmad Kusumah

(Al-Faakir min Rahmati Rabbi)

Advertisements
Categories: Diary

Password life time on oracle

July 17, 2012 1 comment

Alter Profile

By default, user created in oracle has password expiration on 180 days. It means, when the time reached, the user will be forced to change their current password. This mechanism from security view is has advantages, it makes user aware to always maintain their current profile and data.

But, in other hand, sometimes an application need user with no expiration date of password such as ERP, Procurement etc. In order to facilitate this needs, there’s 2 ways to do so :

  1. Create stand alone profile with unlimited expiration date and assign to user
  2. Update user current profile, set limit of password expiration to unlimited

This time we’ll show the second method, update user current profile.

The steps are :

1. check current user profile using command :

select profile from dba_users where username='<username>’;

2. Change limit of password expiration policy o unlimited

alter profile <profile_name> limit password_life_time UNLIMITED;

3. Check profile after to make sure policy has been updated

select resource_name,limit from dba_profiles where profile='<profile_name>’;

Now,all users with this profile has no expiration date policy for their password …

Lampung, 17 July 2012

Aah Ahmad Kusumah

(IT Professional Consultant and Developer)

Loading Purchase Request Using Mincom Connector Java .. (Ellipse Part 1)

July 12, 2012 1 comment

MSO 230

Integration between java and mincom ellipse v.5 is quite tricky. Although mincom provide middleware to facilitate the integration, but we should know all model used in ellipse screens.

Below is first part on how we can communicate and loading data from java application into ellipse server.

In this example will explain about Purchase Request creation.

1. Firstly we should innitiate connection to ellipse server, get connection and store the session.

this is the class to handle connection :

package com.ellipse.main;

import java.io.IOException;
import java.io.InterruptedIOException;

import com.mincom.mims.tech.mware.cbr.CBRException;
import com.mincom.mims.tech.mware.common.EllipseLoginException;
import com.mincom.mims.tech.mware.common.IMimsSession;
import com.mincom.mims.tech.mware.common.MimsSessionFactory;
import com.mincom.mims.tech.mware.common.MwareException;

public class ConnectionEllipse {

private IMimsSession mySession;
private String buflib = “DOWNLOADED_XML”;

String tp;
String host;
String port;
String userHost;
String passHost;

String userEllipse;
String passEllipse;
/**
* EllipseConnection constructor
*/
public ConnectionEllipse() {
initConnection();
}
private void initConnection(){
try{
this.tp = “Cics”;
this.host = “10.1.1.160:ellprd”;
this.port = “0”;
this.userHost = “guest”;
this.passHost = “guest”;
this.userEllipse = “USER”;
this.passEllipse = “USERPASS”;
}catch (Exception e) {
e.printStackTrace();
}
}

/**
* Set the location of the bfl files (for MSO access)
* @param location
*/
public void setBufferLibraryLocation(String location) {
buflib = location;
}

/**
* Connect to the Ellipse server
* @param TP
* @param hostName
* @param portNumber
* @param hostUsername
* @param hostPassword

* @throws EllipseLoginException
* @throws EllipseConnectionException */

public void connect(String TP, String hostName, int portNumber, String hostUsername, String hostPassword) throws EllipseLoginException {

MimsSessionFactory sessionFactory = MimsSessionFactory.getMimsSessionFactory();
mySession = sessionFactory.getMimsSession(TP,buflib);
//            mySession.setTracing();
try {
mySession.connect(hostName, portNumber, hostUsername, hostPassword);
} catch (InterruptedIOException e) {
throw new EllipseLoginException(e.toString());
} catch (IOException e) {
e.printStackTrace();
throw new EllipseLoginException(e.toString());
} catch (CBRException e) {
throw new EllipseLoginException(e.toString());
}
}

/**
* connect without injecting patameter

* @throws EllipseLoginException */
public void connect() throws EllipseLoginException {

MimsSessionFactory sessionFactory = MimsSessionFactory.getMimsSessionFactory();
mySession = sessionFactory.getMimsSession(this.tp,this.buflib);
//            mySession.setTracing();
try {
System.out.println(this.host+”>>> “+this.passHost);
mySession.connect(this.host,0, this.userHost, this.passHost);
} catch (InterruptedIOException e) {
throw new EllipseLoginException(e.toString());
} catch (IOException e) {
e.printStackTrace();
throw new EllipseLoginException(e.toString());
} catch (CBRException e) {
throw new EllipseLoginException(e.toString());
}
}

/**
* This method attempts to login to the Ellipse server.
* @param mimsUser
* @param mimsPwd
* @param district
* @param position

* @throws EllipseLoginException
* @throws EllipseConnectionException */
//login to mims
public void login(String mimsUser,String mimsPwd,String district,String position) throws EllipseLoginException {
try {
mySession.login(mimsUser,mimsPwd,district,position);
} catch (CBRException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
} catch (MwareException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
} catch (com.mincom.mims.tech.mware.common.ServerException e) {
throw new EllipseLoginException(trimQuotes(e.getLocalizedMessage()));
} catch (IOException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
}
}

/**
* using param from ellipse.properties

* @throws EllipseLoginException */
public void login() throws EllipseLoginException {
try {
mySession.login(this.userEllipse,this.passEllipse,”PTBA”,””);
} catch (CBRException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
} catch (MwareException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
} catch (com.mincom.mims.tech.mware.common.ServerException e) {
throw new EllipseLoginException(trimQuotes(e.getLocalizedMessage()));
} catch (IOException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
}
}

/**
* This method attempts to disconnect from the Ellipse server.

* @throws EllipseLoginException
* @throws EllipseConnectionException */
//disconnect from mims server
public void disconnect() throws EllipseLoginException {
try {
mySession.disconnect();
} catch (IOException e) {
throw new EllipseLoginException(e.toString());
} catch (CBRException e) {
throw new EllipseLoginException(e.toString());
}
}

/**
* Get the current connection to Ellipse

* @return IMimsSession: The current Ellipse session */
public IMimsSession getSession() {
return mySession;
}

/**
* Trim the error message and remove double quotes
* from the ends of the message.
* @param errorMessage String
* @return String
*/
private String trimQuotes(String errorMessage) {
// Start with initial trim
String trimMessage = errorMessage.trim();
// Strip double quotes (“) from error message
if (trimMessage.startsWith(“\””) && trimMessage.endsWith(“\””)) {
trimMessage = trimMessage.substring(1, trimMessage.length()-1);
}
// Trim again on the way out
return trimMessage.trim();
}
}

2. Second step is identify all field screen model on Purchase Request ( MSO 230)

/**
* creating PR
* @param session
*/
public void createPr230(IMimsSession session){
try {
ScreenObject mso = session.executeMSO(“MSO230”);
/** Multi Item PR**/
mso.getFields().item(“OPTION1I”).setValue(“2”);
mso = mso.getCommands().item(“OK”).execute();

/** input requester **/
mso.getFields().item(“REQUEST_BY1I”).setValue(“28025”);
mso.getFields().item(“REQ_BY_DATE1I”).setValue(“18092012”);
mso.getFields().item(“PRIORITY_CODE1I”).setValue(“NORM”);
mso = mso.getCommands().item(“OK”).execute();

/** input item **/
mso.getFields().item(“TYPE1I1”).setValue(“G”);
mso.getFields().item(“QTY_REQD1I1”).setValue(“10”);//quantity
mso.getFields().item(“ACT_GROSS_PR1I1”).setValue(“1000000”);//price
mso.getFields().item(“UOM1I1”).setValue(“AMP”);//UOM
mso.getFields().item(“PART_NO1I1”).setValue(“”);
mso.getFields().item(“ACTION1I1”).setValue(“A”);//input cost center

/** item description **/
mso.getFields().item(“DESC_LINE_11I1”).setValue(“BLA”);
mso.getFields().item(“DESC_LINE_21I1”).setValue(“BLA”);
mso.getFields().item(“DESC_LINE_31I1”).setValue(“BLA”);
mso.getFields().item(“DESC_LINE_41I1”).setValue(“BLA”);
mso = mso.getCommands().item(“OK”).execute();

/** insert cost center **/
mso.getFields().item(“COST_CEN_ACCT1I1”).setValue(“234509876”);
mso = mso.getCommands().item(“OK”).execute();

/** final execution **/
mso = mso.getCommands().item(“OK”).execute();

} catch (Exception e) {
e.printStackTrace();
}
}

 

Voila, now our Purchase Request Has been created …

Continued to 2nd Part ….

 

Lampung, Juli 12 2012

Thursday

 

 

A. Ahmad Kusumah

(Professional IT Consultant)

Clean Up Oracle archive log using cron

July 1, 2012 Leave a comment

Cron List

Oracle has capability for creating hot backup using archive log mechanism. This feature act like recovery data system for restoring database content to specified time if the original database has force majeur which make data corrupted.

But, this mechanism will suck up the free space of hard disk and typically if we don’t maintain the following problem maybe occured :

1. The Space allocated for archive run out which make all transaction will be suspended

2. Hard disk space will be run out

Usually we can delete completed archive log using RMAN command, but this sometimes takes time.

Below is automation script for deleting completed archive log using cron.

1. create script (named cleanarchive.sh)

#!/bin/bash
export ORACLE_BASE=/database/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_OWNR=oracle
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

su – oracle -c rman target / << __EOF__
DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE -7’;
EXIT
__EOF__

2. create new job on cron sequence (will be executed everyday at 22:55)

crontab -e

55 22 * * * /bin/sh /database/oracle/crontab/cleanarchive.sh >/database/oracle/crontab/arch.log 2>&1

3. Restart cron service

Voila …, now the completed archive log will be checked and cleaned up every day, and we just left the archive less then 7 day till the day executed.

 

Tanjung Karang, Lampung

July, 1st 2012

 

Aah Ahmad Kusumah