Home » Posts tagged 'DBA'

Tag Archives: DBA

Offline Reorg or Online Reorg ? Which one ?

Salah satu tugas seorang DBA adalah melakukan optimasi dan tuning performance database server yang dimaintain. Salah satu cara yang bisa dilakukan untuk tuning performance adalah melakukan reorganize tabel dan atau index. Reorganize tabel atau index dimaksudkan untuk mengatur kembali urutan data yang ditulis didalam tabel atau index. Dalam melakukan reorganize tabel atau index terdapat pilihan untuk melakukannya dalam keadaan offline dan keadaan online.

Reorganize dalam keadaan offline adalah melakukan reorg dalam posisi tabel atau index tidak boleh diakses alias dibawa offline. Cara ini lebih cepat dibandingkan keadaan offline namun tabel atau index tidak bisa/boleh diakses selama kegiatan reorg berlangsung.

Sedangkan reorganize dalam keadaan online (kebalikan offline) adalah melakukan reorg dalam posisi tabel atau index boleh diakses selama kegiatan reorg berlangsung. Cara ini lebih lambat karena tabel atau index bisa saja dalam posisi diakses oleh user. Keuntungannya adalah tabel atau index masih bisa terus diakses oleh user.

Sekarang adalah menentukan kapan memakai reorganize offline dan kapan melakukan reorganize online. Semua tergantung kebutuhan Anda. Apabila tabel atau index tetap dipakai terus menerus, maka mau tidak mau Anda harus memakai reorganize online dengan konsekuensi akses ke tabel dan index lebih lambat dan proses reorg juga lebih lama. Saya pribadi lebih menyarankan untuk melakukan reorg secara offline. Selain lebih cepat, data dalam tabel atau index lebih bisa dipastikan integritasnya

