<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>oracle-10g &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/oracle-10g/</link>
	<description>Feed of posts on WordPress.com tagged "oracle-10g"</description>
	<pubDate>Wed, 30 Dec 2009 05:38:28 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Instalasi Oracle DBMS (2)]]></title>
<link>http://henvip.wordpress.com/2009/12/26/instalasi-oracle-dbms-2/</link>
<pubDate>Sat, 26 Dec 2009 15:36:31 +0000</pubDate>
<dc:creator>h2x</dc:creator>
<guid>http://henvip.wordpress.com/2009/12/26/instalasi-oracle-dbms-2/</guid>
<description><![CDATA[Oke, lanjut ke bagian ke 2, yaitu install OS RedHat Linux Enterprise. Sebenarnya install Linux ini b]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Oke, lanjut ke bagian ke 2, yaitu install OS RedHat Linux Enterprise. Sebenarnya install Linux ini biasa saja sih, ga terlalu banyak masalah yang berarti. Tapi biar lebih lengkap, saya berikan step by stepnya.</p>
<p>Pada bagian ini, akan saya jelaskan mengenai step-by-step menginstal linux versi RedHat Enterprise pada Vmware Workstation. Perlu diketahui, untuk menginstal OS Guest, hanya bisa dilakukan pada Vmware Workstation, tidak pada Vmware Player. Vmware Player hanya digunakan untuk menjalankan OS Guest saja.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/11.jpg" alt="11" /><br />
Gambar 1. Untuk permulaan jalankan Daemon-Tools. Pada Search Bar Windows 7, ketikkan <em>daemon</em>, lalu klik pada DAEMON Tools. Pada bagian kanan bawah Taskbar akan muncul ikon kecil milik Daemon Tools. Klik kanan pada ikon tersebut, pilih Emulation -&#62; All Option On, hingga ikon tersebut berubah warna menjadi hijau. Lalu klik kanan kembali -&#62; Virtual CD Rom -&#62; set 1 Device. Klik kanan kembali -&#62; Virtual CD Rom -&#62; Device 0 -&#62; Mount Image, lalu pilih OracleEL1.nrg. File distribusi kali ini berekstension .nrg, sebenarnya tidak ada perbedaan jikalau file tersebut berekstension .iso.<br />
<!--more--><br />
<img src="http://henvip.files.wordpress.com/2009/12/21.jpg" alt="21" /><br />
Gambar 2. Layar utama VMware Workstation sebelum dijalankan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/31.jpg" alt="31" /><br />
Gambar 3. Jalankan VMWare.<br />
Jika tampilan sudah seperti diatas, tekan ENTER.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/41.jpg" alt="41" /><br />
Gambar 4. Selanjutnya akan muncul seperti layar diatas, klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/6.jpg" alt="6" /><br />
Gambar 6. Pada bagian Language Selection, pilih English(English), klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/71.jpg" alt="71" /><br />
Gambar 7. Pada bagian berikutnya Keyboard Configuration, pilih U.S English, lalu klik Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/81.jpg" alt="81" /><br />
Gambar 8. Pada bagian Disk Partitioning Setup, pilih Automatic partition untuk memudahkan pembagian partisi. Klik Next untuk melanjutkannya.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/9.jpg" alt="9" /><br />
Gambar 9. Kemudian akan muncul pesan kecil diatas, klik Yes untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/10.jpg" alt="10" /><br />
Gambar 10. Pada bagian Automatic Partitioning, klik Remove all partitions on this system, lalu klik Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/111.jpg" alt="111" /><br />
Gambar 11. Kemudian akan muncul warning kembali, klik Yes untuk melanjutkannya.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/12.jpg" alt="12" /><br />
Gambar 12. Pada bagian Disk Setup akan tampak pembagian partisi pada harddrive virtual, klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/13.jpg" alt="13" /><br />
Gambar 13. Pada bagian Boot Loader Configuration akan muncul pembagian GRUB boot loader. Karena yang terinstal hanya satu OS, maka tidak ada konfigurasi yang penting disini. Klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/14.jpg" alt="14" /><br />
Gambar 14. Pada Network Configuration, klik pada automatically via DHCP, lalu klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/15.jpg" alt="15" /><br />
Gambar 15. Pada Firewall Configuration, pilih No firewall, dan option Disabled pada Enabled SELinux. Lalu klik Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/16.jpg" alt="16" /><br />
Gambar 16. Pada bagian Additional Language Support pilih English (USA), lalu klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/17.jpg" alt="17" /><br />
Gambar 17. Pada bagian Time Zone Selection, pilih Asia/Jakarta sebagai waktu TimeZone GMT. Lalu klik Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/18.jpg" alt="18" /><br />
Gambar 18. Pada bagian Set Root Password, ketikkan password untuk root (super user). Pada bagian ini, password akan dikenal sebagai password utama OS, bukan password untuk User Account Anda. Lalu klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/19.jpg" alt="19" /><br />
Gambar 19. Pada bagian Package Installation Defaults, pilih bagian mana saja yang ingin diinstall. Pilih Customize software packages to be installed dan selanjutnya klik Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/20.jpg" alt="20" /><br />
Gambar 20. Muncul window Package Group Selection. Pada bagian ini Anda bisa memilih bagian mana saja yang ingin diinstall, jika selesai klik Next untuk melanjutkan. Namun jika belum ingin mengkonfigurasi bagian ini, Anda bisa mengkonfigurasinya setelah instalasi ini selesai.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/211.jpg" alt="211" /><br />
Gambar 21. Pada bagian About to Install cukup klik Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/23.jpg" alt="23" /><br />
Gambar 23. Karena saya menggunakan 4CD installer, maka pilihan ini ada untuk yang menggunakan 4 CD installer. Akan muncul warning. Warning ini menyatakan CD berapa saja yang dibutuhkan untuk menginstall Linux RedHat. Pada contoh diatas muncul warning jika diperlukan Enterprise Linux 4AS #1 dan #2. Pastikan CD installer tersebut tersedia. Mungkin jikalau lebih banyak software yang ingin diinstall, maka ke-4 CD installer dibutuhkan. Klik Continue untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/24.jpg" alt="24" /><br />
Gambar 24. Linux akan otomatis menginstall OS didalam harddrive. Tunggu beberapa saat hingga selesai.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/26.jpg" alt="26" /><br />
Gambar 26. Anda akan diminta untuk memasukan disk installer ke-2. Caranya klik kanan pada ikon Daemon Tools -&#62; Virtual CD/DVD ROM -&#62; Mount Image -&#62; OracleEL2.nrg. Tunggu sebentar hingga kotak dialog Daemon Tools hilang. Lalu klik OK pada Vmware.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/29.jpg" alt="29" /><br />
Gambar 27. Jika sudah selesai, akan muncul window seperti diatas. Anda akan diminta untuk merestart komputer. Sebelumnya, keluarkan CD instaler dari DVD ROM. Klik kanan ikon Daemon Tools -&#62; Virtual CD/DVD ROM -&#62; Unmount All Device. Lalu klik Restart.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/30.jpg" alt="30" /><br />
Gambar 28. OS Linux akan restart dan kembali ke layar Welcome dan Licence Agreement. Cukup klik Next dan Accept Licence. Pada tab Date and Time, pilih hari dan tanggal serta jam. Pada tab Network Time Protocol, klik Enable Network Time Protocol, selanjutnya klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/311.jpg" alt="311" /><br />
Gambar 29. Pada bagian Display, pilih Resolusi dan Color Depth, selanjutnya klik Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/32.jpg" alt="32" /><br />
Gambar 30. Pada bagian System User, masukan Username, Full Name, Password dan Confirm Password. Sebaiknya jangan gunakan <em>oracle</em> sebagai Username, karena username tersebut akan digunakan selanjutnya.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/33.jpg" alt="33" /><br />
Gambar 31. Pada bagian Sound Card cukup klik Next. </p>
<p><img src="http://henvip.files.wordpress.com/2009/12/34.jpg" alt="34" /><br />
Gambar 32. Begitu pula pada bagian Additional CDs.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/35.jpg" alt="35" /><br />
Gambar 33. Lalu akan muncul window Finish Setup, klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/37.jpg" alt="3" /><br />
Gambar 34. Selanjutnya akan muncul layar Desktop utama Redhat Enterprise Linux 4 sebagai OS Guest.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/39.jpg" alt="39" /><br />
Gambar 35. Selanjutnya, penginstalan Vmware Tools. Dengan Vmware Tools, performa OS Guest akan meningkat, karena akan mengambil sebagian resource dari OS Host, seperti VGA dan USB dan sebagainya.</p>
<p>Untuk menginstallnya cukup tekan CTRL-Alt jika berada pada OS Guest. Pilih VM pada jendela Vmware Workstation pada OS Host, lalu Install Vmware Tools. Klik layar Desktop OS Guest, maka akan muncul icon VMware Tools pada Desktop OS Guest. Klik dua kali untuk membukanya. Akan muncul 3 buah file. Pilih VMwareTools-xxxxxxx.rpm. Klik dua kali untuk membukanya. Akan ada konfirmasi Password for root. Masukan password root, lalu vmware tools akan segera terinstall.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/40.jpg" alt="40" /><br />
Gambar 36. Instalasi Vmware tools. Jika sudah selesai, restart kembali OS Guest untuk melihat perbedaannya.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/411.jpg" alt="41" /><br />
Gambar 37. RedHat Linux Enterprise 4 yang siap digunakan.</p>
<p>Selanjutnya, kita lanjutkan ke <a href="http://henvip.wordpress.com/2009/12/26/instalasi-oracle-dbms-3/">part 3</a><br />
<!--more--></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Instalasi Oracle DBMS (3)]]></title>
<link>http://henvip.wordpress.com/2009/12/26/instalasi-oracle-dbms-3/</link>
<pubDate>Sat, 26 Dec 2009 15:35:55 +0000</pubDate>
<dc:creator>h2x</dc:creator>
<guid>http://henvip.wordpress.com/2009/12/26/instalasi-oracle-dbms-3/</guid>
<description><![CDATA[Oke 2 part sudah selesai, saatnya part ke-3. Instalasi Oracle DBMS.. Disini step-by-stepnya lumayan ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Oke 2 part sudah selesai, saatnya part ke-3. Instalasi Oracle DBMS.. Disini step-by-stepnya lumayan rumit sebab ya memang lumayan ribet untuk konfigurasi instalasi database yang satu ini.</p>
<p>Sebelum menginstall Oracle Database 10gR2, sebaiknya cek dahulu apakah paket-paket berikut ini sudah terinstall atau belum, caranya:</p>
<p>Buka Terminal RedHat Linux, lalu ketik perintah berikut ini:<br />
# rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common \<br />
&#62; gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio openmotif21<br />
binutils-2.15.92.0.2-15<br />
compat-db-4.1.25-9<br />
control-center-2.8.0-12.rhel4.2<br />
gcc-3.4.4-2<br />
gcc-c++-3.4.4-2<br />
glibc-2.3.4-2.13<br />
glibc-common-2.3.4-2.13<br />
gnome-libs-1.4.1.2.90-44.1<br />
libstdc++-3.4.4-2<br />
libstdc++-devel-3.4.4-2<br />
make-3.80-5<br />
pdksh-5.2.14-30.3<br />
sysstat-5.0.5-1<br />
xscreensaver-4.18-5.rhel4.9<br />
libaio-0.3.103-3<br />
openmotif21-2.1.30-11.RHEL4.4</p>
<p><!--more--></p>
<p>Jika ada paket yang belum terinstall sebaiknya diinstal lebih dahulu. Paket-paket ini ada pada installer Linux RedHat Enterprise 4. Untuk menginstallnya gunakan mount-unmount pada Daemon Tools, sehingga muncul CD/DVD virtual pada layar Desktop Linux. File-file installer ini ada pada Folder RPMS disetiap CD Linux. Anda tinggal mencari file instalasi yang sesuai dengan kebutuhan diatas.</p>
<p>Membuat user dan user-group untuk Oracle</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/1.png" alt="1" /><br />
Gambar 1. Buka Terminal, login sebagai root (ketik: su, masukkan password root Anda, lalu tekan Enter). Ketikkan perintah seperti yang dikotakkan diatas.</p>
<p>Membuat Direktori<br />
<img src="http://henvip.files.wordpress.com/2009/12/2.png" alt="2" /><br />
Gambar 2. Ketikkan perintah seperti diatas untuk membuat direktori baru. Namun jangan lupa untuk login sebagai root.</p>
<p>Konfigurasi Kernel Linux</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/3.png" alt="1" /><br />
<img src="http://henvip.files.wordpress.com/2009/12/4.png" alt="1" /></p>
<p>Ketikkan perintah diatas (didalam box merah). Login pula sebagai root. Untuk login sebagai root, ketikkan su, lalu masukan password root.</p>
<p>Ketikkan pula beberapa perintah berikut ini:<br />
cat &#62;&#62; /etc/security/limits.conf &#60;&#60;EOF<br />
oracle soft nproc 2047<br />
oracle hard nproc 16384<br />
oracle soft nofile 1024<br />
oracle hard nofile 65536<br />
EOF</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/5.png" alt="1" /><br />
Gambar 5. Ketikkan perintah diatas untuk setting Shell pada Linux. </p>
<p><img src="http://henvip.files.wordpress.com/2009/12/6.png" alt="1" /><br />
Untuk mengecek konfigurasi yang telah dibuat ketikkan script Terminal seperti diatas</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/7.png" alt="1" /><br />
Gambar 6. Penginstalan Oracle Database 10gR2 versi 10.2.0 pada Linux RedHat Enterprise 4. Cukup mengkopi file installer ke Desktop, lalu ketikkan: cd Desktop/ins pada Terminal. Lalu ketik: ./runInstaller<br />
Perlu diketahui, Terminal mengandung case sensitif artinya ada perbedaan antara huruf kapital dan biasa.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/8.png" alt="1" /><br />
Gambar 7. Jika, persyaratan sudah dipenuhi, maka akan muncul window seperti diatas. Pada kolom Oracle Home Location biarkan seperti kondisi defaultnya. Pada kolom Instalation Type pilih Enterprise Edition. Pada bagian Database Password, ketik password yang Anda inginkan, begitu juga pada Bagian Confirm Password, isikan dengan password yang sama. Lalu klik tombol Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/9.png" alt="1" /><br />
Gambar 8. Installer akan menyiapkan file-file yang akan diinstal pada Linux, selanjutnya akan keluar window seperti berikut ini.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/10.png" alt="1" /><br />
Gambar 9. Pada Specify Operating System Group Name pilih oinstall. Lalu klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/11.png" alt="1" /><br />
Gambar 10. Installer akan mengecek kriteria dalam komputer untuk disesuaikan dengan kebutuhan utamanya. Jika ada peringatan warning atau error, pelajari dan catat apa yang dijadikan sebagai masalahnya. Lalu centang pada bagian Status. Selanjutnya klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/12.png" alt="1" /><br />
Gambar 11. Layar berikutnya akan muncul konfirmasi apa saja yang akan diinstal pada Linux tersebut, jika ada yang kurang pada konfigurasi installer database, Anda bisa mengklik Back, untuk melanjutkannya klik Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/131.jpg" alt="1" /><br />
Gambar 12. Software Oracle yang sedang menginstall. Tunggu beberapa saat hingga database benar-benar terinstall dan muncul window seperti berikut ini.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/14.png" alt="14" /><br />
Gambar 13. Jika database sudah terinstall akan keluar pesan kecil seperti ini. Layar ini akan bertanya apakah kita ingin menginstall database lain selain database yang dimiliki oleh SYSTEM atau tidak. Capture screen pada bagian ini. Lalu klik OK.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/151.jpg" alt="1" /><br />
Gambar 14. Selanjutnya akan muncul window Configuration Assistants, pada bagian ini Installer akan mengkonfigurasi secara otomatis. Lalu klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/161.jpg" alt="1" /><br />
Gambar 15. Oracle akan membuat database dan starting Oracle Instance. Tunggu beberapa saat hingga bagian ini selesai dijalankan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/17.png" alt="1" /><br />
Gambar 16. Selanjutnya akan muncul window Execute Configuration scripts, ikuti 4 step diatas untuk menginstall dan memvalidasi hasil install. Setelah itu klik OK.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/18.png" alt="1" /><br />
Gambar 17. Eksekusi kedua script diatas pada Terminal.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/19.png" alt="1" /><br />
Gambar 18. Jika software telah benar-benar diinstal akan muncul konfirmasi seperti diatas. Pada window ini saya anjurkan untuk meng-capturenya kembali dan disimpan. Klik Exit untuk mengakhiri instalasi database Oracle.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/screenshot.png" alt="1" /><br />
Gambar 19. Hasil akhir jika database benar-benar terinstall. Lakukan query:<br />
<code><br />
.oraenv &#62;&#62; orcl<br />
rlwrap sqlplus / as sysdba<br />
</code></p>
<p>Selamat, Oracle database telah terinstall di Linux Anda.<br />
<!--more--></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Instalasi Oracle DBMS (1)]]></title>
<link>http://henvip.wordpress.com/2009/12/26/instalasi-oracle-dbms-1/</link>
<pubDate>Sat, 26 Dec 2009 15:05:27 +0000</pubDate>
<dc:creator>h2x</dc:creator>
<guid>http://henvip.wordpress.com/2009/12/26/instalasi-oracle-dbms-1/</guid>
<description><![CDATA[Hi all&#8230; Sudah lama nih ga buka ni blog lagi, maklum lagi sibuk kerjain skripsi,, yang notabene]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Hi all&#8230;</p>
<p>Sudah lama nih ga buka ni blog lagi, maklum lagi sibuk kerjain skripsi,, yang notabene susahnya minta ampun..</p>
<p>Sekedar pengen sharing aja&#8230; Kali ini aku bakalan kasih tahu cara-cara instalasi Oracle Database 10g di Linux. Oracle yang saya pake adalah Oracle 10g R2 tepatnya 10.2.0. Untuk dapetinnya silakan klik link <a class="wpGallery" href="http://www.oracle.com/technology/software/products/database/index.html" target="_blank">INI</a>.Trus instalasinya melalui OS Linux Red Hat Enterprise yang notabene juga saya dapatkan dari Oraclenya langsung. Lalu instalasinya lewat VMWare Workstation versi 6.5, sehingga ga perlu dual booting OS lagi&#8230; hehehe&#8230;</p>
<p>Oke deh, langsung aja aku kasih unjuk cara-caranya yap..</p>
<p>1. Instalasi VMWare Workstation.</p>
<p>Instalasi VMWare Workstation akan juga langsung nginstalin VMWare player, jadi seandainya kalau file OS-nya rusak bisa di-copy dari backup trus dijalanin ulang tanpa mesti instalasi ulang OS yang rusak tersebut.</p>
<p>Untuk Instal VMWare lakukan seperti menginstal program biasa.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/1.jpg" alt="1" /></p>
<p>Gambar 1. Untuk menjalankan vmware klik Start lalu ketik vmware pada Search Bar Windows 7, lalu pilih Vmware Workstation. Selanjutnya akan muncul seperti Windows seperti diatas. Lalu pilih File -&#62; New -&#62; Virtual Machine atau CTRL-N. Maka layar berikut akan muncul pada Desktop.<br />
<!--more--><br />
<img src="http://henvip.files.wordpress.com/2009/12/2.jpg" alt="2" /><br />
Gambar 2. Kotak dialog New Virtual Machine Wizard akan muncul, untuk memudahkan pilih Typical (recommended). Jika dipilih Custom (advanced) akan muncul beberapa pilihan yang lebih detil lagi, tapi saya anjurkan untuk memilih Typical saja. Lalu klik tombol Next.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/3.jpg" alt="3" /><br />
Gambar 3. Kotak dialog New Virtual Machine Wizard yang kedua akan segera muncul, jika pada DVD-ROM sudah dimasukan DVD installer RedHat Enterprise, Anda bisa memilih opsi pertama. Jika anda memiliki file .iso (image) installer RedHat Enterprise anda bisa mengklik opsi kedua. Jika belum memiliki DVD installer maupun .iso RedHat, pilih opsi ketiga. Namun saya anjurkan untuk memilih opsi ketiga, karena beberapa setting akan diubah berikutnya. Klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/4.jpg" alt="4" /><br />
Gambar 4. Tampilan berikut pilih Linux pada Guest Operating System, lalu pada box Version pilih RedHat Enterprise Linux 4. Lalu klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/5.jpg" alt="5" /><br />
Gambar 5. Kotak dialog baru akan muncul. Isikan Nama virtual OS yang baru, lebih baik baris ini dibiarkan saja. Lalu pada baris berikutnya tentukan dimana file OS akan disimpan. Saran saya pilih partisi yang memiliki space kosong yang lumayan banyak. Sebab file ini akan bertambah seiring dengan perubahan didalam virtual OS. Klik Next untuk melanjutkan.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/6a.jpg" alt="6a" /><br />
Gambar 6a. Kotak dialog Hardware akan muncul, pada kolom memori isikan berapa MB RAM yang dibutuhkan. Untuk kali ini saya mencoba dengan 768 MB saja, sebab nanti akan diinstal Oracle Database yang memakan memori cukup besar. Pada baris berikutnya yaitu New CD/DVD (IDE), pilih drive mana DVD-ROM Anda berada, jika salah setting maka virtual OS tidak akan pernah booting. Setting lainnya sepertinya bisa diabaikan. Lalu klik OK.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/6b.jpg" alt="6b" /><br />
Gambar 6b. Ini window hasil setting, lalu tekan OK.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/7.jpg" alt="7" /><br />
Gambar 7. Setelah itu virtual OS sudah dibuat. Untuk menjalankannya, cukup tekan Power on this virtual machine.</p>
<p><img src="http://henvip.files.wordpress.com/2009/12/8.jpg" alt="8" /><br />
Gambar 8. Jika belum ada OS yang terinstall pada vmware, maka akan tampak seperti gambar diatas. Untuk menghentikannya cukup tekan tombol Stop pada Toolbar VMware Workstation.</p>
<p>Oke, step pertama berhasil, lanjut ke <a href="http://henvip.wordpress.com/2009/12/26/instalasi-oracle-dbms-2/">step ke 2</a><br />
<!--more--></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Oracle version number detail explaination]]></title>
<link>http://dbametrix.wordpress.com/2009/12/22/oracle-version-number-detail-explaination/</link>
<pubDate>Tue, 22 Dec 2009 19:15:47 +0000</pubDate>
<dc:creator>dbametrix</dc:creator>
<guid>http://dbametrix.wordpress.com/2009/12/22/oracle-version-number-detail-explaination/</guid>
<description><![CDATA[Oracle version number detail explaination: Hi friends, How to check Oracle version from installed Or]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Oracle version number detail explaination:</strong></p>
<p>Hi friends,</p>
<p><em><strong>How to check Oracle version from installed Oracle database RDBMS?</strong></em></p>
<p>Using following queries we can check version of Oracle has been installed.</p>
<p>SQL&#62;select * from v$version;<br />
BANNER<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Oracle Database 10g Express Edition Release 10.2.0.1.0 &#8211; Product<br />
PL/SQL Release 10.2.0.1.0 &#8211; Production<br />
CORE    10.2.0.1.0      Production<br />
TNS for 32-bit Windows: Version 10.2.0.1.0 &#8211; Production<br />
NLSRTL Version 10.2.0.1.0 &#8211; Production</p>
<p>SQL&#62;select * from product_component_version;<br />
PRODUCT                                  VERSION      STATUS<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;-<br />
NLSRTL                                   10.2.0.1.0   Production<br />
Oracle Database 10g Enterprise Edition   10.2.0.1.0   Prod<br />
PL/SQL                                   10.2.0.1.0   Production<br />
TNS for 32-bit Windows:                  10.2.0.1.0   Production</p>
<p><strong>Interpretation and understanding of Oracle version numbering:</strong></p>
<p>First digit is Major database release number<br />
Second digit is Database maintenance release number<br />
Third digit is Application server release number<br />
Fourth digit is Component specific release number<br />
Fifth digit is Platform specific release number</p>
<p><strong>For Example take output of above sample:</strong><br />
Oracle 10.2.0.1.0</p>
<p><strong>Explained:</strong></p>
<p>Oracle 10 &#60;=Major database release number<br />
            .2 &#60;=Database maintenance release number<br />
               .0 &#60;=Application server release number<br />
                 .1 &#60;=Component specific release number<br />
                   .0 &#60;=Platform specific release number</p>
<p>Thanks and regards,<br />
Rajiv Shah<br />
<a href="http://www.dbametrix.com">http://www.dbametrix.com</a><br />
<a href="http://www.dbametrix.com/remote-dba.html">http://www.dbametrix.com/remote-dba.html</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Oracle one-off patch or interim patch using opatch utility]]></title>
<link>http://dbametrix.wordpress.com/2009/12/22/oracle-one-off-patch-interim-patch-using-opatch-utility/</link>
<pubDate>Tue, 22 Dec 2009 18:39:08 +0000</pubDate>
<dc:creator>dbametrix</dc:creator>
<guid>http://dbametrix.wordpress.com/2009/12/22/oracle-one-off-patch-interim-patch-using-opatch-utility/</guid>
<description><![CDATA[Applying one-off interim patch of Oracle using OPATCH utility: Hi friends, Today we are discussing a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Applying one-off interim patch of Oracle using OPATCH utility:</strong></p>
<p>Hi friends,</p>
<p>Today we are discussing about Oracle upgrade for applying interim or one-off patch. Interim patch or one-off patch is applied by Opatch utility.</p>
<p>Opatch utility is provided by Oracle itself. If Opatch utility doesn&#8217;t install or doesn&#8217;t find out in your ORACLE_HOME then you should require to download from Oracle Support site.</p>
<p>Oracle&#8217;s oneoff patch or interim patch is installed by Opatch only. For check weather opatch utility has been installed or not check following commands.</p>
<p>$ cd $ORACLE_HOME/OPatch<br />
$ opatch -help<br />
Invoking OPatch 10.2.0.4.2</p>
<p>Oracle Interim Patch Installer version 10.2.0.4.2<br />
Copyright (c) 2007, Oracle Corporation.  All rights reserved.</p>
<p>Usage: opatch [ -help ] [ -r[eport] ] [ command ]</p>
<p>            command := apply<br />
                       lsinventory<br />
                       napply<br />
                       nrollback<br />
                       rollback<br />
                       query<br />
                       version<br />
                       prereq<br />
                       util</p>
<p> := -help       Displays the help message for the command.<br />
                       -report     Print the actions without executing.</p>
<p> example:<br />
   &#8216;opatch -help&#8217;<br />
   &#8216;opatch apply -help&#8217;<br />
   &#8216;opatch lsinventory -help&#8217;<br />
   &#8216;opatch napply -help&#8217;<br />
   &#8216;opatch nrollback -help&#8217;<br />
   &#8216;opatch rollback -help&#8217;<br />
   &#8216;opatch prereq -help&#8217;<br />
   &#8216;opatch util -help&#8217;</p>
<p>OPatch succeeded.</p>
<p><strong>For applying any interim or one-off patch please find easy steps.</strong></p>
<p>1) set ORACLE_HOME environment variable.</p>
<p>$ export ORACLE_HOME=/home/oracle10g</p>
<p>2) set JAVA_HOME environment variable.<br />
OPatch requires JDK 1.4 or higher to work properly. JRE is installed using JDK.</p>
<p>$ export JAVA_HOME=/home/jdk/bin/java</p>
<p>3) set proper lsinventory using Opatch using following command.</p>
<p>$ OPatch lsinventory</p>
<p>4) Go to unzipped directory of patch using following command. </p>
<p>cd $ORACLE_HOME/OPatch</p>
<p>5) apply interim or one-off patch of Oracle.</p>
<p>$ /opatch apply /u01/patch/8708077</p>
<p>It will be applied your given one-off interim patch.</p>
<p><strong>Log file of Opatch utility of Oracle:</strong></p>
<p>OPatch maintains logs for all apply, rollback, and lsInventory operations. The log files are located in /cfgtoollogs/opatch directory. Each log file will be tagged with the timestamp of the operation. Log files are named as opatch__.log. Each time OPatch is executed a new log file is created.</p>
<p>Sample:<br />
opatch_09-22-2009_20-05-00.log</p>
<p><strong>How to rollback one-off interim patch whenever find problem:</strong></p>
<p>$ opatch rollback /u01/patch/8708077</p>
<p>OR</p>
<p>$ OPatch/opatch rollback -id </p>
<p>For more detail and troubleshooting of opatch please refer oracle documentation or wait to publish another post.</p>
<p>Thanks and regards,<br />
Rajiv Shah<br />
<a href="http://www.dbametrix.com">http://www.dbametrix.com</a><br />
<a href="http://www.dbametrix.com/service.html">http://www.dbametrix.com/service.html</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How To Add, Remove or Relocate Online Redo Log Files and Groups]]></title>
<link>http://oralog.wordpress.com/2009/12/16/how-to-add-remove-or-relocate-online-redolog-files-and-groups/</link>
<pubDate>Wed, 16 Dec 2009 09:25:47 +0000</pubDate>
<dc:creator>Emrah Becer</dc:creator>
<guid>http://oralog.wordpress.com/2009/12/16/how-to-add-remove-or-relocate-online-redolog-files-and-groups/</guid>
<description><![CDATA[  To protect against a failure involving the redo log itself, Oracle Database allows a multiplexed r]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p> </p>
<p>To protect against a failure involving the redo log itself, Oracle Database allows a multiplexed redo log, meaning that two or more identical copies of the redo log can be automatically maintained in separate locations. For the most benefit, these locations should be on separate disks. Even if all copies of the redo log are on the same disk, however, the redundancy can help protect against I/O errors, file corruption, and so on. When redo log files are multiplexed, LGWR concurrently writes the same redo log information to multiple identical redo log files, thereby eliminating a single point of redo log failure.</p>
<p>Multiplexing is implemented by creating groups of redo log files. A group consists of a redo log file and its multiplexed copies. Each identical copy is said to be a member of the group. Each number defines a redo log group. Such as group 1, group 2, and so on.</p>
<p>For information about how to find your current online redo log files structure click here.</p>
<p><strong>1. Adding A New redo log Group</strong></p>
<p><span style="color:#008000;">sql&#62; ALTER DATABASE ADD LOGFILE(&#8216;/oracledata/test/redo3a.log&#8217;,'/test_multiplex/redo3b.log&#8217;) SIZE 52429312;</span></p>
<p>- The command above will add a new redo log group to your database. The group will have two members with size 52429312. A group number will automatically be assigned to your new group. If you want to set it explicitly you may use command below.</p>
<p><span style="color:#008000;">sql&#62; ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 15 (&#8216;/oracledata/test/redo3a.log&#8217;,'/test_multiplex/redo3b.log&#8217;) SIZE 52429312;</span></p>
<p>- In a RAC (Real Application Cluster) environment you have to specify which instance the redo log group will belong to by setting thread number. Every instance in a RAC database has a thread number. For ex: the command below will add the redo log group to instance with thread number 1.</p>
<p><span style="color:#008000;">sql&#62; ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 15 (&#8216;/oracledata/test/redo3a.log&#8217;,'/test_multiplex/redo3b.log&#8217;) SIZE 52429312;</span></p>
<p><strong>2. Dropping A redo log Group</strong></p>
<p>&#8211; Before dropping a redo log group, make sure that at the moment, logwriter process is not writing to the redo log file you plan to drop.</p>
<p><span style="color:#008000;">sql&#62; SELECT GROUP#, THREAD#,ARCHIVED, STATUS FROM V$LOG ;</span></p>
<p>    GROUP#    THREAD#       ARC        STATUS</p>
<p>&#8212;&#8212;&#8212;-         &#8212;&#8212;&#8212;- &#8212;        &#8212;&#8212;       &#8212;&#8212;&#8212;</p>
<p>         1                    1                 YES          INACTIVE</p>
<p>         2                    1                  NO            CURRENT</p>
<p>         3                    1                  YES         INACTIVE</p>
<p>The value for &#8220;ARCHIVED&#8221; column must be &#8220;YES&#8221; and STATUS column must be &#8220;INACTIVE&#8221;.</p>
<p>If the status is &#8220;CURRENT&#8221; it means that logwriter is currently using this group to store redo records. After the redo files in this group is filled it will switch to next group. You may wait till next log switch operation or you may manually trigger it by command below:</p>
<p><span style="color:#008000;">SQL&#62; alter system switch logfile ;</span></p>
<p>If status is &#8220;ACTIVE&#8221; it means that there are some redo log records, which have not been applied to datafiles yet. The status is supposed to turn to INACTIVE soon after the next checkpoint operation. If you do not want to wait till then you may manually trigger checkpoint by command below.</p>
<p><span style="color:#008000;">sql&#62; alter system checkpoint ;</span></p>
<p>If the status has turned to INACTIVE you may drop it by specifying the group number.</p>
<p><span style="color:#008000;">sql&#62; ALTER DATABASE DROP LOGFILE GROUP 6;</span></p>
<p>This command will drop the redo log group, which is identified by number 6.</p>
<p>Logwriter writes to redo log files in a circular fashion. When a group is filled it moves to next group. After all groups in database are filled it returns back to first redo log group. Because of that, there has to be at least 2 groups in an instance. Oracle won&#8217;t permit dropping a group if there are only two groups in the instance.</p>
<p>After dropping a group, you may delete relevant files from operating system.</p>
<p><strong>3. Adding A New Member To An Existing Group</strong></p>
<p>As mentioned at the beginning of article it is recommended to multiplex redo log members for fault tolerance. You can accomplish this by adding new members to an existing group.</p>
<p><span style="color:#008000;">sql&#62; ALTER DATABASE ADD LOGFILE MEMBER &#8216;/u02/oradata/mydb/redo02.log&#8217; TO GROUP 2;</span></p>
<p>The above command adds a new redo log file to redo log group with number 2.</p>
<p><span style="color:#008000;">4. Dropping A Member From An Existing Group</span></p>
<p>As stated in subject 3 (Dropping A redo log Group) again the group, whose member you want to drop should be inactive.</p>
<p><span style="color:#008000;">sql&#62; ALTER DATABASE DROP LOGFILE MEMBER &#8216;/u03/oradata/mydb/redo03.log&#8217;</span></p>
<p><strong>5. Relocating A redo log Group</strong></p>
<p>You may want to relocate your existing redo log group and change the path of redo log files. Here are the steps to accomplish it</p>
<p><strong><em>Step 1:</em></strong> Shutdown database</p>
<p><span style="color:#008000;">sql&#62; shutdown immediate ;</span></p>
<p><strong><em>Step 2:</em></strong> Backup your existing control file and redo log file at operating system level.</p>
<p><strong><em>Step 3:</em></strong> Move your redo log member to a new location. You may also change the file name if you want.</p>
<p><span style="color:#008000;"># mv /u02/oradata/mydb/redo02.log /u03/oradata/mydb/redo03.log</span></p>
<p><strong><em>Step 4:</em></strong> Startup in nomount mode</p>
<p><span style="color:#008000;">sql&#62; startup nomount;</span></p>
<p><strong><em>Step 5: </em></strong>Path of redo log files is kept in control file. You have to update that record by command below:</p>
<p><span style="color:#008000;">sql&#62; ALTER DATABASE RENAME FILE &#8216;/u02/oradata/mydb/redo02.log&#8217; TO &#8216;/u03/oradata/mydb/redo03.log&#8217;</span></p>
<p>Control file is modified and the path of redo log member is updated. Now you can open your database.</p>
<p><span style="color:#008000;">sql&#62; alter database open;</span></p>
<p>As you see this way of relocating online redo log files requires downtime.  You may also change the path of your redo log files by adding a new group at desired location and dropping the ones at former location. This approach requires no downtime.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How To Find Location Of Online Redolog Files]]></title>
<link>http://oralog.wordpress.com/2009/12/15/how-to-find-location-of-online-redolog-files/</link>
<pubDate>Tue, 15 Dec 2009 08:33:00 +0000</pubDate>
<dc:creator>Emrah Becer</dc:creator>
<guid>http://oralog.wordpress.com/2009/12/15/how-to-find-location-of-online-redolog-files/</guid>
<description><![CDATA[  Using  SQL Interface: There are 2 main dynamic performance views to see your database&#8217;s curr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong> </strong></p>
<p><strong>Using  SQL Interface: </strong>There are 2 main dynamic performance views to see your database&#8217;s current redo log structure.</p>
<p> 1<strong>. v$logfile</strong> =&#62; Shows redo log groups, group members and member status.</p>
<p><span style="color:#008000;">sql&#62; select group#,status,member from v$logfile</span></p>
<table border="1" width="100%">
<tbody>
<tr>
<th align="center">GROUP#</th>
<th align="center">STATUS</th>
<th align="center">MEMBER</th>
</tr>
<tr>
<td>
<div style="text-align:center;">1</div>
</td>
<td> </td>
<td style="text-align:center;">/oradata/mydb/redo_log_files/redo01.log</td>
</tr>
<tr>
<td>
<div style="text-align:center;">2</div>
</td>
<td> </td>
<td style="text-align:center;">/oradata/mydb/redo_log_files/redo02.log</td>
</tr>
<tr>
<td>
<div style="text-align:center;">3</div>
</td>
<td> </td>
<td style="text-align:center;">/oradata/mydb/redo_log_files/redo03.log</td>
</tr>
</tbody>
</table>
<p>Here, this database has 3 redo log groups with 3 members. You can see the path of redo log files and see which group they belong to. If status is null then it means that the file is in use.</p>
<p><strong>2. v$log</strong> =&#62; This view provides information about your redo log groups. This information is fetched from control file.</p>
<p><span style="color:#008000;">sql&#62; select group#,archived,members,status from v$log ;</span></p>
<table border="1" width="100%">
<tbody>
<tr>
<th align="center">GROUP#</th>
<th align="center">ARCHIVED</th>
<th align="center">MEMBERS</th>
<th align="center">STATUS</th>
</tr>
<tr>
<td>
<div style="text-align:center;">1</div>
</td>
<td align="center">YES</td>
<td>
<div style="text-align:center;">1</div>
</td>
<td align="center">INACTIVE</td>
</tr>
<tr>
<td align="center">
<div>2</div>
</td>
<td align="center">YES</td>
<td align="center">
<div>1</div>
</td>
<td align="center">INACTIVE</td>
</tr>
<tr>
<td>
<div style="text-align:center;">3</div>
</td>
<td align="center">NO</td>
<td align="center">
<div>1</div>
</td>
<td align="center">CURRENT</td>
</tr>
</tbody>
</table>
<p>Here this database has 3 groups, which are identified by numbers 1,2,3. At the moment group 1 is the current redo log group. Redo records are written to this group. Group 2 and 3 are inactive and they have been archived. After redo log files in group 1 are filled then redo log records will be written to group 2 then group 3 respectively.</p>
<p>If status of a redo log file is &#8220;ACTIVE &#8220;it means that this file was recently used then log writer process switched to another redo log group. But still there are some redo records in active group, which has not been applied to datafiles yet. If you see a group with a status &#8220;ACTIVE&#8221; it should return to status &#8220;INACTIVE&#8221; soon without manual intervention.</p>
<p>3. There is one more view V$LOG_HISTORY where you can see information about your redo log history. But the information you can extract from this view is not as user-friendly as the two views above. You won&#8217;t be dealing with V$LOG_HISTORY view in your routine tasks so we won&#8217;t mention it in this article.</p>
<p><strong>Using Operating System</strong></p>
<p><strong>On Linux:</strong></p>
<p>If the database was setup according to Oracle Flexible Architecture ( <a href="http://oralog.wordpress.com/2009/12/01/naming-directories-in-oracle-installation-on-linux-environment-optimal-flexible-architecture-ofa/" target="_blank">For more information on OFA on Linux click here</a>) online redo log files will be in redolog&#60;counter&#62;.log or redo&#60;counter&#62;.log format where counter shows the order of online redo log files. So performing a search at operating system level will give you the list of online redo log files.</p>
<p>The command below will start searching from root location (/) and will look for any file, which starts with &#8220;redo&#8221; and has an &#8220;.log&#8221; extension.</p>
<p><span style="color:#008000;">[root@myserver ~]# find / -name redolog*.log -type f</span></p>
<p><span style="color:#008000;">/u01/oracle/product/10.2.0/oradata/my_db/redolog01.log<br />
/u02/oracle/product/10.2.0/oradata/my_db/redolog02.log<br />
/u03/oracle/product/10.2.0/oradata/my_db/redolog03.log</span></p>
<p>The files found are “probably” the online redo log files for the instance but it is also possible that they are not associated with an instance. They might me obsolete. Because of that it is more reliable to locate redo log files via sql interface than operating system interface.</p>
<p><strong>On Windows:</strong></p>
<p>If the database was setup according to Oracle Flexible Architecture ( <a href="http://oralog.wordpress.com/2009/11/20/naming-directories-in-oracle-installation-on-windows-oracle-flexible-architecture-ofa/" target="_blank">For more information on OFA on Windows click here</a>) online redo log files will be in redolog.log or redo.log format where shows the order of online redo log files. So performing a search at operating system level will give you the list of online redo log files.</p>
<p>The command below will  start searching from root location of drive E and will look for any file, which starts with &#8220;redo&#8221; and has an &#8220;.log&#8221; extension.</p>
<p><span style="color:#008000;">E:\&#62;dir /s redo*.log<br />
 E sürücüsü birimi: Data<br />
 Birim Seri Numarası: 6CC3-6A8A</span></p>
<p><span style="color:#008000;"> E:\oracle\product\10.2.0\oradata\mydb dizini</span></p>
<p><span style="color:#008000;">14.12.2009  09:19        52.429.312 REDO01.LOG<br />
11.12.2009  18:10        52.429.312 REDO02.LOG<br />
11.12.2009  18:10        52.429.312 REDO03.LOG<br />
               3 Dosya      157.287.936 bayt</span></p>
<p><span style="color:#008000;">     Listelenen Toplam Dosya:<br />
               3 Dosya      157.287.936 bayt<br />
               0 Dizin   157.829.578.752 bayt boş</span></p>
<p>The files found are “probably” the online redo log files for the database but they might not be associated with a database. They might me obsolete. Because of  that it is more reliable to locate online redo log files via sql interface than operating system interface.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[DATAPUMP]]></title>
<link>http://deepakdba.wordpress.com/2009/12/14/datapump/</link>
<pubDate>Mon, 14 Dec 2009 09:45:50 +0000</pubDate>
<dc:creator>Deepak</dc:creator>
<guid>http://deepakdba.wordpress.com/2009/12/14/datapump/</guid>
<description><![CDATA[DATAPUMP IN ORACLE For using DATAPUMP through DB CONSOLE http://www.oracle.com/technology/obe/obe10g]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong><span style="text-decoration:underline;"><span style="color:#0000ff;">DATAPUMP IN ORACLE </span></span></strong></p>
<p>For using DATAPUMP through DB CONSOLE</p>
<p><a href="http://www.oracle.com/technology/obe/obe10gdb/storage/datapump/datapump.htm">http://www.oracle.com/technology/obe/obe10gdb/storage/datapump/datapump.htm</a></p>
<p>There are two new concepts in Oracle Data Pump that are different from original Export and Import.</p>
<p><strong><span style="color:#0000ff;">Directory Objects</span></strong></p>
<p>Data Pump differs from original Export and Import in that all jobs run primarily on the server using server processes. These server processes access files for the Data Pump jobs using directory objects that identify the location of the files. The directory objects enforce a security model that can be used by DBAs to control access to these files.</p>
<p><strong><span style="color:#0000ff;">Interactive Command-Line Mode</span></strong></p>
<p>Besides regular operating system command-line mode, there is now a very powerful interactive Command-line mode which allows the user to monitor and control Data Pump Export and Import operations. Changing from Original Export/Import to Oracle Data Pump Creating Directory Objects</p>
<p>In order to use Data Pump, the database administrator must create a directory object and grant privileges to the user on that directory object. If a directory object is not specified, a default directory object called data_pump_dir is provided. The default data_pump_dir is available only to privileged users unless access is granted by the DBA.</p>
<p>In the following example, the following SQL statement creates a directory object named</p>
<p>dpump_dir1 that is mapped to a directory located at /usr/apps/datafiles.</p>
<p>Create a directory.</p>
<ol>
<li><strong><span style="color:#0000ff;">SQL&#62; CREATE DIRECTORY dpump_dir1 AS ‘/usr/apps/datafiles’;</span></strong></li>
</ol>
<p><strong> </strong></p>
<p>After a directory is created, you need to grant READ and WRITE permission on the directory to other users. For example, to allow the Oracle database to read and to write to files on behalf of user scott in the directory named by dpump_dir1, you must execute the following command:</p>
<ol>
<li><strong><span style="color:#0000ff;">SQL&#62; GRANT READ,WRITE ON DIRECTORY dpump_dir1 TO scott;</span></strong></li>
</ol>
<p><strong> </strong></p>
<p>Note that READ or WRITE permission to a directory object means only that the Oracle database will read or write that file on your behalf. You are not given direct access to those files outside of the Oracle database unless you have the appropriate operating system privileges. Similarly, the Oracle database requires permission from the operating system to read and write files in the directories. Once the directory access is granted, the user scott can export his database objects with command arguments:</p>
<ol>
<li><strong><span style="color:#0000ff;">&#62;expdp username/password DIRECTORY=dpump_dir1 </span></strong><strong><span style="color:#0000ff;">dumpfile=scott.dmp</span></strong></li>
</ol>
<p><strong> </strong></p>
<p>Comparison of command-line parameters from Original Export and Import to</p>
<p>Data Pump</p>
<p>Data Pump commands have a similar look and feel to the original Export and Import</p>
<p>commands, but are different. Below are a few examples that demonstrate some of these</p>
<p>differences.</p>
<p><strong><span style="color:#ff0000;">1) Example import of tables from scott’s account to jim’s account</span></strong></p>
<p><strong><span style="color:#ff0000;">Original Import:</span></strong></p>
<p><span style="color:#0000ff;">&#62; imp username/password FILE=scott.dmp FROMUSER=scott TOUSER=jim TABLES=(*)</span></p>
<p><strong><span style="color:#0000ff;">Data Pump Import:</span></strong></p>
<p><span style="color:#0000ff;">&#62; impdp username/password DIRECTORY=dpump_dir1 DUMPFILE=scott.dmp</span></p>
<p><span style="color:#0000ff;">TABLES=scott.emp REMAP_SCHEMA=scott:jim</span></p>
<p>Note how the FROMUSER/TOUSER syntax is replaced by the REMAP_SCHEMA option.</p>
<p><strong><span style="color:#ff0000;">2) Example export of an entire database to a dump file with all GRANTS,</span></strong></p>
<p><strong><span style="color:#ff0000;">INDEXES, and data</span></strong></p>
<p><span style="color:#0000ff;">&#62; exp username/password FULL=y FILE=dba.dmp GRANTS=y INDEXES=y ROWS=y</span></p>
<p><span style="color:#0000ff;">&#62; expdp username/password FULL=y INCLUDE=GRANT INCLUDE= INDEX</span></p>
<p><span style="color:#0000ff;">DIRECTORY=dpump_dir1 DUMPFILE=dba.dmp CONTENT=ALL</span></p>
<p>Data Pump offers much greater metadata filtering than original Export and Import. The INCLUDE parameter allows you to specify which object (and its dependent objects) you want to keep in the export job. The EXCLUDE parameter allows you to specify which object (and its dependent objects) you want to keep out of the export job. You cannot mix the two parameters in one job.</p>
<p>Both parameters work with Data Pump Import as well, and you can use different INCLUDE and</p>
<p>EXCLUDE options for different operations on the same dump file.</p>
<p><span style="color:#ff0000;">3) <strong>Tuning Parameters</strong></span></p>
<p>Unlike original Export and Import, which used the BUFFER, COMMIT, COMPRESS,</p>
<p>CONSISTENT, DIRECT, and RECORDLENGTH parameters, Data Pump needs no tuning to achieve maximum performance. Data Pump chooses the best method to ensure that data and metadata are exported and imported in the most efficient manner. Initialization parameters should be sufficient upon installation.</p>
<p><span style="color:#ff0000;">4) <strong>Moving data between versions</strong></span></p>
<p>The Data Pump method for moving data between different database versions is different from the method used by original Export and Import. With original Export, you had to run an older version of Export to produce a dump file that was compatible with an older database version.With Data Pump, you use the current Export version and simply use the VERSION parameter to specify the target database version. You cannot specify versions earlier than Oracle Database 10g (since Data Pump did not exist before 10g).</p>
<p><strong>Example:</strong></p>
<p><span style="color:#0000ff;">&#62; expdp username/password TABLES=hr.employees VERSION=10.1</span></p>
<p><span style="color:#0000ff;">DIRECTORY=dpump_dir1 DUMPFILE=emp.dmp</span></p>
<p>Data Pump Import can always read dump file sets created by older versions of Data Pump Export.</p>
<p>Note that Data Pump Import cannot read dump files produced by original Export.</p>
<p>Maximizing the Power of Oracle Data Pump</p>
<p>Data Pump works great with default parameters, but once you are comfortable with Data</p>
<p>Pump, there are new capabilities that you will want to explore.</p>
<p><strong><span style="color:#0000ff;">Parallelism</span></strong></p>
<p>Data Pump Export and Import operations are processed in the database as a Data Pump job, which is much more efficient that the client-side execution of original Export and Import. Now Data Pump operations can take advantage of the server’s parallel processes to read or write multiple data streams simultaneously (PARALLEL is only available in the Enterprise Edition of Oracle Database.)</p>
<p>The number of parallel processes can be changed on the fly using Data Pump’s interactive command-line mode. You may have a certain number of processes running during the day and decide to change that number if more system resources become available at night (or vice versa).</p>
<p>For best performance, you should do the following:</p>
<p>• Make sure your system is well balanced across CPU, memory, and I/O.</p>
<p>• Have at least one dump file for each degree of parallelism. If there aren’t enough dump Files, performance will not be optimal because multiple threads of execution will be trying to access the same dump file.</p>
<p>• Put files that are members of a dump file set on separate disks so that they will be written and read in parallel.</p>
<p>• For export operations, use the %U variable in the DUMPFILE parameter so multiple dump files can be automatically generated.</p>
<p>Example:</p>
<p>&#62; <span style="color:#0000ff;">expdp username/password DIRECTORY=dpump_dir1 JOB_NAME=hr</span></p>
<p><span style="color:#0000ff;">DUMPFILE=par_exp%u.dmp PARALLEL=4</span></p>
<p><strong><span style="color:#0000ff;">REMAP</span></strong></p>
<p>• REMAP_TABLESPACE – This allows you to easily import a table into a different</p>
<p>tablespace from which it was originally exported. The databases have to be 10.1 or later.</p>
<p>Example:</p>
<p>&#62; <span style="color:#0000ff;">impdp username/password REMAP_TABLESPACE=tbs_1:tbs_6</span></p>
<p><span style="color:#0000ff;">DIRECTORY=dpumpdir1 DUMPFILE=employees.dmp</span></p>
<p>• REMAP_DATAFILES – This is a very useful feature when you move databases between platforms that have different file naming conventions. This parameter changes the source datafile name to the target datafile name in all SQL statements where the source</p>
<p>datafile is referenced. Because the REMAP_DATAFILE value uses quotation marks, it’s best to specify the parameter within a parameter file.</p>
<p>Example:</p>
<p>The parameter file, payroll.par, has the following content:</p>
<p>DIRECTORY=dpump_dir1</p>
<p>FULL=Y</p>
<p>DUMPFILE=db_full.dmp</p>
<p>REMAP_DATAFILE=”’C:\DB1\HRDATA\PAYROLL\tbs6.dbf’:’/db1/hrdata/payroll/tbs6.dbf</p>
<p>You can then issue the following command:</p>
<p>&#62; <span style="color:#0000ff;">impdp username/password PARFILE=payroll.par</span></p>
<p>Even More Advanced Features of Oracle Data Pump</p>
<p>Beyond the command-line and performance features of Oracle Data Pump are new capabilities that DBAs will find invaluable. A couple of prominent features are described here.Interactive Command-Line Mode</p>
<p>You have much more control in monitoring and controlling Data Pump jobs with interactive command-line mode. Because Data Pump jobs run entirely on the server, you can start an export or import job, detach from it, and later reconnect to the job to monitor its progress. Here are some of the things you can do while in this mode:</p>
<p>See the status of the job. All of the information needed to monitor the job’s execution is available.</p>
<ul>
<li>Add more dump files if there is insufficient disk space for an export file.</li>
<li>Change the default size of the dump files.</li>
<li>Stop the job (perhaps it is consuming too many resources) and later restart it (when more resources become available).</li>
<li>Restart the job. If a job was stopped for any reason (system failure, power outage), you can attach to the job and then restart it.</li>
<li>Increase or decrease the number of active worker processes for the job. (Enterprise Edition only.)</li>
<li>Attach to a job from a remote site (such as from home) to monitor status.</li>
</ul>
<p> </p>
<p><strong><span style="color:#0000ff;">Network Mode</span></strong></p>
<p>Data Pump gives you the ability to pass data between two databases over a network (via a database link), without creating a dump file on disk. This is very useful if you’re moving data between databases, like data marts to data warehouses, and disk space is not readily available. Note that if you are moving large volumes of data, Network mode is probably going to be slower than file mode. Network export creates the dump file set on the instance where the Data Pump job is running and extracts the metadata and data from the remote instance. Network export gives you the ability to export read-only databases. (Data Pump Export cannot run locally on a read-only instance because the job requires write operations on the instance.) This is useful when there is a need to export data from a standby database.</p>
<p><strong><span style="color:#0000ff;">Generating SQLFILES</span></strong></p>
<p>In original Import, the INDEXFILE parameter generated a text file which contained the SQL commands necessary to recreate tables and indexes that you could then edit to get a workable DDL script. With Data Pump, it’s a lot easier to get a workable DDL script. When you run Data Pump Import and specify the SQLFILE parameter, a text file is generated that has the necessary DDL (Data Definition Language) in it to recreate all object types, not just tables and indexes. Although this output file is ready for execution, the DDL statements are not actually executed, so the target system will not be changed.</p>
<p>SQLFILEs can be particularly useful when pre-creating tables and objects in a new database. Note that the INCLUDE and EXCLUDE parameters can be used for tailoring sqlfile output. For example, if you want to create a database that contains all the tables and indexes of the source database, but that does not include the same constraints, grants,and other metadata, you would issue a command as follows:</p>
<p><span style="color:#0000ff;">&#62;impdp username/password DIRECTORY=dpumpdir1 DUMPFILE=expfull.dmp</span></p>
<p><span style="color:#0000ff;">SQLFILE=dpump_dir2:expfull.sql INCLUDE=TABLE,INDEX</span></p>
<p>The SQL file named expfull.sql is written to dpump_dir2 and would include SQL DDL that could be executed in another database to create the tables and indexes as desired.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How To Find Location Of Control Files]]></title>
<link>http://oralog.wordpress.com/2009/12/08/how-to-find-location-of-control-files/</link>
<pubDate>Tue, 08 Dec 2009 12:56:43 +0000</pubDate>
<dc:creator>Emrah Becer</dc:creator>
<guid>http://oralog.wordpress.com/2009/12/08/how-to-find-location-of-control-files/</guid>
<description><![CDATA[  Every Oracle database has a control file. A control file contains entries that specify the physica]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p> </p>
<p>Every Oracle database has a control file. A control file contains entries that specify the physical structure of the database. For example, it contains the following information:</p>
<p>- Database name<br />
- Names and locations of datafiles and redo log files<br />
- Time stamp of database creation</p>
<p> Oracle can multiplex the control file, that is, simultaneously maintain a number of identical control file copies, to protect against a failure involving the control file. </p>
<p>Every time an instance of an Oracle database is started, its control file identifies the database and redolog files that must be opened for database operation to proceed.</p>
<p>If the physical makeup of the database is altered (for example, if a new datafile or redo log file is created), then the control file is automatically modified by Oracle to reflect the change. A control file is also used in database recovery.</p>
<p>There are several methods to find control files:</p>
<p><strong>1. ON  LINUX</strong></p>
<p><strong><em>a. Using Sql:</em></strong> Query v$parameter view to fetch control files location. The &#8220;value&#8221; column will return a list of comma-separated locations of control files.</p>
<p><span style="color:#008000;">sql&#62; select value from v$parameter where name=&#8217;control_files&#8217; ;</span></p>
<p>/test_multiplex/control01.ctl, /oracle_multiplex2/control02.ctl, /oracle_multiplex3/control03.ctl<br />
<strong><em>b. Using Sqlplus:</em></strong></p>
<p><span style="color:#008000;">SQL&#62; show parameter control_files ;</span></p>
<p>NAME                                 TYPE        VALUE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
control_files                        string      /test_multiplex/control01.ctl,<br />
                                                                    /oracle_multiplex2/control02.ctl,<br />
                                                                   /oracle_multiplex3/control03.ctl</p>
<p><strong><em>c. Using Operating System</em></strong></p>
<p>If the database was setup according to Oracle Flexible Architecture ( <a href="http://oralog.wordpress.com/2009/12/01/naming-directories-in-oracle-installation-on-linux-environment-optimal-flexible-architecture-ofa/">For more information on OFA on Linux click here</a>) control files will be in control&#60;counter&#62;.ctl format where &#60;counter&#62; shows the order of control files. So performing a search at operating system level will give you the list of control files. Also those files are supposed to be owned by &#8220;oracle&#8221; operating system user and belong to &#8220;oinstall&#8221; operating system group.</p>
<p>The command below will start searching from root location (/) and will look for any file, which starts with control and has an .ctl extension.</p>
<p>[root@myserver ~]# <span style="color:#008000;">find / -name control*.ctl -type f</span></p>
<p>/test_multiplex/control01.ctl<br />
/oracle_multiplex2/control02.ctl<br />
/oracle_multiplex3/control03.ctl</p>
<p>The files found are &#8220;probably&#8221; the control files for the database but it is also possible that they are not associated with a database. They might me obsolete. Because of that it is more reliable to locate control files via sql interface than operating system interface.</p>
<p><strong>2. ON WINDOWS</strong></p>
<p><strong><em>a. Using Sql:</em></strong> Query v$parameter view to fetch control files location. The &#8220;value&#8221; column will return a list of comma-separated locations of control files.</p>
<p>sql&#62; <span style="color:#008000;">select value from v$parameter where name=&#8217;control_files&#8217; ;</span></p>
<p>E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYDB\CONTROL01.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYDB\CONTROL02.CTL,<br />
E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYDB\CONTROL03.CTL</p>
<p><strong><em>b. Using Sqlplus:</em></strong></p>
<p>SQL&#62; <span style="color:#008000;">show parameter control_files ;</span></p>
<p>NAME                                 TYPE        VALUE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
control_files                        string      E:\ORACLE\PRODUCT\10.2.0\ORADA TA\MYDB\CONTROL01.CTL,<br />
                                                                    E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYDB\CONTROL02.CTL,<br />
                                                                   E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYDB\CONTROL03.CTL</p>
<p><strong><em>c. Using Operating System</em></strong></p>
<p>If the database was setup according to Oracle Flexible Architecture ( <a href="http://oralog.wordpress.com/2009/11/20/naming-directories-in-oracle-installation-on-windows-oracle-flexible-architecture-ofa/">For more information on OFA on Windows click here</a>) control files will be in control&#60;counter&#62;.ctl format where &#60;counter&#62; shows the order of control files. So performing a search at operating system level will give you the list of control files.</p>
<p>The command below will  start searching from root location of drive E and will look for any file which starts with control and has an .ctl extension.</p>
<p><span style="color:#008000;"><span style="color:#000000;">E:\&#62;</span>dir /s control*.ctl</span></p>
<p> E sürücüsü birimi: Data</p>
<p> E:\oracle\product\10.2.0\oradata\mydb dizini</p>
<p>08.12.2009  09:26         7.061.504 CONTROL01.CTL<br />
08.12.2009  09:26         7.061.504 CONTROL02.CTL<br />
08.12.2009  09:26         7.061.504 CONTROL03.CTL</p>
<p>               3 Dosya       21.184.512 bayt</p>
<p>     Listelenen Toplam Dosya:<br />
               3 Dosya       21.184.512 bayt<br />
               0 Dizin   158.115.127.296 bayt boş</p>
<p>The files found are &#8220;probably&#8221; the control files for the database but they might not be associated with a database. They might me obsolete. Because of that it is more reliable to locate control files via sql interface than operating system interface.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How To Find Location Of Server Parameter File (SPFILE) ]]></title>
<link>http://oralog.wordpress.com/2009/12/07/how-to-find-location-of-server-parameter-file-spfile/</link>
<pubDate>Mon, 07 Dec 2009 09:30:43 +0000</pubDate>
<dc:creator>Emrah Becer</dc:creator>
<guid>http://oralog.wordpress.com/2009/12/07/how-to-find-location-of-server-parameter-file-spfile/</guid>
<description><![CDATA[          You can configure your instance by setting parameters. You can see the parameters that you]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p> </p>
<p>        You can configure your instance by setting parameters. You can see the parameters that your instance can process by querying v$parameter dynamic performance view.</p>
<p><span style="color:#008000;">sql&#62; desc v$parameter ;</span></p>
<p>Name                                                               Null?    Type<br />
 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;-<br />
 NUM                                                                            NUMBER<br />
 NAME                                                                         VARCHAR2(80)<br />
 TYPE                                                                           NUMBER<br />
 VALUE                                                                       VARCHAR2(512)<br />
 DISPLAY_VALUE                                                 VARCHAR2(512)<br />
 ISDEFAULT                                                              VARCHAR2(9)<br />
 ISSES_MODIFIABLE                                             VARCHAR2(5)<br />
 ISSYS_MODIFIABLE                                            VARCHAR2(9)<br />
 ISINSTANCE_MODIFIABLE                              VARCHAR2(5)<br />
 ISMODIFIED                                                             VARCHAR2(10)<br />
 ISADJUSTED                                                            VARCHAR2(5)<br />
 ISDEPRECATED                                                       VARCHAR2(5)<br />
 DESCRIPTION                                                          VARCHAR2(255)<br />
 UPDATE_COMMENT                                             VARCHAR2(255)<br />
 HASH                                                                            NUMBER</p>
<p>             You don&#8217;t have to set parameters manually everytime you start your instance, you can keep the values in a file called &#8220;parameter file&#8221; and your instance reads the parameters stored in that file. If the parameter file is text-based it is called &#8220;parameter file&#8221; (pfile) , if it is binary it is called &#8220;server parameter file&#8221; (spfile).</p>
<p><strong>On Linux:</strong></p>
<p>As a rule spfile resides under <span style="color:#008000;">$ORACLE_HOME/dbs/</span> directory.</p>
<p>When you start an instance Oracle will try to locate spfile in following order:</p>
<p>1) <span style="color:#008000;">$ORACLE_HOME/dbs/spfile&#60;SID&#62;.ora</span> =&#62; This file should be binary. SID is $ORACLE_SID environment value. If Oracle does not find the file then it looks for it in second location.</p>
<p>2) <span style="color:#008000;">$ORACLE_HOME/dbs/spfile.ora</span> =&#62; This file should be binary. SID is $ORACLE_SID environment value. If Oracle does not find the file then it looks for it in third location.</p>
<p>3) <span style="color:#008000;">$ORACLE_HOME/dbs/init&#60;SID&#62;.ora</span> =&#62; SID is $ORACLE_SID environment value. This file should be text based and it is not a server parameter file indeed. This file is read-only. Instance can not modify this, however it may read values in the file and start instance based on them. You may  modify this file using a text editor like vi and set values manually. It is not recommended to use init&#60;SID&#62;.ora files.</p>
<p><strong>On Windows:</strong></p>
<p>As a rule spfile resides under ORACLE_HOME\database\ directory.</p>
<p>When you start an instance Oracle will try to locate spfile in following order:</p>
<p>1) <span style="color:#008000;">ORACLE_HOME\database\spfile&#60;SID&#62;.ora</span> =&#62; This file should be binary. SID is your ORACLE_SID. If Oracle does not find the file then it looks for it in second location.</p>
<p>2) <span style="color:#008000;">ORACLE_HOME\database\spfile.ora</span> =&#62; This file should be binary. SID is your ORACLE_SID. If Oracle does not find the file then it looks for it in third location.</p>
<p>3) <span style="color:#008000;">ORACLE_HOME\database\init&#60;SID&#62;.ora </span>=&#62; SID is your ORACLE_SID. This file should be text based and it is not a server parameter file indeed. This file is read-only. Instance can not modify this, however it may read values in the file and start instance based on them. You may  modify this file using a text editor like vi and set values manually. It is not recommended to use init&#60;SID&#62;.ora files.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[We forgot about that whole "Europe" place.]]></title>
<link>http://a2d2.wordpress.com/2009/12/02/we-forgot-about-that-whole-europe-place/</link>
<pubDate>Wed, 02 Dec 2009 08:50:37 +0000</pubDate>
<dc:creator>A2D2</dc:creator>
<guid>http://a2d2.wordpress.com/2009/12/02/we-forgot-about-that-whole-europe-place/</guid>
<description><![CDATA[I honestly had to pick up my jaw off the floor when I heard that the DoJ cleared Oracle&#8217;s acqu]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I honestly had to pick up my jaw off the floor when I heard that the DoJ cleared Oracle&#8217;s acquisition of Sun earlier this year.  By all of the literature supported by the DoJ<em>&#8217;s </em>official policy book, <em>The Horizontal Merger Guidelines,</em> it seemed like Oracle and Sun becoming one great Valley monolith was the worst thing that could happen. Monopolistic control of the resource market for a product? Check. Price setting powers by significantly reducing competition in a major revenue center? Check. I could go on, but you get the idea: this was exactly the type of thing the DoJ and the Sherman Antitrust Act was supposed to stop.</p>
<p>Of course, that&#8217;s not what happened. The DoJ and the FTC greenlighted the acquisition based off of the idea that Oracle&#8217;s purchase would not constitute a monopoly in its products&#8217; markets. They recognized Sun as a manufacturer of servers and Oracle as an enterprise software company. Now this isn&#8217;t all lies and deceit. Sun continues to derives a ton of revenue (if not most of its revenue) from its production and maintenance of its line of SPARC-based Solaris servers. This has largely been the same since the late 80&#8217;s. But, like a lot of other people, I was concerned about the effect of Oracle owning a fairly recent acquisition that Sun had made the year before.</p>
<p>In February of 2008, Sun purchased the rights to an open-source database server known as MySQL<em>. </em>MySQL is the preeminent open-source database server. Everyone that isn&#8217;t on IBM, Oracle, or Microsoft SQL uses it: Google, Facebook, Twitter&#8230;etc.  MySQL may not be as immediately scalable as its polished enterprise database server competitors. But it&#8217;s free, and the community has done a great job to work on making sure it runs well in distributed environments<em>. </em>MySQL was the poster child for innovative reform in the database sector. Its presence has changed the game considerably. It&#8217;s a damning threat to enterprise offerings by all of the older players just like Linux threatens proprietary Unix servers, Solaris, and Windows solutions in the server OS market with good technology at the low-low price of free. It&#8217;s forced everyone to really up their game in terms of cranking out great products in order to compete.</p>
<p>Once again, wohoo free market.</p>
<p>Oracle&#8217;s purchase of Sun does give it the rights to nifty cool things like the ZFS file system, Java (which they use with 10G to create a very cool app server/db server solution), and Solaris. But it also gets the rights to MySQL. With most of Oracle&#8217;s business done in the database sector, this whole maneuver could  be an expensive way of eliminating the competition from MySQL to push the market back towards the 90&#8217;s-era database oligopoly. That&#8217;s dangerously anti-competitive behvior there, buddy. In fact, that&#8217;s textbook anti-competitive behavior.</p>
<p>But maybe the Department of Justice is right. Maybe this isn&#8217;t about Oracle sweeping away the competition like ants. I mean, it&#8217;s not like Oracle CEO Larry Ellison <a href="http://books.google.com/books?id=OOYb-0DNG18C&#38;dq=larry+ellison&#38;printsec=frontcover&#38;source=bl&#38;ots=fx8KVWpIVu&#38;sig=UY-LCS3DQn8MrMpsUoiSL88-XHA&#38;hl=en&#38;ei=UCUWS8u0JYPOsgOIz-CMBA&#38;sa=X&#38;oi=book_result&#38;ct=result&#38;resnum=15&#38;ved=0CDYQ6AEwDg#v=onepage&#38;q=&#38;f=false">has a reputation or anything. </a></p>
<p>And again, this stuff isn&#8217;t all new. I wrote a lot about this whole affair before when word broke that Oracle and Sun started doing the M&#38;A dance<a href="http://a2d2.wordpress.com/2009/04/30/were-not-there-yet-mr-ellison/"> earlier this year. </a>What is new is what the EU recently said in their review of the issue: &#8220;<a href="http://sacramento.bizjournals.com/sacramento/stories/2009/11/09/daily24.html">no.</a>&#8221;  The EU rejected Oracle&#8217;s acquisition based on this very issue. They felt that if Oracle acquired Sun, Oracle would wind up with monopolistic control of the database market. Who called it.</p>
<p>With the EU&#8217;s formal objection of Oracle and Sun getting married all hell has broken lose. Sun has announced some horrifying layoffs. Oracle <a href="http://denver.bizjournals.com/denver/stories/2009/11/23/daily49.html?ana=from_rss&#38;utm_source=feedburner&#38;utm_medium=feed&#38;utm_campaign=Feed%253A+bizj_national+%2528Bizjournals+National+Feed%2529">has petitioned congressman and ambassadors to reach out and shake the EU&#8217;s commission into OK&#8217;ing the deal </a>(one has some very scary<em> The Godfather</em> imagery from this), and in general the sky is falling. Oracle and Sun were already in maneuvers to start consolidating their businesses, so this revelation is as crushing as it is sudden for them.</p>
<p>But the lack of concern by both Oracle and Sun about whether or not they&#8217;d run into antitrust problems is what really disturbs me. With MySQL and 10g falling under the same command, did you really think this wasn&#8217;t going to be an issue? Maybe the DoJ and the FTC would not do their homework about Sun&#8217;s intellectual properties, but someone had to realize at some point that you&#8217;d walk away with a radically-powerful control over the database market.</p>
<p>Don&#8217;t get me wrong: layoffs are horrible, terrible things. And despite the seemingly popular sentiment that Sun&#8217;s execs are asleep at the wheel and that working at Oracle is about as non-political as being a member of Congress, both of these companies really are filled with smart and capable people on both an individual contributor level and at a strategic level. This is why I&#8217;m really unsettled. Why did nobody think that the acquisition might not run into trouble? Include something in your proposal about how Sun would divest MySQL during its dissolution into Oracle.  Talk about how Oracle would immediately sell MySQL to someone else. Do something to address this glaring and radical increase in market power that Oracle would get by acquiring one of its major competitors.</p>
<p>At best, not addressing MySQL seems like a glaring mistake. At worst it seems like pure hubris &#8211; like Oracle smugly and casually disregarded the possibility of being hit with antitrust concerns for being able to take out one of its major competitors in an already small market through acquisition.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Width Bucket - Analytic Function]]></title>
<link>http://guruparan18.wordpress.com/2009/11/29/width-bucket-analytic-function-in-oracle-10g/</link>
<pubDate>Sun, 29 Nov 2009 17:47:50 +0000</pubDate>
<dc:creator>SREE GURUPARAN</dc:creator>
<guid>http://guruparan18.wordpress.com/2009/11/29/width-bucket-analytic-function-in-oracle-10g/</guid>
<description><![CDATA[WIDTH_BUCKET function is used to assign bucket value for a list of values based on maximum and minim]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>WIDTH_BUCKET function is used to assign bucket value for a list of values based on maximum and minimum number. This is one of the new analytic function introduced in Oracle 10g. Consider the following table.</p>
<pre>
<table border="1">
<tbody>
<tr>
<th>StudentId</th>
<th>Mark</th>
</tr>
<tr>
<td>1</td>
<td>56</td>
</tr>
<tr>
<td>2</td>
<td>43</td>
</tr>
<tr>
<td>3</td>
<td>76</td>
</tr>
<tr>
<td>4</td>
<td>89</td>
</tr>
<tr>
<td>5</td>
<td>90</td>
</tr>
<tr>
<td>6</td>
<td>91</td>
</tr>
<tr>
<td>7</td>
<td>49</td>
</tr>
<tr>
<td>8</td>
<td>63</td>
</tr>
<tr>
<td>9</td>
<td>83</td>
</tr>
<tr>
<td>10</td>
<td>74</td>
</tr>
</tbody>
</table>

<!--more--></pre>
<p>If you want to assign buckets based on the mark they got, the SQL to that would be<br />
<code> </code></p>
<pre class="brush: sql;">
SQL&#62; select StudentId
2       , Mark
3       , wIDTH_BUCKET(Mark, 50, 100, 5) as Grade#
4    from hr.Students
5  /

STUDENTI MARK   GRADE#
-------- ------ ------
1        56     1
2        43     0
3        76     3
4        89     4
5        90     5
6        91     5
7        49     0
8        63     2
9        83     4
10       74     3</pre>
<p>If you want to assign grade 1 for 90-99, then change the WIDTH_BUCKET (MARK, 100, 50, 5).</p>
<h3>Referrence</h3>
<p>Oracle documentation for <a title="WIDTH_FUNCTION" href="http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/functions232.htm#SQLRF06163" target="_blank">WIDTH_FUNCTION</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Producing ORA-08006 with MERGE and ROW MOVEMENT]]></title>
<link>http://todorbotev.wordpress.com/2009/11/24/producing-ora-08006-with-merge-and-row-movement/</link>
<pubDate>Tue, 24 Nov 2009 13:05:34 +0000</pubDate>
<dc:creator>Todor Botev</dc:creator>
<guid>http://todorbotev.wordpress.com/2009/11/24/producing-ora-08006-with-merge-and-row-movement/</guid>
<description><![CDATA[Here is what the Oracle Docs say about ORA-08006: ORA-08006: specified row no longer exists Cause: t]]></description>
<content:encoded><![CDATA[Here is what the Oracle Docs say about ORA-08006: ORA-08006: specified row no longer exists Cause: t]]></content:encoded>
</item>
<item>
<title><![CDATA[Naming Directories in Oracle Installations On Windows (Optimal Flexible Architecture - OFA)]]></title>
<link>http://oralog.wordpress.com/2009/11/20/naming-directories-in-oracle-installation-on-windows-oracle-flexible-architecture-ofa/</link>
<pubDate>Fri, 20 Nov 2009 10:38:11 +0000</pubDate>
<dc:creator>Emrah Becer</dc:creator>
<guid>http://oralog.wordpress.com/2009/11/20/naming-directories-in-oracle-installation-on-windows-oracle-flexible-architecture-ofa/</guid>
<description><![CDATA[The Optimal Flexible Architecture (OFA) standard is a set of file naming and configuration guideline]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The Optimal Flexible Architecture (OFA) standard is a set of file naming and configuration guidelines created to ensure reliable Oracle installations that require little maintenance.</p>
<p>You can think of Optimal Flexible Architecture as a set of good habits to adopt when organizing Oracle directories and files on your computer. All Oracle components on the installation media are Optimal Flexible Architecture-compliant; that is, Oracle Universal Installer places Oracle components in directory locations that follow Optimal Flexible Architecture guidelines. Although using Optimal Flexible Architecture is not a requirement, Oracle recommends that you use it.</p>
<p>Here are the steps to accomplish OFA before an Oracle installation on a Windows environment:</p>
<p><strong>Step 1: Create ORACLE_BASE Directory</strong></p>
<p>ORACLE_BASE is the root of the OFA compliant Oracle directory tree. It is a base for all oracle installations.  It should be in format <span style="color:#008000;">&#60;DRIVE_LETTER&#62;:\oracle\product\&#60;version&#62;</span>. For example:  <span style="color:#008000;">D:\oracle\product\10.2.0\</span> is a good choice for an Oracle 10.2.0.1 database server installation.</p>
<p><strong>Step 2: Create ORACLE_HOME Directory</strong></p>
<p>ORACLE_HOME directory is the directory of the current Oracle installation and contains subdirectories for Oracle software executables and network files. Every ORACLE_HOME directory is also associated with a ORACLE_HOME name which you specify during Oracle Software installation.</p>
<p>ORACLE_HOME directory should be in format <span style="color:#008000;">&#60;ORACLE_BASE&#62;\&#60;type&#62;_&#60;counter&#62;</span> where type is the purpose of installation (db, app, client etc.) and counter is an identifier which shows the order of installations. For example:  <span style="color:#008000;">&#60;ORACLE_BASE&#62;\db_1\ =&#62; D:\oracle\product\10.2.0\ db_1\</span>  is a good choice for an Oracle Database installation for the first time.</p>
<p><strong>Step 3: Create Admin Directory</strong></p>
<p>Create an admin directory to store administration files.  It should be in format<span style="color:#008000;"> &#60;ORACLE_BASE&#62;\admin\&#60;DB_NAME&#62;\</span> .</p>
<p>For ex: <span style="color:#008000;">&#60;ORACLE_BASE&#62;\admin\my_db\ =&#62; D:\oracle\product\10.2.0\ admin\my_db\</span></p>
<p>Some of the directories that the admin directory should contain are shown below:</p>
<p>\bdump &#8211;background process trace files<br />
\cdump &#8211;core dump files<br />
\create &#8211;database creation files<br />
\exp &#8211;database export files<br />
\pfile &#8211;initialization parameter files<br />
\udump &#8211;user SQL trace files<br />
\arch &#8212; archived redolog files</p>
<p><strong>Step 4: Create Oradata Directory</strong></p>
<p>Oracle data related files (data files, online redolog files and control files) should be kept in an directory called &#8220;ORADATA&#8221;. The oradata directory should be in format <span style="color:#008000;">&#60;ORACLE_BASE&#62;\oradata\&#60;DB_NAME&#62; <span style="color:#000000;">.</span></span><span style="color:#000000;"> </span>For example:  <span style="color:#008000;">D:\oracle\product\10.2.0\ oradata\my_db\</span></p>
<p><strong>Step 5: Naming Files In Oradata Directory</strong></p>
<p>Datafiles should be in format <span style="color:#008000;">&#60;tablespace_name&#62;&#60;counter&#62;.dbf </span>. For example:  <span style="color:#008000;">mytablespace01.dbf</span> .</p>
<p>Online redolog files should be in format <span style="color:#008000;">redolog&#60;counter&#62;.log</span> . For example: <span style="color:#008000;">redolog01.log, redolog02.log, redolog03.log</span> .</p>
<p>Control files should be in format <span style="color:#008000;">control&#60;counter&#62;.ctl</span> . For example: <span style="color:#008000;">control01.ctl, control02.ctl, control03.ctl</span> .</p>
<p><strong>Step 6:  Spreading Files</strong></p>
<p>It is quite common to have data on multiple physical disks to spread I/O workload and thereby provide better performance and reliability. In such a situation create the same directory structure on all drives and spread the files in relevant directories.  For example the log files can be shared among the drives like:</p>
<p> <span style="color:#008000;">C:\oracle\product\10.2.0\oradata\my_db\redolog01.log<br />
 D:\oracle\product\10.2.0\oradata\my_db\redolog02.log<br />
 E:\oracle\product\10.2.0\oradata\my_db\redolog03.log</span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cara buat User di Oracle 10g]]></title>
