<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Neuronworks Blog, WebMethods, Oracle, Bea, Java Dev2Dev,   Arch2Arch   Neuronworks Make IT Easy, Let&#039;s Play the Game &#187; Linux</title>
	<atom:link href="http://blog.neuronworks.net/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.neuronworks.net</link>
	<description></description>
	<lastBuildDate>Tue, 01 Jun 2010 02:40:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Membuat Koneksi SQL Developer</title>
		<link>http://blog.neuronworks.net/2010/02/11/membuat-koneksi-sqldeveloper/</link>
		<comments>http://blog.neuronworks.net/2010/02/11/membuat-koneksi-sqldeveloper/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 13:43:04 +0000</pubDate>
		<dc:creator>alam</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[sqldeveloper]]></category>

		<guid isPermaLink="false">http://blog.neuronworks.net/?p=364</guid>
		<description><![CDATA[SQL Developer (SQLDev) mendukung beberapa metode koneksi diantaranya basic connection, TNS, LDAP dan JDBC string. Tulisan ini akan membahas bagaimana caranya membuat koneksi menggunakan dua metode yang paling banyak digunakan yaitu basic connection dan TNS.

Dalam contoh ini kita sudah memiliki informasi mengenai server Oracle yang akan kita gunakan sebagai berikut:
IP address: 192.168.1.1
Port: 1521
SID: xe
Username: hr
Password: [...]]]></description>
			<content:encoded><![CDATA[<p>SQL Developer (SQLDev) mendukung beberapa metode koneksi diantaranya basic connection, TNS, LDAP dan JDBC string. Tulisan ini akan membahas bagaimana caranya membuat koneksi menggunakan dua metode yang paling banyak digunakan yaitu basic connection dan TNS.</p>
<p><span id="more-364"></span></p>
<p>Dalam contoh ini kita sudah memiliki informasi mengenai server Oracle yang akan kita gunakan sebagai berikut:<br />
IP address: 192.168.1.1<br />
Port: 1521<br />
SID: xe<br />
Username: hr<br />
Password: hr</p>
<h4>Basic Connection</h4>
<p>Buka SQLDev. Tutup jendela tips yang muncul. SQLDev memiliki dua area utama tempat kita bekerja. Area sebelah kiri yang berukuran lebih kecil area tempat kita mengakses schema yang tersedia. Area sebelah kanan yang berukuran lebih besar merupakan area utama tempat mengerjakan berbagai aktifitas seperti menjalankan query atau mengedit PL/SQL.</p>
<p>Di panel sebelah kiri ada dua tab yang sudah muncul yaitu <strong>Connections</strong> dan <strong>Reports</strong>. Karena ini instalasi SQLDev yang baru maka belum ada satupun koneksi yang tersedia. Klik icon plus untuk membuka kotak dialog <strong>New/Select Database Connection</strong>. Default-nya tipe koneksi akan menggunakan tipe basic connection.</p>
<p><a href="http://blog.neuronworks.net/wp-content/uploads/2010/02/sqldev_newconn.png"><img class="aligncenter size-full wp-image-371" title="sqldev_newconn" src="http://blog.neuronworks.net/wp-content/uploads/2010/02/sqldev_newconn.png" alt="" width="289" height="92" /></a></p>
<p>Field <strong>Connection Name</strong> merupakan nama koneksi yang akan digunakan. Ini digunakan untuk membedakan antar koneksi yang ada di SQLDev. Field <strong>Username</strong> merupakan username atau schema Oracle yang akan kita gunakan. Dalam hal ini berarti hr. Field <strong>Password</strong> merupakan password untuk schema yang akan digunakan, dalam hal ini password untuk hr yaitu hr.</p>
<p>Check box <strong>Save Password</strong> digunakan untuk menentukan apakah password untuk koneksi ini akan disimpan atau tidak. Apabila tidak disimpan kita akan diminta memasukkan password setiap kali membuka koneksi. Password yang disimpan akan dienkripsi untuk menjaga kerahasiaan password.</p>
<p>Combo box <strong>Role</strong> digunakan untuk menentukan tipe user, pilihan yang ada diantaranya <strong>SYSDBA</strong>. Combo box <strong>Connection Type</strong> menentukan tipe koneksi, yang juga menentukan opsi-opsi berikutnya yang ada sesuai dengan tipe koneksi yang digunakan. Karena tipe koneksi yang digunakan adalah basic connection maka disini kita pilih tipe <strong>Basic</strong>.</p>
<p>Opsi selanjutnya akan berbeda sesuai dengan tipe koneksi yang dipilih. Untuk tipe <strong>Basic</strong> akan menampilkan field <strong>Hostname</strong>, <strong>Port</strong>, dan <strong>SID</strong> atau <strong>Service name</strong>. Field Hostname diisi dengan nama komputer atau IP address server Oracle, dalam hal ini 192.168.1.1. Untuk <strong>Port</strong> dan <strong>SID</strong> diisikan di field masing-masing sesuai informasi server, yaitu 1521 untuk field <strong>Port</strong> dan xe untuk field <strong>SID</strong>.</p>
<p>Setelah semua yang dibutuhkan terisi kita bisa mengecek apakah koneksi yang kita buat tepat atau tidak dengan mengklik tombol <strong>Test</strong>. Informasi <strong>Status</strong> di pojok kiri bawah akan menunjukan apakah koneksinya berhasil atau tidak.</p>
<p><a href="http://blog.neuronworks.net/wp-content/uploads/2010/02/Screenshot-New-Select-Database-Connection-1.png"><img class="aligncenter size-medium wp-image-369" title="Screenshot-New - Select Database Connection-1" src="http://blog.neuronworks.net/wp-content/uploads/2010/02/Screenshot-New-Select-Database-Connection-1-300x156.png" alt="" width="300" height="156" /></a></p>
<p>Apabila berhasil simpan koneksi dengan mengklik tombol <strong>Save</strong> atau klik tombol <strong>Connect</strong> apabila hendak langsung membuka koneksi ke schema koneksi yang sudah kita buat. Default-nya SQLDev akan membuka worksheet untuk koneksi yang kita buat.</p>
<h4>TNS</h4>
<p>Merupakan metoda konektifitas standar yang digunakan Oracle untuk koneksi antar database. Berbeda dengan sebelumnya dimana kita harus mengisikan parameter untuk informasi server seperti IP dan port, dengan TNS parameter-parameter tersebut disimpan di satu tempat dan dapat digunakan oleh banyak aplikasi sebagai sumber informasi konektifitas database Oracle.</p>
<p>Informasi koneksi tersebut disimpan di file <strong>TNSNAMES.ORA</strong> yang biasanya terletak di direktori <strong>$ORACLE_HOME/NETWORK/ADMIN</strong> dimana <strong>$ORACLE_HOME</strong> merupakan direktori tempat Oracle server berada. Instalasi Oracle server di komputer akan otomatis membuat file ini. Apabila tidak menginstall Oracle server kita bisa membuat sendiri file <strong>TNSNAMES.ORA</strong> dan tempatkan di satu direktori. Sebagai contoh apabila di Windows tempatkan di <strong>C:\tns</strong>, apabila di Linux tempatkan di direktori <strong>$HOME/tns</strong> misal <strong>/home/alam/tns</strong>. Setelah itu buat environment variable <strong>TNS_ADMIN</strong> yang isinya direktori tempat file <strong>TNSNAMES.ORA</strong> tadi, baik itu <strong>C:\tns</strong> maupun <strong>/home/alam/tns</strong>. Gunakan perintah berikut untuk membuat environment variable di Linux:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">TNS_ADMIN</span>=<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>alam<span style="color: #000000; font-weight: bold;">/</span>tns</pre></div></div>

<p>SQLDev akan menggunakan variable ini dan membaca file <strong>TNSNAMES.ORA</strong> di dalamnya.</p>
<p>Isi file <strong>TNSNAMES.ORA</strong> sendiri memiliki sistem penulisan tersendiri. Dari contoh informasi server diatas berikut penulisan entri TNS-nys:</p>
<pre>HR  =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )
</pre>
<p>Nilai <strong>HR</strong> diatas merupakan nama koneksinya. Untuk parameter-parameter berikutnya tempatkan sesuai contoh diatas seperti untuk hostname di <strong>HOST</strong> dan seterusnya. Perhatikan indentasi untuk setiap baris karena ini juga menentukan apakah informasinya terbaca atau tidak.</p>
<p>Setelah selesai mengisikan parameter TNS sekarang kita coba membuat koneksi dengan SQLDev. Buka kembali kotak dialog <strong>New/Select Database Connection</strong>. Isikan field <strong>Connection Name</strong>, <strong>Username</strong> dan <strong>Password</strong> seperti sebelumnya. Untuk <strong>Connection Type</strong> kali ini kita pilih <strong>TNS</strong>. Kemudian di <strong>Network Alias</strong> pilih nama koneksi yang sudah kita buat sebelumnya di file <strong>TNSNAMES.ORA</strong> yaitu <strong>HR</strong>. Tes koneksi dengan mengklik tombol <strong>Test</strong>. Apabila sukses klik tombol <strong>Save</strong> atau buka langsung koneksinya dengan tombol <strong>Connect</strong>.</p>
<p><a href="http://blog.neuronworks.net/wp-content/uploads/2010/02/Screenshot-New-Select-Database-Connection-3.png"><img class="aligncenter size-medium wp-image-370" title="Screenshot-New - Select Database Connection-3" src="http://blog.neuronworks.net/wp-content/uploads/2010/02/Screenshot-New-Select-Database-Connection-3-300x156.png" alt="" width="300" height="156" /></a></p>
<p>Setelah mengetahui bagaimana caranya memasang dan membuat koneksi di SQLDev, tulisan berikutnya kita akan mulai membahas bagaimana bekerja dengan SQLDev.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neuronworks.net/2010/02/11/membuat-koneksi-sqldeveloper/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SqlPlus dengan History di Linux</title>
		<link>http://blog.neuronworks.net/2009/01/06/sqlplus-dengan-history-di-linux/</link>
		<comments>http://blog.neuronworks.net/2009/01/06/sqlplus-dengan-history-di-linux/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 10:24:00 +0000</pubDate>
		<dc:creator>alam</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[rlwrap]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sqlplus]]></category>

		<guid isPermaLink="false">http://blog.neuronworks.net/?p=100</guid>
		<description><![CDATA[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, [...]]]></description>
			<content:encoded><![CDATA[<p>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. <img src='http://blog.neuronworks.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Tapi tenang saja, ada solusinya agar sqlplus juga punya kemampuan buat menyimpan history command, seperti <strong>Shell Bash</strong> di Linux. Yang kita perlukan hanyalah sebuah aplikasi yang bernama <strong>rlwrap</strong>.<br />
Install dulu <strong>rlwrap</strong> untuk operating system anda. Dalam contoh ini yang digunakan adalah openSUSE 10.3 yang bisa didapatkan dari <a href="http://download.opensuse.org/repositories/openSUSE:/10.3/standard/i586/rlwrap-0.28-27.i586.rpm">http://download.opensuse.org/repositories/openSUSE:/10.3/standard/i586/rlwrap-0.28-27.i586.rpm</a>.<br />
Setelah diinstal kita tinggal menjalankan perintah <strong>rlwrap</strong> dengan parameternya yaitu <strong>sqlplus</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">oracle<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> rlwrap sqlplus</pre></div></div>

<p>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 <strong>rlwrap</strong> tadi terus dijalankan setiap login kita gunakan saja fungsi <strong>alias</strong> dari <strong>shell</strong> agar setiap kali <strong>sqlplus</strong> dijalankan yang dipanggil adalah perintah <strong>rlwrap</strong> dengan parameter sqplus-nya. Buka file <strong>.bash_profile</strong> yang ada di direktori home user <strong>oracle</strong> atau user yang dapat menjalankan perintah <strong>sqlplus</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">oracle<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">vi</span> ~<span style="color: #000000; font-weight: bold;">/</span>.bash_profile</pre></div></div>

<p>dan tambahkan baris berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">sqlplus</span>=<span style="color: #ff0000;">'rlwrap sqlplus'</span></pre></div></div>

<p>Cara lainnya dengan menjalankan perintah <strong>echo</strong> yang menambahkan baris diatas langsung di baris terakhir file <strong>.bash_profile</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">oracle<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;alias sqlplus='rlwrap sqlplus'&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> ~<span style="color: #000000; font-weight: bold;">/</span>.bash_profile</pre></div></div>

<p>Semoga bermanfaat and have a lot of fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neuronworks.net/2009/01/06/sqlplus-dengan-history-di-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Membackup Schema Oracle Secara Otomatis</title>
		<link>http://blog.neuronworks.net/2009/01/05/membackup-schema-oracle/</link>
		<comments>http://blog.neuronworks.net/2009/01/05/membackup-schema-oracle/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 13:01:05 +0000</pubDate>
		<dc:creator>alam</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[exp]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://blog.neuronworks.net/?p=84</guid>
		<description><![CDATA[The Intro
Sebelumnya kita sudah mencoba membackup schema oracle menggunakan exp. Kita bisa memanfaatkannya untuk membuat sebuah sistem penjadwalan yang secara otomatis membackup schema tersebut pada waktu yang telah ditentukan. Tool yang digunakan selain Shell dan exp juga crontab. Crontab merupakan aplikasi penjadwalan di mesin Unix dan Linux. Crontab bekerja sebagai daemon atau service cron yang [...]]]></description>
			<content:encoded><![CDATA[<h3>The Intro</h3>
<p>Sebelumnya kita sudah mencoba <a href="http://blog.neuronworks.net/2008/12/31/backup-dan-restore-schema-oracle-menggunakan-exp-dan-imp/">membackup schema oracle menggunakan exp</a>. Kita bisa memanfaatkannya untuk membuat sebuah sistem penjadwalan yang secara otomatis membackup schema tersebut pada waktu yang telah ditentukan. Tool yang digunakan selain <strong>Shell</strong> dan <strong>exp</strong> juga <strong>crontab</strong>. Crontab merupakan aplikasi penjadwalan di mesin Unix dan Linux. Crontab bekerja sebagai daemon atau service <strong>cron</strong> yang setiap waktu akan mengecek apakah ada job atau tugas yang harus dilakukan pada waktu itu. Crontab menyimpan entri untuk setiap penjadwalan seperti ini:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>alam<span style="color: #000000; font-weight: bold;">/</span>someScript.sh</pre></div></div>

<p>Kolom <strong>pertama</strong> menunjukan <strong>menit</strong> dimana entri tersebut akan dijalankan. Kolom <strong>kedua</strong> untuk <strong>jam</strong>, kolom <strong>ketiga</strong> untuk <strong>tanggal</strong>, kolom <strong>keempat</strong> untuk <strong>bulan</strong>, kolom <strong>kelima</strong> untuk untuk <strong>hari</strong>, dan kolom <strong>terakhir</strong> menunjukan <strong>perintah apa yang akan dijalankan</strong>. Dari contoh diatas berarti setiap menit, setiap hari, setiap bulan cron akan menjalankan script tersebut.<br />
Pertama-tama kita buat dulu script sederhana, <strong>train-backup.sh</strong> yang berfungsi untuk membackup schema tersebut. Script tersebut akan membackup schema-nya di directory yang sudah ditentukan dengan nama file yang berbeda berdasarkan kapan schema tersebut dibackup.</p>
<h3>The Script</h3>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #666666; font-style: italic;">#script to backup oracle schema based on time when it saved</span>
<span style="color: #666666; font-style: italic;">#initializing variables</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=<span style="color: #007800;">$PATH</span>:<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">/</span>product<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">10.2</span><span style="color: #000000; font-weight: bold;">/</span>bin
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ORACLE_BASE</span>=<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ORACLE_HOME</span>=<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">/</span>product<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">10.2</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ORACLE_SID</span>=neuron
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">BASEDIR</span>=<span style="color: #007800;">$HOME</span><span style="color: #000000; font-weight: bold;">/</span>train-backup
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">DTM</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">%</span>d-<span style="color: #000000; font-weight: bold;">%</span>H<span style="color: #000000; font-weight: bold;">%</span>M<span style="color: #000000; font-weight: bold;">%</span>S<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">UNAME</span>=train
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PASSWD</span>=train
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">FILENAME</span>=train
&nbsp;
<span style="color: #666666; font-style: italic;"># command section</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$BASEDIR</span>
exp <span style="color: #007800;">$UNAME</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$PASSWD</span> <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">file</span></span>=<span style="color: #007800;">$FILENAME</span>-<span style="color: #007800;">$DTM</span>.dmp
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span></pre></div></div>

<p>Jangan lupa beri execute permission dengan:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #c20cb9; font-weight: bold;">chmod</span> +x train-backup.sh</pre></div></div>

<p>Script-nya cukup sederhana kan? Yang perlu dilakukan hanyalah inisialisasi variabel:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=<span style="color: #007800;">$PATH</span>:<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">/</span>product<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">10.2</span><span style="color: #000000; font-weight: bold;">/</span>bin
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ORACLE_BASE</span>=<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ORACLE_HOME</span>=<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">/</span>product<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">10.2</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ORACLE_SID</span>=neuron
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">BASEDIR</span>=<span style="color: #007800;">$HOME</span><span style="color: #000000; font-weight: bold;">/</span>train-backup
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">DTM</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">%</span>d-<span style="color: #000000; font-weight: bold;">%</span>H<span style="color: #000000; font-weight: bold;">%</span>M<span style="color: #000000; font-weight: bold;">%</span>S<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">UNAME</span>=train
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PASSWD</span>=train
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">FILENAME</span>=train</pre></div></div>

<p>dan perintah backup itu sendiri:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$BASEDIR</span>
exp <span style="color: #007800;">$UNAME</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$PASSWD</span> <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">file</span></span>=<span style="color: #007800;">$FILENAME</span>-<span style="color: #007800;">$DTM</span>.dmp</pre></div></div>

<p>Untuk sedikit memahami dasar dari shell scripting silakan <a href="http://blog.neuronworks.net/2008/12/29/membuat-application-control-script/">lihat kembali postingan sebelumnya</a>.<br />
Yang mungkin perlu diperhatikan adalah variabel <strong>DTM</strong> yang akan menyimpan format waktu untuk digunakan di nama filenya. Variabel <strong>DTM</strong> menyimpan hasil output dari perintah <strong>date</strong> yang akan menampilkan waktu saat itu dengan format <strong>YYYYMMDD-HH:MI:SS</strong>. Untuk lebih jelasnya coba jalankan perintah <strong>date</strong> tersebut di command line:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">%</span>d-<span style="color: #000000; font-weight: bold;">%</span>H<span style="color: #000000; font-weight: bold;">%</span>M<span style="color: #000000; font-weight: bold;">%</span>S
<span style="color: #000000;">20090105</span>-<span style="color: #000000;">201620</span></pre></div></div>

<p>Variabel ini akan kita tambahkan di nama file backup schema-nya untuk membedakan satu file dengan yang lain.</p>
<h3>The Cron</h3>
<p>Sekarang kita masuk ke bagian <strong>cron</strong>-nya sendiri. Kita tentukan kapan saja backup akan dilakukan. Misal kita ingin backup dilakukan setiap jam 12 malam setiap hari Senin dan Jum&#8217;at. Entri crontab-nya seperti ini:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">*</span> 00 <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000;">1</span>,<span style="color: #000000;">5</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>alam<span style="color: #000000; font-weight: bold;">/</span>train-backup.sh</pre></div></div>

<p>Untuk memasukkan entri diatas gunakan perintah <strong>crontab -e</strong>. Editor <strong>vi</strong> akan terbuka. Untuk masuk ke mode insert tekan tombol <strong>i</strong>. Ketikkan atau paste entri yang tadi kita buat. Untuk menyimpannya tekan tombol <strong>Esc</strong>, dilanjutkan dengan tombol <strong>:</strong>, dilanjutkan dengan tombol <strong>x</strong>, yang berarti menyimpan sekaligus keluar dari <strong>vi</strong>.<br />
Untuk melihat apakah penjadwalan tersebut sudah masuk gunakan perintah <strong>crontab -l</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&amp;</span>gt; crontab <span style="color: #660033;">-l</span>
<span style="color: #666666; font-style: italic;"># DO NOT EDIT THIS FILE - edit the master and reinstall.</span>
<span style="color: #666666; font-style: italic;"># (/tmp/crontab.XXXXLhlmgJ installed on Mon Jan  5 20:28:21 2009)</span>
<span style="color: #666666; font-style: italic;"># (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)</span>
<span style="color: #000000; font-weight: bold;">*</span> 00 <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000;">1</span>,<span style="color: #000000;">5</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>alam<span style="color: #000000; font-weight: bold;">/</span>train-backup.sh</pre></div></div>

<h3>The&#8230; End?</h3>
<p>Selesai! Untuk melihat berhasil atau tidaknya kita lihat lagi besok apakah file backup schema-nya sudah ada atau tidak. <img src='http://blog.neuronworks.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>The Update</h3>
<p>Coba kita lihat hasilnya:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> ll train-backup
total 0</pre></div></div>

<p>Lho kok tidak ada? Ayo kita cek script-nya dengan cara dijalankan langsung:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> .<span style="color: #000000; font-weight: bold;">/</span>train-backup.sh 
.<span style="color: #000000; font-weight: bold;">/</span>train-backup.sh: line <span style="color: #000000;">16</span>: exp: <span style="color: #7a0874; font-weight: bold;">command</span> not found</pre></div></div>

<p>Hm? <strong>PATH</strong>-nya kan sudah masuk mestinya? Coba kita <strong>export</strong> dan tes lagi satu-satu variabelnya:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ORACLE_BASE</span>=<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle
alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$ORACLE_BASE</span>
alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ORACLE_HOME</span>=<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">/</span>product<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">10.2</span>
alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$ORACLE_HOME</span>
-bash: <span style="color: #7a0874; font-weight: bold;">cd</span>: <span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">/</span>product<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">10.2</span>: Permission denied</pre></div></div>

<p>Ini dia masalahnya. User <strong>alam</strong> tidak punya permission untuk masuk ke direktori <strong>/app/oracle/product</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">&gt;</span> ll <span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>oracle<span style="color: #000000; font-weight: bold;">/</span>
total <span style="color: #000000;">20</span>
drwxr-x--- <span style="color: #000000;">3</span> oracle oinstall <span style="color: #000000;">4096</span> <span style="color: #000000;">2008</span>-<span style="color: #000000;">11</span>-<span style="color: #000000;">22</span> <span style="color: #000000;">17</span>:08 admin
drwxr-x--- <span style="color: #000000;">3</span> oracle oinstall <span style="color: #000000;">4096</span> <span style="color: #000000;">2008</span>-<span style="color: #000000;">11</span>-<span style="color: #000000;">22</span> <span style="color: #000000;">17</span>:09 flash_recovery_area
drwxr-x--- <span style="color: #000000;">3</span> oracle oinstall <span style="color: #000000;">4096</span> <span style="color: #000000;">2008</span>-<span style="color: #000000;">11</span>-<span style="color: #000000;">22</span> <span style="color: #000000;">17</span>:08 oradata
drwxrwx--- <span style="color: #000000;">6</span> oracle oinstall <span style="color: #000000;">4096</span> <span style="color: #000000;">2008</span>-<span style="color: #000000;">11</span>-<span style="color: #000000;">22</span> <span style="color: #000000;">17</span>:07 oraInventory
drwxrwx--- <span style="color: #000000;">3</span> oracle oinstall <span style="color: #000000;">4096</span> <span style="color: #000000;">2008</span>-<span style="color: #000000;">11</span>-<span style="color: #000000;">22</span> 00:07 product</pre></div></div>

<p>Jadi bagaimana solusinya? Kita jalankan script tersebut sebagai user yang punya permission untuk mengakses direktori tersebut, yaitu <strong>oracle</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">oracle<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> train-backup
oracle<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>alam<span style="color: #000000; font-weight: bold;">/</span>train-backup.sh 
&nbsp;
Export: Release 10.2.0.1.0 - Production on Tue Jan <span style="color: #000000;">6</span> <span style="color: #000000;">14</span>:<span style="color: #000000;">59</span>:<span style="color: #000000;">42</span> <span style="color: #000000;">2009</span>
&nbsp;
Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1982</span>, <span style="color: #000000;">2005</span>, Oracle.  All rights reserved.
&nbsp;
&nbsp;
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Export <span style="color: #000000; font-weight: bold;">done</span> <span style="color: #000000; font-weight: bold;">in</span> US7ASCII character <span style="color: #000000; font-weight: bold;">set</span> and AL16UTF16 NCHAR character <span style="color: #000000; font-weight: bold;">set</span>
server uses WE8ISO8859P1 character <span style="color: #000000; font-weight: bold;">set</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>possible charset conversion<span style="color: #7a0874; font-weight: bold;">&#41;</span>
. exporting pre-schema procedural objects and actions
. exporting foreign <span style="color: #000000; font-weight: bold;">function</span> library names <span style="color: #000000; font-weight: bold;">for</span> user TRAIN 
. exporting PUBLIC <span style="color: #7a0874; font-weight: bold;">type</span> synonyms
. exporting private <span style="color: #7a0874; font-weight: bold;">type</span> synonyms
. exporting object <span style="color: #7a0874; font-weight: bold;">type</span> definitions <span style="color: #000000; font-weight: bold;">for</span> user TRAIN 
About to <span style="color: #7a0874; font-weight: bold;">export</span> TRAIN<span style="color: #ff0000;">'s objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export TRAIN'</span>s tables via Conventional Path ...
. . exporting table                          TRAIN          <span style="color: #000000;">2</span> rows exported
EXP-00091: Exporting questionable statistics.
. exporting synonyms
. exporting views
. exporting stored procedures
. exporting operators
. exporting referential integrity constraints
. exporting triggers
. exporting indextypes
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting materialized views
. exporting snapshot logs
. exporting job queues
. exporting refresh <span style="color: #c20cb9; font-weight: bold;">groups</span> and children
. exporting dimensions
. exporting post-schema procedural objects and actions
. exporting statistics
Export terminated successfully with warnings.
oracle<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> ll train-backup
total <span style="color: #000000;">16</span>
<span style="color: #660033;">-rw-r--r--</span> <span style="color: #000000;">1</span> oracle oinstall <span style="color: #000000;">16384</span> <span style="color: #000000;">2009</span>-01-06 <span style="color: #000000;">14</span>:<span style="color: #000000;">59</span> train-<span style="color: #000000;">20090106</span>-145942.dmp</pre></div></div>

<p>Jadi masukkan <strong>cron</strong> job-nya yang tadi untuk user <strong>oracle</strong> dengan <strong>crontab -e</strong> juga.<br />
Dan crontab yang di user <strong>alam</strong> dihapus saja:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> crontab <span style="color: #660033;">-r</span>
alam<span style="color: #000000; font-weight: bold;">@</span>NeuronServer:~<span style="color: #000000; font-weight: bold;">&gt;</span> crontab <span style="color: #660033;">-l</span>
no crontab <span style="color: #000000; font-weight: bold;">for</span> alam</pre></div></div>

<p>Sekarang sudah pasti berhasil.</p>
<p>Semoga bermanfaat and have a lot of fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neuronworks.net/2009/01/05/membackup-schema-oracle/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