Susahnya cari DBA SQL server :(

Kantor gue lagi cari DBA (https://ardhian.wordpress.com/2010/08/05/lowongan-kerja-database-administrator-pt-wings-surya/). Carinya udah dari sebelum lebaran, tapi anehnya sampe sekarang blom ada tanda-tanda bakal keisi.

Apa memang sedemikian susahnya cari DBA ? Kalo gue review lagi dari requirement-nya sih gak terlalu menuntut yang aneh-aneh. Tidak menuntut untuk jadi “superman” juga…

Ato mungkin di Surabaya dan sekitarnya udah gak ada yang berminat jadi DBA yah…?? he..he….

Well, setidaknya gue tunggu aja deh…

Lowongan Kerja : Database Administrator @ PT Wings Surya

Guys, company tempat gue sedang membutuhkan Database Administrator (DBA). Tugas utamanya adalah melakukan maintain database, check backup database, dan paling utama melakukan tuning terhadap database. Database server yang digunakan adalah Microsoft SQL Server dan Oracle. Yang lebih diutamakan adalah penguasaan SQL Server. Jadi gak nguasain Oracle juga gpp, nanti bisa dipelajari sembari berjalan.

Jadi persyaratan utamanya adalah

  • Pendidikan minimal S1
  • Wajib menguasai database M$ SQL Server (2000/2005/2008) –> harus
  • Menguasai database Oracle (optional)
  • Tekun, ulet, tidak mudah menyerah
  • Mampu belajar dengan cepat, senang mempelajari hal-hal baru
  • Mampu bekerja dibawah tekanan
  • Mampu bekerja secara team maupun individual (dengan min. supervisi)

Lalu lamaran dikirim kemana ?

Lamaran bisa dikirim ke :

HRD PT Wings Surya
Gedung Ekonomi Lt.3
Jl. Embong Malang 61-65

Apabila diterima, nanti akan bekerja bersama gue dan team gue lainnya. Jadi, gue tunggu ya…

Oracle Technical Interview

Have you been thinking about switching jobs and are uncertain about that technical interview process? Try taking my technical interview and see if you are up it.

It seems the job market is starting to move a bit. If you are uncomfortable in your current position or if you just want to test the waters, it might be time to brush off your resume and hit the road. Before you do, you should also brush up on some of your DBA skills so that you are ready for the dreaded technical interview. Here is a list of questions I think any true DBA should be able to answer. If you do not know the answers to these questions, not to fear, take a bit of time, research the answers, and then go and hit the road. Some of the questions are about you, your personality and how you conduct yourself. Other questions are technical in nature concerning Oracle and operating systems. When answering the questions, both when you go through this interview and when you are in a real interview, try to answer completely and include any real-life experiences you have. Just answering questions with a yes/no or minimum answer does not show a true interest in the field of database administration and how it can impact the company. Most people want to know how you apply the knowledge and what you have learned from it.


  1. What DBA activities did you to do today?
  2. What is your typical day like?
  3. What other parts of your organization do you interact with and how?
  4. Do you consider yourself a development DBA or a production DBA and why?
  5. Are you a nuts-n-bolts DBA or a tools-n-props DBA

Technical – Oracle

  1. Explain the difference between a hot backup and a cold backup and the benefits associated with each
  2. You have just had to restore from backup and do not have any control files. How would you go about bringing up this database?
  3. How do you switch from an init.ora file to a spfile?
  4. Explain the difference between a data block, an extent and a segment.
  5. Give two examples of how you might determine the structure of the table DEPT.
  6. Where would you look for errors from the database engine?
  7. Compare and contrast TRUNCATE and DELETE for a table.
  8. Give the reasoning behind using an index.
  9. Give the two types of tables involved in producing a star schema and the type of data they hold.
  10. . What type of index should you use on a fact table?
  11. . Give two examples of referential integrity constraints.
  12. A table is classified as a parent table and you want to drop and re-create it. How would you do this without affecting the children tables?
  13. Explain the difference between ARCHIVELOG mode and NOARCHIVELOG mode and the benefits and disadvantages to each.
  14. What command would you use to create a backup control file?
  15. Give the stages of instance startup to a usable state where normal users may access it.
  16. What column differentiates the V$ views to the GV$ views and how?
  17. How would you go about generating an EXPLAIN plan?
  18. How would you go about increasing the buffer cache hit ratio?
  19. Explain an ORA-01555
  20. Explain the difference between $ORACLE_HOME and $ORACLE_BASE.
  21. How would you determine the time zone under which a database was operating?
  22. Explain the use of setting GLOBAL_NAMES equal to TRUE.
  23. What command would you use to encrypt a PL/SQL application?
  24. Explain the difference between a FUNCTION, PROCEDURE and PACKAGE.
  25. Explain the use of table functions.
  26. Name three advisory statistics you can collect.
  27. Where in the Oracle directory tree structure are audit traces placed?
  28. Explain materialized views and how they are used.
  29. When a user process fails, what background process cleans up after it?
  30. What background process refreshes materialized views?
  31. How would you determine what sessions are connected and what resources they are waiting for?
  32. Describe what redo logs are.
  33. How would you force a log switch?
  34. Give two methods you could use to determine what DDL changes have been made.
  35. What does coalescing a tablespace do?
  36. What is the difference between a TEMPORARY tablespace and a PERMANENT tablespace?
  37. Name a tablespace automatically created when you create a database.
  38. When creating a user, what permissions must you grant to allow them to connect to the database?
  39. How do you add a data file to a tablespace?
  40. How do you resize a data file?
  41. What view would you use to look at the size of a data file?
  42. What view would you use to determine free space in a tablespace?
  43. How would you determine who has added a row to a table?
  44. How can you rebuild an index?
  45. Explain what partitioning is and what its benefit is.
  46. You have just compiled a PL/SQL package but got errors, how would you view the errors?
  47. How can you gather statistics on a table?
  48. How can you enable a trace for a session?
  49. What is the difference between the SQL*Loader and IMPORT utilities?
  50. Name two files used for network connection to a database.

Technical – UNIX

  1. How do you list the files in an UNIX directory while also showing hidden files?
  2. How do you execute a UNIX command in the background?
  3. What UNIX command will control the default file permissions when files are created?
  4. Explain the read, write, and execute permissions on a UNIX directory.
  5. What is the difference between a soft link and a hard link?
  6. Give the command to display space usage on the UNIX file system.
  7. Explain iostat, vmstat and netstat.
  8. How would you change all occurrences of a value using VI?
  9. Give two UNIX kernel parameters that effect an Oracle install
  10. Briefly, how do you install Oracle software on UNIX.

I hope that these interview questions were not too hard. Remember these are “core” DBA questions and not necessarily related to the Oracle options that you may encounter in some interviews. Take a close look at the requirements for any job and try to extract questions that they may ask from manuals and real life experiences. For instance, if they are looking for a DBA to run their databases in RAC environments, you should try to determine what hardware and software they are using BEFORE you get to the interview. This would allow you to brush up on particular environments and not be caught off-guard. Good luck!

source : http://www.databasejournal.com/features/oracle/article.php/3085171

Instalasi SAP R/3 4.70 200 Application Server on Linux

Pada artikel ini, saya akan memberikan step by step untuk instalasi application server sistem SAP R/3 menggunakan OS Linux. Kenapa memakai Linux ? Bukannya lebih enak pakai Windows ? Ada beberapa hal yang menjadi pertimbangan bagi saya kenapa memakai Linux antara lain :

  1. Database Instance yang akan dipakai adalah Oracle dengan platform AIX (UNIX proprietary dari IBM). Antara AIX dan Linux, sama-sama mesin UNIX jadi kompatibilitasnya akan lebih terjaga daripada memakai Windows.
  2. Linux bersifat free dan open source. Dengan sifatnya itu, saya lebih mudah untuk melakukan tuning dan mencari referensi di Internet.
  3. Komunikasi antara Linux dan AIX akan menggunakan NFS, sedangkan Windows dan AIX akan menggunakan SAMBA.
  4. Mesin Linux lebih stabil,handal, dan yang terpenting adalah virus-immune.
  5. Linux juga lebih murah dalam hal maintenance, kebutuhan hardware, dibandingkan menggunakan Windows (harus ada lisensi) dan AIX (dalam hal lisensi dan hardware).

Pemilihan distro Linux yang akan dipakai bebas. Saya lebih menyukai distro yang bisa memakai konsep LVM (Logical Volume Management) sehingga saya bisa melakukan pemeliharaan space logical volume lebih mudah. Saya akan mencoba menerangkan menggunakan mesin Redhat. Saya pribadi sudah mencoba menggunakan SuSE juga. Perbedaan utama diantara keduanya adalah masalah default file system yang digunakan. Redhat menggunakan ext3, sedangkan SuSE menggunakan reiserfs.

Keunggulan ext3 dan reiserfs adalah kemampuan untuk melakukan manajemen size logical volume online. Jadi kita dapat dengan mudah menambah ukuran logical volume tanpa harus melakukan unmount pada logical volume tersebut.

Kita mulai saja ya…

1. Instalasi OS

Saat instalasi OS, siapkan partisi yang cukup untuk instalasi SAP. Tabel pada attachment berikut (Disk)berikut akan memberikan penjelasan setting partisi menggunakan LVM.

2. Instalasi Central Instance

Karena kita akan menggunakan Database Instance yang ada pada mesin AIX 64 bit, maka kita harus melakukan instalasi Central Instance. Instalasi paket Central Instance di Linux ini untuk mendapatkan file-file executable dari SAP kernel for Linux.

Set environment yang dibutuhkan untuk menjalankan sapinst antara lain :


SAPINST_JRE_HOME=/opt/[location of java runtime environment]

DISPLAY=[IP_Address of Windows Client]:0.0


Untuk pengujian, jalankan command xclock pada console. Jika muncul gambar jam analog, berarti environment sudah diset dengan benar. Jika belum muncul, periksa kembali value setiap variabel environment Anda.

Masuk ke dalam direktori sapinst. Jalankan command sapinst pada console.

Pilih Install Central Instance.

Isi informasi untuk SAP System ID (SAPSID) dan Instance Number. Sesuaikan dengan informasi yang ada pada Database Instance di AIX.

Isi informasi Database ID (DBSID) dan Database Host.

Biarkan informasi secara default. Hal ini kita lakukan karena memang server ini hanya akan digunakan sebagai application server.

Pilih No LDAP jika Anda tidak menggunakan fasilitas LDAP pada network Anda.

Pastikan posisi SAP Mount Directory ada pada /sapmnt. Tidak ada salahnya Anda memeriksa kembali apakah direktori tersebut sudah ada.

Pastikan informasi Database Schema benar. Dan jangan lupa tipe Database server yang digunakan pada AIX adalah 64 bit.

Informasi tentang group sapsys. Yang perlu diperhatikan adalah Group ID harus sama dengan Group ID pada mesin AIX (sebagai Database Servernya).

Informasi tentang group dba. Yang perlu diperhatikan adalah Group ID harus sama dengan Group ID pada mesin AIX (sebagai Database Servernya).

Informasi tentang group oper. Yang perlu diperhatikan adalah Group ID harus sama dengan Group ID pada mesin AIX (sebagai Database Servernya).

Informasi tentang user [sid]adm. Yang harus diperhatikan adalah User ID dan password harus sama dengan User ID dan password di mesin AIX.

Informasi tentang user ora[sid]. Yang harus diperhatikan adalah User ID dan password harus sama dengan User ID dan password di mesin AIX.

Perhatikan daftar direktori diatas. Direktori-direktori tersebut harus ada. Jika belum ada, buatlah sekarang juga !. Direktori yang harus ada adalah /usr/sap, /usr/sap/trans, /sapmnt, /oracle, /oracle/[SID]/920_64.

Anda harus menunjukkan lokasi SAP Kernel for Linux yang ada. Seharusnya Anda sudah menyiapkannya.

Informasi ekstraksi Oracle Client. Hilangkan tanda centang. Kita tidak akan melakukan instalasi Oracle Client sekarang.

Informasi port-port yang digunakan oleh aplikasi SAP. Port-port berikut tidak boleh digunakan oleh aplikasi lain, yaitu 36[system number], 33[system number], 32[system number], 47[system number], dan 48[system number]. Silakan edit file /etc/services.

Informasi nama listener dan port yang digunakan oleh listener. Pastikan port tersebut tidak digunakan oleh aplikasi lain.

Tunjukkan lokasi IGS_SOFT.

Rangkuman informasi instalasi Central Instance. Periksa kembali dan Anda masih bisa meng-klik tombol back jika masih ada yang belum sesuai.

Instalasi central instance sedang berjalan.

Selamat!!Instalasi central instance berhasil. Kita sudah berada di separuh jalan. Silakan break dulu…nikmati kopi panas dan pisang goreng Anda…:)
3. Instalasi Dialog Instance

Set environment yang dibutuhkan untuk menjalankan sapinst antara lain :


SAPINST_JRE_HOME=/opt/[location of java runtime environment]

DISPLAY=[IP_Address of Windows Client]:0.0


Untuk pengujian, jalankan command xclock pada console. Jika muncul gambar jam analog, berarti environment sudah diset dengan benar. Jika belum muncul, periksa kembali value setiap variabel environment Anda.

Pastikan antara mesin Linux dan mesin AIX saling kenal. Lakukan penambahan IP Address dan hostname Linux pada mesin AIX dan sebaliknya.

Dari mesin AIX melalui NFS, sharing direktori /sapmnt/[SID]/global dan /sapmnt/[SID]/profile. Dari mesin Linux, mount direktori tersebut dengan mount point yang sama.

Screen pemilihan instalasi. Pilih Non-Unicode_Install Dialog Instance.

Informasi tentang Central Instance. Ingat !! informasi instance number dan instance host adalah yang ada di mesin AIX.

Informasi Database ID (DBSID) dan Database Host.

Informasi instance host parameter. Biarkan default.

Pilih No LDAP jika Anda tidak menggunakan LDAP pada jaringan.

Lokasi SAP Mount Directory ada di /sapmnt. Pastikan direktori ini ada.

Perhatikan informasi Database Schema dan tipe Database server. Jangan lupa bahwa Database server yang kita pakai adalah 64 bit.

Perhatikan daftar direktori diatas. Direktori-direktori tersebut harus ada. Jika belum ada, buatlah sekarang juga !. Direktori yang harus ada adalah /usr/sap, /usr/sap/trans, /sapmnt, /oracle, /oracle/[SID]/920_64.

Anda harus menunjukkan lokasi SAP Kernel for Linux yang ada. Seharusnya Anda sudah menyiapkannya.

Sekaranglah saatnya kita melakukan instalasi Oracle Client. Beri tanda centang pada pilihan ekstrak oracle client.

Informasi port-port yang dipakai SAP. Seharusnya sudah disiapkan pada saat instalasi Central Instance.

Setting nama listener dan port yang digunakan nama listener.

Lokasi IGS_SOFT.

Rangkuman Instalasi Dialog Instance.

Instalasi Dialog Instance sedang berjalan.

Error akan keluar dikarenakan permission yang kurang pada direktori NFS /sapmnt/[SID]/profile.

Dari sisi mesin AIX, ubah dulu permission secara rekursif ke 777, command #chmod -R /sapmnt/[SID]/profile. Lanjutkan instalasinya sampai bertemu error kembali.

Error terjadi karena permission pada direktori NFS /sapmnt/[SID]/profile di mesin AIX.

Kembalikan permission ke posisi semula. Gunakan command berikut berturut-turut : #chmod -R 644 profile, #chmod 755 profile.

Error ini merupakan bug dari SAP. Silakan edit file keybd.xml. Cari keyword “ERROR” dan ubah menjadi OK. Simpan, lalu jalankan kembali instalasi lama.

Selamat !! Instalasi Dialog Instance telah selesai.

4. Selanjutnya jalankan dialog instance. Sebelumnya pastikan central instance dan database server telah berjalan di sisi mesin AIX.

Sekarang kita sudah punya application server Linux yang murah, handal dan stabil. Ada lagi yang bisa dituning, nanti kita sambung lagi. Semoga artikel kecil ini bisa menambah pengetahuan kita semua dan memajukan SAP di Indonesia. Amin…
About Penulis

Ardhian – seorang linux geeks yang saat ini bekerja sebagai Basis (Administrator sistem SAP). Saat ini juga memegang sistem HPUX dan sebagai DBA Oracle. Pengelola toko linux online (http://linux-shop.siteburg.com). Penulis merupakan konsultan freelance untuk sistem Linux, migrasi windows ke Linux, network consultant dsb. Penulis bisa dihubungi di devratt@yahoo.com.

Install Application Server SAP on Linux

Jadwal hari ini adalah install application server SAP on Linux. Yang diinstall minggu lalu, jebol di file systemnya…:(

Kita mulai aja yah..:

  1. Saya putuskan memakai SuSE Linux Enterprise Server 9 daripada memakai RHEL atau sodaranya. Pertimbangannya adalah SLES 9 sudah secara default memakai reiserfs. Sedangkan yang lain, harus install manual..lagi malezz neeh.
  2. Siapkan skema filesystem dan partisi yang akan digunakan. Untuk memudahkan penambahan size partisi, saya gunakan LVM (Logical Volume Manager) dan dukungan reiserfs yang bisa menambah/mengurangi ukuran logical volume secara online alias tanpa di-unmount. Yang artinya sistem dan aplikasi tidak harus di-down saat terjadi perubahan size logical volume.
  3. Konfigurasi LV ada pada attachment (klik here)
  4. Copy source SAP ke dalam direktori tertentu yang telah disiapkan.
  5. Jalankan instalasi Central Instance dengan posisi standalone. Tujuan instalasi central instance ini adalah untuk mendapatkan ekstrak SAP kernel for Linux. SAP kernel tersimpan pada direktori /sapmnt/[SID]/exe. Sedangkan direktori lain seperti /sapmnt/[SID]/global dan /sapmnt/[SID]/profile dapat diabaikan.
  6. Setelah CI terinstall, usahakan agar application server Linux dan database server saling kenal secara nama host dengan cara saling menambahkan nama dan IP address kedalam masing-masing /etc/hosts. Lalu mount secara NFS direktori /sapmnt/[SID]/global dan /sapmnt/[SID]/profile. Contoh command : #mount -t nfs [hostname]:/sapmnt/[SID]/global /sapmnt/[SID]/global
  7. Jalankan instalasi dialog instance [DI] seperti biasa. Anda akan bertemu beberapa error message. Tetapi tidak ada yang terlalu mengganggu. Hanya masalah ownership dan permission direktori dan file.
  8. Setelah selesai install DI, update SAP kernel dengan kernel yang sudah didownload. Usahakan agar antara SAP kernel Database Instance (di AIX) dan Application (di Linux) berada pada level yang sama.
  9. Tuning value kernel Linux, gunakan command : #echo xxxxxx > /proc/sys/kernel/shmmax
  10. Agar application server lebih kenceng lagi, naikkan value dari tmpfs.
  11. Jalankan application server.

Saya pribadi sudah mencoba 2 distro Linux sebagai application server ini, yaitu SuSE Enterprise Linux 9 dan Redhat Enterprise Linux Advanced Server 4. Keduanya bisa diperoleh dari toko linux online – Ardhian Linux Shop.

Selamat mencoba. Jika masih kesulitan, silakan hubungi saya di devratt@yahoo.com.

Thanks to :

  1. Allah SWT, atas limpahan rahmat, hidayah, dan kesehatan kepada hamba.
  2. My lovely wife, Anda Iviana Juniani, always give me inspiration and spirit.
  3. All cyber friends : Mas Aris, Gandok Crew (Simbah Kus, Ipans, Move It, Zam, Oom).
  4. Dan semua yang tidak disebutkan disini.

== Riwayat Penulis ==

Ardhian – seorang linux geeks yang telah bekerja sebagai Basis selama 1 tahun terakhir. Beliau juga bertanggung jawab terhadap sistem HPUX dan sebagai DBA Oracle 9. Selain itu, beliau bekerja juga sebagai konsultan freelance migrasi ke Linux dan open source. Memiliki toko linux online sendiri (http://linux-shop.siteburg.com). Bisa dihubungi di devratt@yahoo.com.