<link>http://irwanprabowo.wordpress.com/2009/11/19/cara-buat-user-di-oracle-10g/</link>
<pubDate>Thu, 19 Nov 2009 00:38:00 +0000</pubDate>
<dc:creator>irwanprabowo</dc:creator>
<guid>http://irwanprabowo.wordpress.com/2009/11/19/cara-buat-user-di-oracle-10g/</guid>
<description><![CDATA[&nbsp; Masuklah kedalam sql plus atau isqlplus dengan user system. Masukkan username dan password. S]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div style="text-align:justify;"><span style="font-size:small;"><a href="http://irwanprabowo.wordpress.com/files/2009/11/a.jpg" style="clear:left;float:left;margin-bottom:1em;margin-right:1em;"><img border="0" src="http://irwanprabowo.wordpress.com/files/2009/11/a.jpg?w=300" /></a>&#160;</span></p>
<p><span style="font-size:small;">Masuklah kedalam sql plus atau isqlplus dengan user system. Masukkan username dan password. Setelah itu akan muncul worksheet oracle sql plus.</span></div>
<div style="font-family:inherit;text-align:justify;"><span style="font-size:small;">1. Buat user.&#160;&#160;</span> </div>
<div style="font-family:inherit;text-align:justify;"><span style="font-size:small;">SQL&#62; <span style="color:#4444dd;font-weight:bold;">CREATE</span><span style="color:black;"> </span><span style="color:#4444dd;font-weight:bold;">USER</span><span style="color:black;"> </span><span style="color:black;">&#8220;TES&#8221;</span><span style="color:black;">  </span><span style="color:#4444dd;font-weight:bold;">PROFILE</span><span style="color:black;"> </span><span style="color:black;">&#8220;DEFAULT&#8221;</span><span style="color:black;"> </span><span style="color:#4444dd;font-weight:bold;">IDENTIFIED</span><span style="color:black;"> </span><span style="color:#4444dd;font-weight:bold;">BY</span><span style="color:black;"> </span><span style="color:black;">&#8220;*******&#8221;</span><span style="color:black;"> </span><span style="color:#4444dd;font-weight:bold;">DEFAULT</span><span style="color:black;"> </span><span style="color:#4444dd;font-weight:bold;">TABLESPACE</span><span style="color:black;"> </span><span style="color:black;">&#8220;EXAMPLE&#8221;</span><span style="color:black;"> </span><span style="color:#4444dd;font-weight:bold;">TEMPORARY</span><span style="color:black;"> </span><span style="color:#4444dd;font-weight:bold;">TABLESPACE</span><span style="color:black;"> </span><span style="color:black;">&#8220;TEMP&#8221;</span><span style="color:black;"> </span><span style="color:#4444dd;font-weight:bold;">ACCOUNT</span><span style="color:black;"> </span><span style="color:#4444dd;font-weight:bold;">UNLOCK</span><span style="color:#4444dd;font-weight:bold;">;</span></span></div>
<div style="font-family:inherit;text-align:justify;"><span style="font-size:small;">2. Berikan akses ke user tes.&#160;</span></div>
<div style="font-family:inherit;text-align:justify;"><span style="font-size:small;">SQL&#62; <span style="color:#4444dd;font-weight:bold;">GRANT &#8220;CONNECT&#8221; TO &#8220;TES&#8221;</span><span style="color:#4444dd;font-weight:bold;">;</span></span></p>
<p><a name='more'></a></div>
<div style="font-family:inherit;text-align:justify;"><span style="font-size:small;">3. Berikan akses ke user tes untuk membuat tabel, memasukkan tabel dll. Untuk contoh disini kita berikan akses full DBA. SQL&#62; <span style="color:#4444dd;font-weight:bold;">GRANT &#8220;DBA&#8221; TO &#8220;TES&#8221;</span><span style="color:#4444dd;font-weight:bold;">;</span></span></div>
<div style="font-family:inherit;text-align:justify;"><span style="font-size:small;">4. Nah jadi deh. Sekarang exit dari sqlplus (system) lalu login kembali&#160; menggunakan user tes yang telah kita buat. Dan sekarang anda bisa melakukan perintah DDL, DML, dan DCL.</span></div>
<div style="font-family:inherit;text-align:justify;"><span style="font-size:small;">5. Sebenarnya lebih gampang lebih bila menggunakan isql plus melalui enterprise manager di http://localhost:5500/em/ (settingan default).</span></div>
<div style="font-family:inherit;text-align:justify;"><span style="font-size:small;">6. Untuk besok saya berikan contoh backup tabel asli di oracle ke user tes. Gunanya untuk menghindari perubahan-perubahan, sekaligus untuk anda yang sedang belajar. Jadi bisa menggunakan tabel yang sama seperti tabel di system.&#160; </span></div>
<div style="text-align:justify;"><span style="font-size:small;"><tt><span style="color:#4444dd;font-weight:bold;"><br /></span></tt></span></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How To Detect And Remove Obsolete Users In Oracle]]></title>
<link>http://oralog.wordpress.com/2009/11/11/how-to-detect-and-remove-idle-users-in-oracle/</link>
<pubDate>Wed, 11 Nov 2009 11:40:07 +0000</pubDate>
<dc:creator>Emrah Becer</dc:creator>
<guid>http://oralog.wordpress.com/2009/11/11/how-to-detect-and-remove-idle-users-in-oracle/</guid>
<description><![CDATA[            It is a very common scenario where some users were created in your database at a past ti]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>            It is a very common scenario where some users were created in your database at a past time, the software that owns those users became obsolete but as a dba you are unaware of that because nobody has informed you. Or you may have inherited a database in your new job, which you had no control before. In such a situation the first thing you have to do is to detect users who no longer needs to stay in database and delete their accounts or at least lock them.</p>
<p>Here are the steps to accomplish this:</p>
<p><strong>Step 1: Capture Logon-Logoff Events</strong></p>
<p>* Auditing should be enabled and audit trails must be configured to be kept in database.</p>
<p><span style="color:#0000ff;">sql&#62; alter system set audit_trail = db scope=spfile;<br />
</span>System altered.</p>
<p><span style="color:#0000ff;">SQL&#62; shutdown immediate;<br />
</span>Database closed.<br />
Database dismounted.<br />
ORACLE instance shut down.</p>
<p><span style="color:#0000ff;">SQL&#62; startup;<br />
</span>ORACLE instance started.<br />
Database mounted.<br />
Database opened.</p>
<p>* We have enabled auditing and our audit records will be kept in database. Now lets enable session auditing and capture logon-logoff events.</p>
<p><span style="color:#0000ff;">SQL&#62; audit session ;</span></p>
<p>* That&#8217;s all. From now on whenever a user logs in an audit record will be created. Now you have to wait to let active users login. One month is a reasonable duration.</p>
<p><strong>Step 2: Detect Database Users Who Has Never Logged In</strong></p>
<p>* Audit trails are kept in DBA_AUDIT_TRAIL dictionary view. Lets query the view to detect who has logged in since we enabled auditing.</p>
<p><span style="color:#0000ff;">sql&#62; select distinct username from dba_audit_trail where action_name in (&#8216;LOGOFF&#8217;,'LOGON&#8217;)</span></p>
<p>* The information of all database users can be seen in DBA_USERS dictionary view. Now simply extract the active users from all users list.</p>
<p><span style="color:#0000ff;">sql&#62; select username from dba_users where account_status=&#8217;OPEN&#8217; and username not in</span></p>
<p><span style="color:#0000ff;">(<br />
select username from dba_audit_trail where action_name in (&#8216;LOGOFF&#8217;,'LOGON&#8217;) and username is not null<br />
)</span></p>
<p>** Now you have got a list of users who have never logged in to database since you enabled auditing.</p>
<p><strong>Step 3: Take Action</strong></p>
<p>* Feel free to lock all users that are inactive.</p>
<p><span style="color:#0000ff;">sql&#62; alter user &#60;inactive_user&#62; account lock;</span></p>
<p>* Those inactive users never needed to login but they could have login privileges. We unlocked their account. Now they can&#8217;t login even if they have login privileges. Our database became more secure.</p>
<p><strong>Step 4: Evaluating Users and Deleting Unnecessary Schemas</strong></p>
<p>* Is it enough lock accounts only or should we also delete users and their corresponding schema objects. Well, it depends. If user does not own any object do not hesitate to delete the user.</p>
<p><span style="color:#0000ff;">sql&#62; drop user &#60;inactive_user&#62; ;</span></p>
<p>*  But if they own objects, active users may be using those inactive users&#8217; objects like reading from their table, executing their procedures etc. It is better to keep the inactive users with objects at first. Try to find the owner of those users within your organization. If you can&#8217;t find anyone who owns them, those schemas are good candidates for removing. User&#8217;s creation time may also give you an idea.</p>
<p><span style="color:#0000ff;">sql&#62; select created from dba_users where username=&#8217;INACTIVE_USER&#8217;</span></p>
<p>* If you are skeptical you can check one more thing before dropping users. First find objects belonging to an inactive user.</p>
<p><span style="color:#0000ff;">sql&#62; select owner,object_name,object_type from dba_objects where owner=&#8217;&#60;inactive_user&#62;&#8217; and status=&#8217;VALID&#8217;</span></p>
<p>* Audit every activity on that objects</p>
<p><span style="color:#0000ff;">sql&#62; audit all on &#60;inactive_user&#62;.&#60;object_name&#62; ;</span></p>
<p>* Give time to your users. Again one month is a reasonable duration. After that, query audit records. If you detect any activity on those objects, it means that although schema owner never logs on to database, his objects are still used by other active users. Do not ever drop such schemas.</p>
<p>* And finally if no activity is detected on objects drop those schemas.</p>
<p><span style="color:#0000ff;">sql&#62; drop user &#60;schema_name&#62; cascade</span> ;</p>
<p>* The command above will drop user and its objects including those which depend on them.</p>
<p>* It is a good idea to take a dump of your schema before dropping it. Keep your dump files in a safe place. If one day the owner of those users come and ask for their data back you can restore them.</p>
<p><span style="color:#0000ff;">$ exp system/&#60;my_system_user_password&#62;@&#60;my_db_net_service_name&#62; file=&#60;export_file_location&#62; log=&#60;location_of_log_gile&#62;  owner=&#60;inactive_user&#62;</span></p>
<p>* The command above will backup your schema and store it under &#60;export_file_location&#62;.</p>
<p>** Finally the work is completed. Now you have a cleaner database where there is no obsolete users and data. This means your database is more secure and you have more control over it.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why restore before recover? The new Oracle 10g Backup Strategy]]></title>
<link>http://sojungle.wordpress.com/2009/11/11/why-restore-before-recover-the-new-oracle-10g-backup-strategy/</link>
<pubDate>Wed, 11 Nov 2009 07:29:03 +0000</pubDate>
<dc:creator>ZyK</dc:creator>
<guid>http://sojungle.wordpress.com/2009/11/11/why-restore-before-recover-the-new-oracle-10g-backup-strategy/</guid>
<description><![CDATA[Delivering Oracle 10g R2 Administration Workshop II we had a closer look at the new recommended back]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Delivering Oracle 10g R2 Administration Workshop II we had a closer look at the new recommended backup strategy for Oracle.</p>
<p>With Oracle 10g R2 we can recover datafile copies like we recover the real datafiles.<br />
This gives us the oportunity to recover the entire database without having to restore it from backup first.<br />
Which of course saves very valuable time in case of a disaster.</p>
<p>Here is how you could do it:</p>
<p>- use a “flash recovery area” to store everything needed for recovering, such as:<br />
- an image copy of the entire database<br />
- one incremental backup of the database<br />
- the archived redo logs which have been created since the last incremental backup</p>
<p>The flash recovery area is a location on disk which you specify by the parameter db_recovery_file_dest. It can be changed dynamically without having to restart.<br />
With the also dynamically changeable parameter db_recovery_file_dest_size you can limit the amount of disk space you want to use for this area.</p>
<p>Once you use it rman will create backupserts and image copies of datafiles there by default.</p>
<p>- create an image copy of the entire database:</p>
<p>RMAN &#62; BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY DATABASE;</p>
<p>This will first search for a parent image copy to recover. If there is none yet, it will create one.<br />
If there is an image copy of the database already, it will create an incremental level 1 backup.</p>
<p>- after you have create the first incremental backup for your image copy you can update these image copies of the datafiles by applying the incremental backup to them.</p>
<p>RMAN &#62; RECOVER COPY OF DATABASE;</p>
<p>This is what you do every night.<br />
Then you will have a copy of the database which is always<br />
at least at the level of last night.</p>
<p>In case of a disaster you can now tell rman to just change the locations of the datafiles in the controlfile to the image copies by issuing the following:</p>
<p>RMAN &#62; SWITCH DATABASE TO COPY;<br />
You can only do this in MOUNT.<br />
- Now you are already where you were last night and you only have to recover what has changed since last incremental update without having to restore the database at first.</p>
<p>This is a very handy way to perform recovery.<br />
We were able to switch datafiles to copies before 10g already, but could not incrementally update them.</p>
<p>connect lutz hartmann as sysdba</p>
<p>﻿</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ASM on windows]]></title>
<link>http://dbanayan.wordpress.com/2009/11/10/asm-on-windows-2/</link>
<pubDate>Tue, 10 Nov 2009 07:41:52 +0000</pubDate>
<dc:creator>Liakat Hossain</dc:creator>
<guid>http://dbanayan.wordpress.com/2009/11/10/asm-on-windows-2/</guid>
<description><![CDATA[Creating ASM on windows . step 1: create a windows based service for asm. c:\oradim -new -asmsid +as]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Creating ASM on windows .</p>
<p>step 1: create a windows based service for asm.<br />
c:\oradim -new -asmsid +asm -startmode manual</p>
<p>step 2: create init+asm.ora file in your oracle_home/database directory<br />
with just this lines&#8211;</p>
<p>instance_name=&#8217;+asm&#8217;<br />
instance_type=&#8217;asm&#8217;<br />
asm_diskstring=&#8217;\\.\*:&#8217;<br />
#asm_diskgroups=dg1</p>
<p>step 3 : set oracle env for ASM</p>
<p>c:\set oracle_sid=+asm</p>
<p>step 4: connect asm instance with sqlplus as sysdba and start the instance.<br />
C:&#62; sqlplus / as sysdba</p>
<p>SQL&#62; STARTUP<br />
ORA-29701: unable to connect to Cluster Manager<br />
&#8211;if u see the error that means your CM is not started so follow this step<br />
C:\&#62;CD F:\oracle\product\10.2.0\db_1\BIN<br />
C:\&#62;localconfig delete<br />
Step 1:  stopping local CSS stack<br />
Step 2:  deleting OCR repository<br />
  failed to open the OCR subkey, err(1060)<br />
  failed to cleanup local OCR repository<br />
successfully deleted local CSS setup</p>
<p>C:\&#62;localconfig add<br />
Step 1:  creating new OCR repository<br />
Successfully accumulated necessary OCR keys.<br />
Creating OCR keys for user &#8216;robin&#8217;, privgrp &#8221;<br />
Operation successful.<br />
Step 2:  creating new CSS service<br />
successfully created local CSS service<br />
successfully added CSS to home</p>
<p>step 5: now try again.</p>
<p>SQL&#62; STARTUP<br />
ASM instance started</p>
<p>Total System Global Area   79691776 bytes<br />
Fixed Size                  1247396 bytes<br />
Variable Size              53278556 bytes<br />
ASM Cache                  25165824 bytes<br />
ORA-15110: no diskgroups mounted<br />
SQL&#62; select path from v$asm_disk ;</p>
<p>no rows selected</p>
<p>a&#8211;so you have no asm disk group,for disk group first you need to create asm disk first.<br />
b&#8211;go to disk management<br />
c&#8211;select unallocated space<br />
d&#8211;right click unallocated space and luance a new partition wizard..click next<br />
e&#8211;choose extended partition not a primary. click next<br />
f&#8211;choose the meximum size click finish.<br />
g&#8211;right click the free space in the new partition. select logical drive,click next<br />
h&#8211;when prompted for a partition size ,enter your desire size from maximum size.<br />
i&#8211;select the redo button to assign a drive letter.and acceep what ever later is suggested.<br />
j&#8211;select the redo button Do not format the partition.click next.<br />
k&#8211;click finish ,the logical drive ,with no file system.<br />
l&#8211;repert step “G” to create additional unformatted drive.</p>
<p>Step 6: go to sqlplus<br />
Sql&#62; select path,total_mb from v$asm_disk;</p>
<p>Path            total_mb<br />
&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
\\.\k:            2000<br />
\\.\l:             2000</p>
<p>Step 7 :<br />
Create a disk group ,nominating the two raw volumes.<br />
Sql&#62;create diskgroup dg1 disk &#8216;\\.\k:&#8217;,'\\.\l:&#8217;</p>
<p>Step 8 :<br />
Shutdown asm instance<br />
Remove # from asm_diskgroups=dg1 parameter in asm+init.ora file.<br />
Startup<br />
&#8211;u see your database is mount , actually asm mount the disk group not controlfile , because asm hasn’t any controlfile.</p>
<p>Step 9: go to RDBMS instance. Run the following command.</p>
<p>Sql&#62; create tablespace new_tabs datafile ‘+dg1’ size 10m;</p>
<p>Sql&#62; select name from v$datafile;</p>
<p>Sql&#62;alter  database add logfile group 4 ‘+dg_log1’,’+dg_log2’ size 10m;</p>
<p>Sql&#62; select group#,member from v$logfile.</p>
<p>Note : ASM instance should start first before any rdbms instance start. </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ASM on windows ]]></title>
<link>http://dbanayan.wordpress.com/2009/11/10/asm-on-windows/</link>
<pubDate>Tue, 10 Nov 2009 07:32:06 +0000</pubDate>
<dc:creator>Liakat Hossain</dc:creator>
<guid>http://dbanayan.wordpress.com/2009/11/10/asm-on-windows/</guid>
<description><![CDATA[Creating ASM on windows . step 1: create a windows based service for asm. c:\oradim -new -asmsid +as]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Creating ASM on windows .</p>
<p>step 1: create a windows based service for asm.<br />
c:\oradim -new -asmsid +asm -startmode manual</p>
<p>step 2: create init+asm.ora file in your oracle_home/database directory<br />
with just this lines&#8211;</p>
<p>instance_name=&#8217;+asm&#8217;<br />
instance_type=&#8217;asm&#8217;<br />
asm_diskstring=&#8217;\\.\*:&#8217;<br />
#asm_diskgroups=dg1</p>
<p>step 3 : set oracle env for ASM</p>
<p>c:\set oracle_sid=+asm</p>
<p>step 4: connect asm instance with sqlplus as sysdba and start the instance.<br />
C:&#62; sqlplus / as sysdba</p>
<p>SQL&#62; STARTUP<br />
ORA-29701: unable to connect to Cluster Manager<br />
&#8211;if u see the error that means your CM is not started so follow this step<br />
C:\&#62;CD F:\oracle\product\10.2.0\db_1\BIN<br />
C:\&#62;localconfig delete<br />
Step 1:  stopping local CSS stack<br />
Step 2:  deleting OCR repository<br />
  failed to open the OCR subkey, err(1060)<br />
  failed to cleanup local OCR repository<br />
successfully deleted local CSS setup</p>
<p>C:\&#62;localconfig add<br />
Step 1:  creating new OCR repository<br />
Successfully accumulated necessary OCR keys.<br />
Creating OCR keys for user &#8216;robin&#8217;, privgrp &#8221;<br />
Operation successful.<br />
Step 2:  creating new CSS service<br />
successfully created local CSS service<br />
successfully added CSS to home</p>
<p>step 5: now try again.</p>
<p>SQL&#62; STARTUP<br />
ASM instance started</p>
<p>Total System Global Area   79691776 bytes<br />
Fixed Size                  1247396 bytes<br />
Variable Size              53278556 bytes<br />
ASM Cache                  25165824 bytes<br />
ORA-15110: no diskgroups mounted<br />
SQL&#62; select path from v$asm_disk ;</p>
<p>no rows selected</p>
<p>a&#8211;so you have no asm disk group,for disk group first you need to create asm disk first.<br />
b&#8211;go to disk management<br />
c&#8211;select unallocated space<br />
d&#8211;right click unallocated space and luance a new partition wizard..click next<br />
e&#8211;choose extended partition not a primary. click next<br />
f&#8211;choose the meximum size click finish.<br />
g&#8211;right click the free space in the new partition. select logical drive,click next<br />
h&#8211;when prompted for a partition size ,enter your desire size from maximum size.<br />
i&#8211;select the redo button to assign a drive letter.and acceep what ever later is suggested.<br />
j&#8211;select the redo button Do not format the partition.click next.<br />
k&#8211;click finish ,the logical drive ,with no file system.<br />
l&#8211;repert step “G” to create additional unformatted drive.</p>
<p>Step 6: go to sqlplus<br />
Sql&#62; select path,total_mb from v$asm_disk;</p>
<p>Path            total_mb<br />
&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
\\.\k:            2000<br />
\\.\l:             2000</p>
<p>Step 7 :<br />
Create a disk group ,nominating the two raw volumes.<br />
Sql&#62;create diskgroup dg1 disk &#8216;\\.\k:&#8217;,'\\.\l:&#8217;</p>
<p>Step 8 :<br />
Shutdown asm instance<br />
Remove # from asm_diskgroups=dg1 parameter in asm+init.ora file.<br />
Startup<br />
&#8211;u see your database is mount , actually asm mount the disk group not controlfile , because asm hasn’t any controlfile.</p>
<p>Step 9: go to RDBMS instance. Run the following command.</p>
<p>Sql&#62; create tablespace new_tabs datafile ‘+dg1’ size 10m;</p>
<p>Sql&#62; select name from v$datafile;</p>
<p>Sql&#62;alter  database add logfile group 4 ‘+dg_log1’,’+dg_log2’ size 10m;</p>
<p>Sql&#62; select group#,member from v$logfile.</p>
<p>Note : ASM instance should start first before any rdbms instance start. </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Install Oracle 10g]]></title>
<link>http://irwanprabowo.wordpress.com/2009/11/10/install-oracle-10g/</link>
<pubDate>Tue, 10 Nov 2009 01:56:00 +0000</pubDate>
<dc:creator>irwanprabowo</dc:creator>
<guid>http://irwanprabowo.wordpress.com/2009/11/10/install-oracle-10g/</guid>
<description><![CDATA[1. Jalankan setup.exe terlebih dahulu lalu akan terlihat gambar disebelah kiri (Select I nstallation]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div style="text-align:justify;">
<div class="separator" style="clear:both;text-align:center;"><a href="http://irwanprabowo.wordpress.com/files/2009/11/ora1.jpg" style="margin-left:1em;margin-right:1em;"><img alt="" border="0" src="http://irwanprabowo.wordpress.com/files/2009/11/ora1.jpg?w=300" /></a></div>
<p>
<div style="text-align:center;"></div>
<div style="text-align:justify;">1. Jalankan setup.exe terlebih dahulu lalu akan terlihat gambar disebelah kiri (Select I nstallation Method). Ada dua pilihan Basic Installation da n Advanced Installation. Pilih Basic dan tipe installation enterprise edition apa bila anda mau settingan default. Lalu arahkan directory tempat menginstall. Pada saat menginstall anda bisa mendapatkan database default bawaan oracle dengan cara klik tanda create starte database. kemudian klik next.</p>
</div>
</div>
<div style="text-align:justify;"><a href="http://irwanprabowo.wordpress.com/files/2009/11/ora2.jpg"><img alt="" border="0" src="http://irwanprabowo.wordpress.com/files/2009/11/ora2.jpg?w=300" /></a></p>
<p>
<div style="text-align:justify;"></div>
<div style="text-align:justify;">2. Setelah itu Oracle akan melakukan check list seperti gambar disamping (Product-Specific Prer equisite Checks) secara otomatis mulai dari cek network sampai dengan oracle base location. Tunggu hingga proses pengecekan selesai. Setelah itu klik next.</div>
</div>
<p>
<div style="text-align:justify;"><a href="http://irwanprabowo.wordpress.com/files/2009/11/ora3.jpg"><img alt="" border="0" src="http://irwanprabowo.wordpress.com/files/2009/11/ora3.jpg?w=300" /></a></p>
<div style="text-align:justify;">3. Pada tahap ini (Summary) Oracle akan mengumpulkan data-data yang akan diinstall mulai dari Source tempat install, languages yang diinstall, Space requirement dll. Klik tombol install untuk melanjutkan.</div>
</div>
<p>
<div style="text-align:justify;"><a href="http://irwanprabowo.wordpress.com/files/2009/11/ora4.jpg"><img alt="" border="0" src="http://irwanprabowo.wordpress.com/files/2009/11/ora4.jpg?w=300" /></a></p>
<div style="text-align:justify;">4. Pada tahap ini mulai instalasi Oracle Database 10g. Tunggu hingga proses complete / finish. Anda bisa membuat kopi dan makan snack &#8230; sambil menunggu proses instalasi selesai. Setelah itu proses Copying database files. Tunggu hingga selesai.</div>
</div>
<p>
<div style="text-align:justify;"><a href="http://irwanprabowo.wordpress.com/files/2009/11/ora6.jpg"><img alt="" border="0" src="http://irwanprabowo.wordpress.com/files/2009/11/ora6.jpg?w=300" /></a></p>
<p>
<div style="text-align:justify;">5. Pada tahap ini (Database Configuration Assistant) disini kita harus mengingat url yang diberikan untuk contoh diatas http://irwan:1158/em (untuk masuk ke enterprise manager)</div>
<p></div>
<div style="text-align:center;"><a href="http://irwanprabowo.wordpress.com/files/2009/11/ora7.jpg"><img alt="" border="0" src="http://irwanprabowo.wordpress.com/files/2009/11/ora7.jpg?w=300" /></a></div>
<div style="text-align:justify;">
<div style="text-align:left;"></div>
<p>6. Pada tahap ini dinamakan password management dimana untuk setting account dan password. Pada tahap sebelumnya oracle telah memberitahu bahwa untuk account sys, system, scott masih terlock. Untuk membuka account kita harus menghilangkan tanda cek list di lock account. Apabila anda tidak memasukkan password di masing-masing account. Maka untuk semua account yang sudah unlock akan sama passwordnya yang mana password sesuai pada tahap 1(lihat gambar 1)  waktu kita install. Setelah itu klik ok.</p>
</div>
<div style="text-align:justify;"><a href="http://irwanprabowo.wordpress.com/files/2009/11/ora8.jpg"><img alt="" border="0" src="http://irwanprabowo.wordpress.com/files/2009/11/ora8.jpg?w=300" /></a></p>
<div style="text-align:justify;">7. Tahap ini merupakan tahap terakhir (End of installation) dimana kita harus mengingat settingan untuk isqlplus, dba isqlplus, dan em. Semoga berhasil.</div>
<div style="text-align:justify;">Untuk contoh diatas :</div>
<div style="text-align:justify;">em        : http://irwan:1158/em</div>
<div style="text-align:justify;">isqlplus : http://irwan:5560/isqlplus</div>
<div style="text-align:justify;">dba       : http://irwan:5560/isqlplus/dba</div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ORA-01555: snapshot too old: rollback segment number 11 with name "_SYSSMU11$" too small]]></title>
<link>http://notakerjaku.wordpress.com/2009/11/09/ora-01555-snapshot-too-old-rollback-segment-number-11-with-name-_syssmu11-too-small/</link>
<pubDate>Mon, 09 Nov 2009 16:36:36 +0000</pubDate>
<dc:creator>notakerjaku</dc:creator>
<guid>http://notakerjaku.wordpress.com/2009/11/09/ora-01555-snapshot-too-old-rollback-segment-number-11-with-name-_syssmu11-too-small/</guid>
<description><![CDATA[Error occurs during export dumpfile:- ORA-01555: snapshot too old: rollback segment number 11 with n]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style="text-decoration:underline;">Error occurs during export dumpfile:-</span></p>
<p><span style="color:#000000;"><strong>ORA-01555: snapshot too old: rollback segment number 11 with name &#8220;_SYSSMU11$&#8221; too small</strong></span></p>
<p><span style="text-decoration:underline;">How to solve:</span></p>
<p>- increase undo_retention to 36 hours</p>
<p>SQL&#62; <em><strong>ALTER SYSTEM SET UNDO_RETENTION = 129600;</strong></em></p>
<pre><em><strong> </strong></em></pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Changing Default Listener Port In Oracle]]></title>
<link>http://oralog.wordpress.com/2009/11/09/changing-default-listener-port-in-oracle/</link>
<pubDate>Mon, 09 Nov 2009 11:58:24 +0000</pubDate>
<dc:creator>Emrah Becer</dc:creator>
<guid>http://oralog.wordpress.com/2009/11/09/changing-default-listener-port-in-oracle/</guid>
<description><![CDATA[            In Oracle, listeners run on port 1521 as a default. As everyone knows this standard port]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>  <br />
         In Oracle, listeners run on port 1521 as a default. As everyone knows this standard port, an attack to your database will be performed on that port by a hacker. Changing this default port will make your database more secure. Yes, a hacker still may find your database port by scanning all ports respectively but this action (port scanning) will be detected by your IDS (intrusion-detection system) or IPS (intrusion prevention system) and you will be able to take required actions.</p>
<p>Here are the steps to change your default oracle listener port:</p>
<p><strong>Step 1: Create A Listener On A New Port</strong></p>
<p>* Find your listener.ora file which resides under $ORACLE_HOME/network/admin/ .This file is responsible for holding definitions of your listeners.<br />
Locate your current listener definition and change the port. For example I choose port 1645 for my database:</p>
<p><span style="color:#008000;">my_listener  =<br />
  (DESCRIPTION_LIST =<br />
    (DESCRIPTION =<br />
      (ADDRESS = (PROTOCOL = TCP)(HOST = &#60;my_host&#62;)(PORT = 1645))<br />
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))<br />
    )<br />
  )</span></p>
<p>* Now add a tnsnames entry to your tnsnames.ora file, which resides in the same directory as listener.ora file. This file is responsible for holding net service names and is used for resolving tns names.</p>
<p><span style="color:#008000;">listening_endpoint_1645 = (ADDRESS = (PROTOCOL = TCP)(HOST = &#60;my_host&#62;)(PORT = 1645))</span></p>
<p>* Restart Your Listener With New Port:</p>
<p><span style="color:#0000ff;">$ lsnrctl stop  my_listener<br />
$ lsnrctl start  my_listener</span></p>
<p><strong>Step 2: Present Your New Listener To Your Instance</strong></p>
<p>* Listeners have to be aware of services and instances running on that host so that they can forward client connection requests to relevant instances. For that reason, instances locate the listeners on that host and give them the information they need every 60 seconds. PMON (process monitor) process is responsible for carrying this information that instances supply to listeners. This is called dynamic service registration. </p>
<p>But how will the instance know where the listener is located?  You have to tell instance where listener is located manually by setting the LOCAL_LISTENER parameter.</p>
<p><span style="color:#0000ff;">$ sqlplus / as sysdba<br />
sql&#62; alter system set LOCAL_LISTENER = &#8216; listening_endpoint_1645&#8242; scope=both;</span></p>
<p>* Now your instance is aware of location of the listener that is running. But it may take up to 60 seconds for PMON process to carry instance information to the listener. If you want this to happen immediately you can manually trigger service registration.</p>
<p><span style="color:#0000ff;">$ sqlplus / as sysdba<br />
sql&#62; alter system register ;</span></p>
<p>** Now your instance has registered with the listener. You can verify it by running the command below:</p>
<p><span style="color:#0000ff;">$ lsnrctl status my_listener</span></p>
<p><span style="color:#008000;">LSNRCTL for Linux: Version 10.2.0.4.0 &#8211; Production on 09-NOV-2009 11:55:21</span></p>
<p><span style="color:#008000;">Copyright (c) 1991, 2007, Oracle.  All rights reserved.</span></p>
<p><span style="color:#008000;">Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=&#60;my_host&#62;)(PORT=1645)))<br />
STATUS of the LISTENER<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Alias                        my_listener<br />
Version                   TNSLSNR for Linux: Version 10.2.0.4.0 &#8211; Production<br />
Start Date                09-NOV-2009 11:52:55<br />
Uptime                     0 days 0 hr. 2 min. 25 sec<br />
Trace Level             off<br />
Security                  ON: Local OS Authentication<br />
SNMP                     OFF<br />
Listener Parameter File   /opt/oracle/app/oracle/product/10.2.0/db/network/admin/listener.ora<br />
Listener Log File             /opt/oracle/app/oracle/product/10.2.0/db/network/log/my_listener.log<br />
Listening Endpoints Summary&#8230;<br />
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=&#60;my_host&#62;)(PORT=1645)))<br />
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))<br />
Services Summary&#8230;<br />
Service &#8220;katalogDBXDB&#8221; has 1 instance(s).<br />
  Instance &#8220;katalogDB&#8221;, status READY, has 1 handler(s) for this service&#8230;<br />
Service &#8220;my_service&#8221; has 1 instance(s).<br />
  Instance &#8220;katalogDB&#8221;, status READY, has 1 handler(s) for this service&#8230;</span></p>
<p><span style="color:#008000;">The command completed successfully</span></p>
<p>* As you see, your listener knows which services and instances are available.</p>
<p><strong>Step 3: Route All Your Clients To Your New Address</strong></p>
<p>* Now your database is listening on port 1645 instead of 1521. All your clients have to adapt to new settings by changing their connection strings. They have to explicitly set the port to 1645. As a DBA it is your responsibility to coordinate the changes on clients.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Upgrading To Oracle Patchset Update 2]]></title>
<link>http://oralog.wordpress.com/2009/11/05/upgrading-to-oracle-patchset-update-2/</link>
<pubDate>Thu, 05 Nov 2009 08:18:10 +0000</pubDate>
<dc:creator>Emrah Becer</dc:creator>
<guid>http://oralog.wordpress.com/2009/11/05/upgrading-to-oracle-patchset-update-2/</guid>
<description><![CDATA[                       A patchset update (PSU) is a collection of both security and non-security pat]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>         <br />
             A patchset update (PSU) is a collection of both security and non-security patches. They are published quarterly. There will be totally 4 psu published in a year. It is recommended by Oracle to install PSU&#8217;s when they are announced.  Here are the steps to upgrade to oracle patchset update 2 .</p>
<p><strong>Step 1: Downloading PSU</strong></p>
<p>* Login to your Metalink account =&#62; Patches &#38; Updates =&#62; Advanced Search<br />
* On Advanced Search Page click the flashlight icon near &#8220;Select a Product or Product Family&#8221; and a new popup page will appear.<br />
* On the popup page choose &#8220;Database &#38; Tools&#8221; from Search Dropdown and click Go.<br />
* Results will be displayed in a table. Choose &#8220;Oracle Database Family&#8221;<br />
* Now we are back at the Advanced Search Page. Select the release of your database. It should be &#8220;Oracle &#8220;.<br />
* On the Classification dropdown list choose &#8220;Recommended&#8221; and click Go.<br />
* You must see a couple of results. We are looking for the PSU for database with a description Oracle Database Family: Patch DATABASE PSU .<br />
(INCLUDES CPU)</p>
<p>- As you may have noticed Critical Patch Updates (CPU) are now included in PSU&#8217;s. Oracle recommends to install only PSU&#8217;s. No need to install CPU&#8217;s separately.<br />
- Every PSU has a version. The PSU released by October-2009 is version 2. The next PSU&#8217;s version will be 3. When you apply the PSU to your database, the fifth number of your database&#8217;s version will show the PSU version. For ex: if your database is 10.2.0.4, after applying pathset update, your db version will be CALLED 10.2.0.4.2 . Yes your database will only be CALLED 10.2.0.4.2. You may think of it as a virtual version. When you query v$version you will still see the old version without a fifth number.</p>
<p><strong>Step 2: Upgrade Your Opatch To Latest Version</strong></p>
<p>- PSU&#8217;s can not be applied with the standard version of opatch. You need to upgrade your opatch version to latest release. For ex: for database 10.2.0.4 you must have at least opatch 10.2.0.4.7 . For your database release, refer to README file of your PSU.</p>
<p>- If you already have an up-to-date version of Opatch you may skip this step and jump to step 3.</p>
<p>* Login to Metalink =&#62; Patches &#38; Updates =&#62; Simple Search<br />
* In the textbox near &#8220;Patch Number/Name&#8221; write 6880880, choose your platform and click Go.<br />
* From the table choose the appropriate version of Opatch depending on your database version. For ex: If your database version is 10.2.0.4 choose Opatch version 10.2.<br />
* Click on the floppy disk icon to download the setup file.<br />
* Copy the zip file to $ORACLE_HOME.</p>
<p><span style="color:#0000ff;">$ cp &#60;zipped_file&#62; $ORACLE_HOME</span></p>
<p>* Simply unzip the zip file under $ORACLE_HOME</p>
<p><span style="color:#0000ff;">$ unzip &#60;zipped_file&#62;</span></p>
<p>* Now your Opatch is upgraded. To verify it, enter command below.</p>
<p><span style="color:#0000ff;">$ ./OPatch/opatch version</span></p>
<p>Invoking OPatch 10.2.0.4.8</p>
<p>OPatch Version: 10.2.0.4.8</p>
<p>OPatch succeeded.</p>
<p><strong>Step 3: Installing PSU</strong></p>
<p>* Backup your $ORACLE_HOME folder before you start installing PSU.</p>
<p>* Change the current user to Oracle software owner. This is usually &#8220;oracle&#8221;.</p>
<p><span style="color:#0000ff;">$ su &#8211; oracle</span></p>
<p>* Verify that oracle user has access to make, ar, ld and nm commands.</p>
<p><span style="color:#0000ff;">$ which make<br />
$ which ar<br />
$ which ld<br />
$ which nm</span></p>
<p>* verify that oracle user has access to opatch command.</p>
<p><span style="color:#0000ff;">$ which opatch</span></p>
<p>* If oracle user can&#8217;t reach opatch command, add path of opatch command to $PATH enviroment variable. Opatch command can be found under $ORACLE_HOME/OPatch/</p>
<p><span style="color:#0000ff;">$ export PATH=$PATH:$ORACLE_HOME/OPatch</span></p>
<p>* Unzip zipfile and enter to directory of patch</p>
<p><span style="color:#0000ff;">$ unzip &#60;zipped_file&#62;<br />
$ cd &#60;unzipped_folder&#62;</span></p>
<p>* Apply the patch</p>
<p><span style="color:#0000ff;">$ opatch apply</span></p>
<p>* If Opatch detects a conflicting bug and errors out, create a service request to Oracle Support. They will supply you a</p>
<p>merged patch which won&#8217;t conflict with your system.</p>
<p>* Now change user to root. Set $ORACLE_HOME environment variable and execute the psu_root.sh command.</p>
<p><span style="color:#0000ff;">$ su &#8211; root<br />
$ export ORACLE_HOME=&#60;your_oracle_home&#62;<br />
$ sh psu_root.sh</span></p>
<p>* Patching binary files is completed. Now we have to load some sql scripts to our database and execute them.</p>
<p><span style="color:#0000ff;">$ cd $ORACLE_HOME/rdbms/admin<br />
$ sqlplus /nolog</span></p>
<p><span style="color:#0000ff;">SQL&#62; CONNECT / AS SYSDBA<br />
SQL&#62; STARTUP<br />
SQL&#62; @catbundle.sql psu apply<br />
SQL&#62; QUIT</span></p>
<p>* The sql script above will leave log files under &#8220;$ORACLE_HOME/cfgtoollogs/catbundle/&#8221; having a format like</p>
<p>catbundle_PSU__APPLY_.log<br />
catbundle_PSU__GENERATE_.log</p>
<p>You can examine the relevant log files for errors.</p>
<p>* In this step we will recompile all views in database. If you have done this process before you can skip this step.</p>
<p><span style="color:#0000ff;">$ cd $ORACLE_HOME/cpu/view_recompile<br />
$ sqlplus /nolog<br />
SQL&#62; CONNECT / AS SYSDBA<br />
SQL&#62; @recompile_precheck_jan2008cpu.sql<br />
SQL&#62; QUIT</span></p>
<p><span style="color:#0000ff;">$ cd $ORACLE_HOME/cpu/view_recompile<br />
$ sqlplus /nolog<br />
SQL&#62; CONNECT / AS SYSDBA<br />
SQL&#62; SHUTDOWN IMMEDIATE<br />
SQL&#62; STARTUP UPGRADE<br />
SQL&#62; @view_recompile_jan2008cpu.sql<br />
SQL&#62; SHUTDOWN;<br />
SQL&#62; STARTUP;<br />
SQL&#62; QUIT</span></p>
<p>* Commands above will create a log file in current directory named &#8220;vcomp__.log&#8221;</p>
<p>* As a final step execute statements below.</p>
<p><span style="color:#0000ff;">$ cd $ORACLE_HOME/rdbms/admin<br />
$ sqlplus /nolog<br />
SQL&#62; CONNECT / AS SYSDBA<br />
SQL&#62; @utlrp.sql</span></p>
<p>* Now patching is done. I hope you don&#8217;t encounter any problem during these steps.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Import dan Export File Dump Oracle 10g Dengan Datapump]]></title>
<link>http://bambangpdp.wordpress.com/2009/11/04/export-file-dump-oracle-10g-dengan-datapump/</link>
<pubDate>Wed, 04 Nov 2009 13:58:13 +0000</pubDate>
<dc:creator>bpdp</dc:creator>
<guid>http://bambangpdp.wordpress.com/2009/11/04/export-file-dump-oracle-10g-dengan-datapump/</guid>
<description><![CDATA[Tulisan ini sekedar tips kecil untuk mempermudah kalau anda ingin mengekspor suatu file dump di Orac]]></description>
<content:encoded><![CDATA[Tulisan ini sekedar tips kecil untuk mempermudah kalau anda ingin mengekspor suatu file dump di Orac]]></content:encoded>
</item>
<item>
<title><![CDATA[Backup and Recovery of OCR Demo Part -2 ]]></title>
<link>http://oracledbavideos.wordpress.com/2009/11/03/backup-and-recovery-of-ocr-demo-part-2/</link>
<pubDate>Tue, 03 Nov 2009 16:41:25 +0000</pubDate>
<dc:creator>Ritesh Das</dc:creator>
<guid>http://oracledbavideos.wordpress.com/2009/11/03/backup-and-recovery-of-ocr-demo-part-2/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/rASvag4m01g&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/rASvag4m01g&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
