Cari Blog Ini

Jumat, 27 Mei 2011

Pertemuan Ke 11

Faktor yang harus diperhatikan pada saat melakukan performance tuning


Ada beberapa hal yang harus diperhatikan apabila kita akan melakukan performance tuning terhadap suatu database, hal-hal tersebut antara lain:


1. Buat kesepakatan dengan user, sampai sejauh mana user akan menerima hasil dari proses tuning yang kita lakukan terhadap suatu database. Hal ini perlu untuk kita, sebagai executor, dalam pelaksaan proses tuning dalam database. Mengapa demikian? Apabila kita melaksanakan proses tuning pada database, tentunya harapannya adalah adanya peningkatan performance dari database tersebut. Untuk itulah maka perlu adanya satu batasan berupa kesepakatan dengan user database, jangan sampai suatu proses tuning database tidak di accept oleh user karena user merasa performance database yang telah kita lakukan tuning tidak significant perubahannya.
2. Identifikasi terlebih dahulu area-area mana saja pada database yang paling critical, apabila kita tidak segera melakukan tuning terhadap database tersebut, atau dengan kata lain prioritaskan proses tuning pada area-area yang dianggap paling critical.
3. Identifikasi bottleneck yang ada dalam sebuah atau beberapa query. Biasanya hanya karena sebuah query yang jelek menyebabkan performance menjadi turun secara keseluruhan.
4. Jika memungkinkan, review terlebih dahulu design dari database yang akan kita tuning, apakah sudah bagus, sebelum kita melakukan tuning pada query-query terhadap database tersebut, karena apabila kita melakukan query tuning tetapi dari sisi design database kurang bagus, maka tuning pada query akan tidak optimal, bahkan mungkin tidak ada impact sama sekali.
5. Pelajari strategi index yang sudah berjalan pada database yang akan kita tuning, dan lakukan improvement terlebih dulu pada area index ini.
6. Jika kita rasakan index yang ada sudah optimal, lakukan identifikasi fragmentation level dari index yang ada, dan pastikan index statistic selalu up-to-date.
7. Pelajari bagaimana cara kerja query optimizer, pelajari dan test beberapa bentuk tipe JOIN.
8. Hindari penggunaan sub-query (select in select).
9. Selalu gunakan UNION ALL daripada UNION, apabila memang ada operasi yang membutuhkan UNION
10. Evaluasi penggunaan trigger yang berdampak pada performance.
11. Hindari penggunaan SELECT ...... INTO sampai dengan kita yakin bahwa user yang terhubung ke database hanya kita sendiri atau proses yang kita lakukan hanya memerlukan waktu yang tidak lama. Jika sangat terpaksa gunakan INSERT .......SELECT.
12. Gunakan SET NOCOUNT ON dalam semua modular code kita (Stored Procedure), untuk mengurangi informasi yang diberikan server ke client dan untuk mengurangi beban network.
13. Jika memungkinkan, gantu semua query yang merupakan inline query menjadi stored procedure yang berparameter
14. Jika memungkinkan, gunakan temporary table untuk mengurangi jumlah record pada saat query. Jika temporary table tersebut di join dengan permanent table, buat index di dalam temporary table tersebut.
15. Optimalkan penggunaan loop, pindahkan semua proses yang tidak memerlukan pengulangan keluar loop.
16. Jangan gunakan cursor jika memang tidak sangat terpaksa, TSQL tidak dioptimalkan untuk memproses 1 record dalam satu waktu

Pertemuan Ke 10

Tempat penyimpanan data yang sebenarnya
• Ada 3 :
Datafiles : Data aktual di database
Redo Log files :
– Komponen penting dalam recovery database (mencatat semua perubahan database)
– Perubahan dicatat dalam redo log entry
– Redo log entry dapat disimpan dalam metode archivelog à archived redo log file (bisa manual / otomatis) oleh ARCH
– Info redo log : V$LOGFILE, V$LOG, V$ARCHIVED_LOG
Control Files :
– Menyimpan informasi dimana lokasi file-file yang dibutuhkan database
– Informasi akan berubah saat menambah dan merubah struktur fisik database
– Lokasi : dalam CONTROL_FILE dalam file init.ora
– Default ada 3 buah dalam lokasi yang sama (C:\oracle\oradata\sdm)
– Penamaan cntrlndbname.ctl (nama database di DB_NAME)
– Isi : SCN, lokasi datafile, lokasi redo log file, nama database, ukuran database
– Melihat isi : V$CONTROLFILE. Terdapat 2 kolom, STATUS dan NAME. Jika nilainya tidak ada maka pada kolom status akan bernilai INVALID / NULL.
– Bisa disimpan dalam tempat yang berbeda (multiplexing control file)
File- file yang lainya
• Parameter file :
– Berisi spesifikasi instance
– Ada 2 :
– Static parameter : format dalam ini/SID/.ora. Text sederhana yang dipanggil saat database dimulai
– Dynamic parameter : file biner untuk respon perintah user
• Password file :
– Menyimpan data user dan password / user privileges utk start dan shutdown database
– Kalo dalam keadaan database mati maka bisa dicari secara offline lewat sistem operasi
• Archieved Redo Log files :
– Menggandakan online redo log file yang penuh (untuk recovery) secara offline
SGA (System Global Area / Shared Global Area)
• Menyimpan informasi database dari proses database
• Berisi data dan control information dari oracle server dalam virtual memori pada komputer yang bersangkutan
• SQL> SHOW SGA;
• Bersifat dinamis
• Ukuran dalam SGA_MAX_SIZE
• SHARED POOL
terbagi menjadi 2 :
– Dictionary cache :
menyimpan data dictionary yang sering di query (berulang2 semakin cepat). Berisi informasi tentang database files, tables, indexes, columns, users, privileges, dan objek lain
– Library cache :
Menyimpan perintah SQL dan rencana bagaimana SQL dieksekusi. Terbagi 2 yaitu shared SQL (menyimpan SQL) dan shared PL/SQL (menyimpan PL/SQL)
ukuran : dalam SHARED_POOL_SIZE dalam file init.ora
ALTER SYSTEM SET SHARED_POOL_SIXE = 64M;
• DATABASE BUFFER CACHE :
– menyimpan data hasil perintah SQL
– kalo data yang diminta berulang-ulang à kecepatan query meningkat & mempercepat perubahan data di memori
– tidak langsung disimpan dalam disk
– ukuran : dalam parameter DB_BLOCK_SIZE dan DB_BLOCK_BUFFER dalam file init.ora
– Disimpan dalam sub2 : DB_CACHE_SIZE (ukuran buffer cachenya saja, harus selalu ada dan tdk bisa di set 0), DB_KEEP_CACHE_SIZE (ukuran yg sering diminta), DB_RECYCLE_CACHE_SIZE (yang sdh terhapus)
– ALTER SYSTEM SET DB_CACHE_SIZE = 96M;
– Menampilkan V$DB_CACHE_ADVICE
• REDO LOG BUFFER :
– Catatan semua perubahan dalam database (untuk proses recovery)
– Disimpan dalam Redo Log File secara fisik
– Ukuran : dalam LOG_BUFFER dalam file init.ora
• LARGE POOL :
– Area optional dalam SGA
– Untuk memori session (UGA) untuk shared server
– I/O server processes
– Backup dan restore utk RMAN
– Pararel execution message buffers (PARALLEL_AUTOMATIC_TUNING set to TRUE)
– Ukuran dalam LARGE_POOL_SIZE
• JAVA POOL :
– Berisi java command
– Dibutuhkan saat menginstal java
– Ukuran dalam JAVA_POOL_SIZE

PGA (Program Global Area)
• Membantu proses user
• Memory tidak dapat dishare
• Menyimpan nilai variable, kolom yang diurutkan, dll
• Menyimpan nilai variable untuk perintah SQL à beda user bisa beda nilai
• Dialokasikan saat proses dibuat
• Ditutup ketika proses selesai
• Digunakan hanya oleh 1 proses
• Terdiri dari
– Private SQL Area
– Session Memory
– SQL Work Areas
Background Proses
DBWn : Database Writer
• Background proses yang menulis dari Buffer Cache ke disk (datafile)
• Penulisannya saat :
– server proses butuh ruangan di buffer cache untuk menyimpan data
– dipicu oleh LGWR
– saat timeout setiap 3 detik
– Tablespace Offline
– Tablespace read only
– Table DROP or TRUNCATE
– Tablespace BEGIN BACKUP
• Memperbolehkan sampai 20 DBWR (DBW0-DBW9 dan DBWa-DBWj)

• Ukuran : dalam DB_WRITER_PROCESSES

Pertemuan Ke 9

Database Connectivity
Koneksi database adalah sebuah fasilitas dalam ilmu komputer yang memungkinkan perangkat lunak client untuk berkomunikasi dengan perangkat lunak database server. Sambungan diperlukan untuk mengirimkan perintah dan menerima jawaban.

Sebuah database management system (DBMS) menyediakan fasilitas untuk menyimpan, mengorganisir, dan mengambil data. Sebagian besar aplikasi bisnis menyimpan data dalam database relasional. Aplikasi dapat mengakses informasi database dengan menggunakan Java Database Connectivity (JDBC) API.

Elemen – elemen dalam Database Connectivity
Database adalah repositori dimana data disimpan untuk perusahaan. Java EE mengakses aplikasi database relasional melalui API JDBC. Untuk prosedur administrasi. JDBC Connection Pool adalah sekelompok koneksi dapat digunakan kembali untuk database tertentu untuk prosedur administrasi.

Pooling Connection
Koneksi database yang terbatas dan mahal dapat memakan waktu yang tidak proposional dan lama untuk menciptakan relatif terhadap operasi yang dilakukan pada mereka. Hal ini sangat tidak efisien untuk sebuah aplikasi untuk membuat menutup koneksi database jika perlu untuk memperbaharui database.

ODBC (Open Database Connectivity)
Sebuah standar terbuka untuk konektivitas antar mesin basis data. Standar ini menyediakan API yang dapat digunakan untuk menjalankan dan mengoneksikan sebuah aplikasi dengan sbeuah sistem managemen basis data (SMBD). Pada Desainer ODBC membuatnya dengan tujuan agar ODBC terbebas dari penggunaan bahasa pemrograman tertentu, sistem manajemen basis data tertentu, dan sistem operasi tertentu.

Komponen utama ODBC

ODBC API : Sekumpulan panggilan fungsi kode – kode kesalahan dan sintaksis SQL yang mendefinisikan bagaimana data dalam sebuah DBMS diakses.
Driver basis data ODBC : driver yang mampu memproses panggilan fungsi ODBC untuk sebuah DBMS tertentu.
ODBC Driver Manager : yang bertugas untuk memuat driver basis data ODBC yang dibutuhkan oleh aplikasi.


Jadi kesimpulannya terdapat beberapa hal yang penting yang harus diperhatikan, yaitu :

Knowing the business, not only technology [fokus terhadap pemahaman tentang bisnis]
Centralized or distributed [memperhitungkan apakah menggunakan databse terpusat atau terdistribusi]
Thin client fat client [melihat apakah client yang di layani dalam kapasitas kecil atau besar]
Database gateway [melihat hubungan – hubungan (connect) dan pembatasanannya]
Network trafic [kemampuan atau kinerja dalam trafic network]
Database design [bagaimana disain dari database tersebut]

Pertemuan Ke 8

Data Management and Distribution
Data Movement
- Load adalah import->memasukkan data dari transaksi ke dalam tabel, berupa insert data baru/update.Isi database sesuai kebutuhan
- Unload adalah export->dari database ke data file
Export & Import
Memiliki kesamaan dengan load maupun unload akan tetapi berbeda fungsinya
Limit : membatasi berupa record yang kita tulis / pindahkan
Contoh: Limit 200
Sample (20.5)
when (salary>500)
When-->perpindahan data yang menggunakan syarat
* Masalah hak akses : pada load & unload harus ada " grant "
EXP_DATABASE
IMP_DATABASE
Bulk Data Movement
ETL : merupakan software / teknologi lain yang disertakan untuk movement digunakan untuk membuat datawarehouse, misal pengkodean item
Replication propagation : sama-sama dari source database ke target database ( mencatat log )

ROW
Row size = Length (Col1) +..........+ Length (Coln)

PAGE
Row perpage= Storage Capacity/Row size

Table
Table size(kb) = (number of rows/row perpage)x capacity

Distributed Dbase
-Autonomi->Independent
-Isolation->Stand Alone
-Transparency->All User

Terpusat->mudah dimaintenance
Terpisah->harus jalan syncronisasi

Pertemuan Ke 7

STORAGE MANAGEMENT
ORACLE INSTANCE
Oracle database selalu diasosiasikan dengan Oracle Instance. Saat database dijalankan pada database server, oracle mengalokasikan memory yang disebut System Global Area (SGA) dan menjalankan beberapa oracle background process. Kombinasi dari SGA dan Oracle processes disebut dengan Oracle Instance. Memory dan proses dari instance mengatur data dalam database secara efisien dan dapat melayani satu atau lebih user yang menggunakan basis data ini.
MEMORY STRUCTURE
Memory di Oracle digunakan untuk menyimpan:
- Kode program yang akan dieksekusi
- Informasi tentang session
- Data yang akan dieksekusi
- Informasi yang di share dan dikomunikasi oleh proses yang lain. Misalnya locking information
- Cache information

Dasar struktur memory yang berhubungan dengan oracle:
- Software code ares
Bagian dari memory yang digunakan untuk menyimpan kode program yang akan dieksekusi. Perintah/kode oracle disimpan di software code areas yang biasanya berada di tempat yang berbeda-beda sesuai dengan program dari user. Ukuran software codes areas statis, berubah jika dilakukan installasi ulang atau update.
- System Global Area (SGA)
Memory Structure dasar yang berhubungan dengan Oracle instance adalah :
- System Global Area (SGA) : di-share oleh semua server dan background process
- Program Global area (PGA) : Private untuk masing-masing server dan background process. Satu PGA untuk masing-masing proses.
—Merupakan memory area yang meliputi data dan control informasi untuk instance.
—SGA mencakup data struktur berikut ini:
-Database buffer cache
-Redo log
-Shared pool
-Large
-Java pool
Steams pool
- Program Global Area (PGA)

—Program Global Area (PGA) adalah memory yang terdiri dari data dan control information untuk masing-masing proses server.
—Proses dalam oracle server memberikan layanan bagi client. Masing-masing proses server memiliki PGA sendiri-sendiri yang dibuat saat proses di server dimulai.
—PGA diakses secara eksklusif oleh server proses
—PGA ditulis dan dibaca hanya oleh kode oracle.
- Sort area
SPACE MANAGEMENT
Manajemen ASM
—Automatic Storage Management (ASM) yang dimiliki oleh Oracle 10g ini dapat meningkatkan kemampuan dalam memanajemen dan menkonsolidasikan antar data dalam basis data/ database.
ASM menyediakan fungsionalitas sebagai berikut:
—Mengatur kelompok disk, disebut disk group.
—Mengelola disk redundansi dalam suatu disk group.
—Menyediakan dekat-optimal I / O menyeimbangkan tanpa tuning manual.
—Memungkinkan manajemen objek database tanpa menyebutkan mount point dan nama file.
—Mendukung file ukuran besar.
Tablespace
Oracle mempunyai definisi tablespace yang sama dengan DB2.
—Tablespace merupakan bagian dari arsitektur logic database Oracle [secara sekilas, struktur logik database Oracle adalah tablespace, segment, extent, dan block].
—Tablespace digunakan sebagai tempat (storage) bagi segment (object database)
Terdapat 4 jenis:
—System tablespace
Menyimpan informasi operasional dan menentukan atribute dari data yang disimpan seperti tipe data, besar maksimum dari sebuah column, pemilik data dan lain-lain.
—SYSAUX tablespace
Sebagian besar dari tool yang digunakan untuk menjalankan aktifitas database menyimpan object dan informasi di dalam tablespace ini. Ketika database dibentuk, tablespace ini wajib dibuat.
—Default temporary tablespace
Berguna untuk penampungan sementara dari hasil output resultset atau untuk mendukung aktifitas seperti sorting. Sangat berguna jika memory yang ada tidak cukup untuk menjalankan sebuah operasi.
—Undo tablespace
Berguna untuk menyimpan row yang diubah namun belum dicommit atau diroll back.
Datafiles
—Sebuah tablespace di database Oracle terdiri dari satu atau lebih datafiles fisik. Suatu datafile dapat dikaitkan dengan hanya satu tablespace dan hanya satu database.
Oracle menciptakan datafile untuk tablespace dengan mengalokasikan jumlah tertentu pada ruang disk
Redo Logs
Redo Log File merupakan jenis berkas yang sangat penting. Berkas Redo Log File yang rusak kadang membuat database sama sekali tidak bisa dibuka. Redo Log Files ini pada umumnya memuat transaksi transaksi, namun dalam jangka waktu yang tidak terlalu lama.
Fungsi Redo logs
—Recover database
—Update standby database
—Mendapatkan informasi tentang History penggunaan database
memiliki tingkat status:
—CURRENT : status ini berarti kelompok redo log files sedang ditulis oleh LGWR ( Log Writer ) untuk merekan data – data redo untuk semua transaksi yang terjadi di basis data.
—ACTIVE : Status ini berarti kelompok Redo Log Files masih memuat data – data redo yang diperlukan untuk pemulihan instance.
—INACTIVE : Checkpoint yang dibicarakan dia atas sudah dieksekusi, yang berarti kelompok Redo Log Files yang bersangkutan tidak diperlukan lagi dalam pemulihan instance, dan dapat digunakan sebagai kelompok CURRENT
Rollback Segment
Rollback segment dipakai untuk menyimpan data sebelum transaksi. Sehingga selama transaksi itu belum di commit, session lain masih dapat melihat data yang original. Hal ini untuk menjaga consistency. Data tersebut juga dipakai untuk me rollback transaksi jika user mengeluarkan perintah ROLLBACK
Archive log
Archived log digunakan untuk recovery database. Bila kita me-restore dari hasil offline backup, maka data yang bisa diambil adalah data ketika offline backup dilakukan. Jadi, seandainya full backup dilakukan sebulan yang lalu, maka data yang bisa diselamatkan (diambil) adalah data sebulan yang lalu tersebut.
Berbeda dengan jika kita me-restore dari hasil online backup. Setelah file backup di-restore, kemudian archived log yang terbentuk setelah online backup (yang berisi rekaman transaksi itu) di-apply kembali (istilahnya recovery). Sehingga kita bisa mendapatkan data sampai archived log terakhir, atau sesaat sebelum terjadi bencana (kerusakan database).

Pertemuan Ke 6

DISASTER PLANNING
Langkah-langkah dalam perencanaan database :
Mendefinisikan kebutuhan (Requirements definition) adalah proses mengidentifikasi & mendokumentasikan data yang dibutuhkan oleh user dalam sebuah database untuk memenuhi kebutuhan informasi saat ini dan masa yang akan datang.

2. Jenis informasi yang harus diperhatikan:

1) Informasi yang menjelaskan struktur data, seperti entitas, atribut, dan relasi. Informasi ini biasanya dinyatakan dalam bentuk grafik seperti entity-relationship diagrams (E-RD).

2) Informasi yang menggambarkan aturan atau batasan yang dapat menjaga integritas data. Biasanya disebut aturan bisnis (business rules), batasan-batasan ini harus di tuangkan dalam data dictionary/directory (atau repository) suatu organisasi.
Disaster recovery planning
merupakan serangkaian kegiatan yang bertujuan untuk mengurangi kemungkinan dan membatasi kerugian akibat bencana pada proses bisnis yang penting. Bencana yang dimaksud bisa berupa banjir, kebakaran, gempa bumi, ataupun virus, kegagalan harddisk, serangan dari cracker, dan lain sebagainya. Tentunya bencana seperti ini sangat mengancam data atau informasi perusahaan atau perorangan
Disaster Recovery Plan
Disaster recovery plan merupakan program yang tertulis dan telah disetujui, diimplementasikan, serta dievaluasi secara periodik, yang menfokuskan pada semua aksi yang perlu dilakukan sebelum, ketika, dan setelah bencana. Rencana ini disusun berdasarkan review secara menyeluruh terhadap bencana-bencana yang potensial, yang mencakup lingkup fasilitas, lokasi geografis, atau industri. Rencana ini juga merupakan pernyataan dari tanggapan yang tepat untuk proses pemulihan yang bersifat efektif terhadap biaya dan cepat. Oleh karena itu, rencana yang dibuat haruslah mengidentifikasi di mana, yang mana, dan bagaimana record-record dapat diperoleh.
Hal-hal Lain Yang Perlu Diperhatikan Dalam Menyusun Disaster Recovery Plan :
Berikut adalah daftar hal-hal lain yang perlu dipertimbangkan ketika membuat Information Disaster Recovery Plan sebuah perusahaan :
•memastikan keamanan para pekerja dan pengunjung pada lokasi di mana mereka berada;
•melindungi record dan informasi penting;
•memastikan keamanan fasilitas dan lokasi-lokasi bisnis;
•memastikan ketersediaan material, perlengkapan, dan peralatan;
•mengurangi risiko bencana yang diakibatkan oleh kesalahan manusia atau kegagalan peralatan yang digunakan;
•data-data dan fasilitas penting lainnya telah ditata dengan baik sehingga memudahkan proses pemulihan ketika bencana alam terjadi;

Prasyarat Dalam Pembuatan Disaster Recovery Plan

Prasayarat 1: Informasi dipandang sebagai Sumber Daya Perusahaan
Prasyarat 2: Asuransi Yang Cukup
Prasyarat 3: Program Record Yang Penting
Prasyarat 4: Jadwal Penyimpanan Record
Prasyarat 5: Sistem Klasifikasi dan Penggunaan Kembali Record
Prasyarat 6: Program Sekuritas Yang Cukup
Back Up Database
Backup mengacu pada pembuatan salinan data dari database, sehingga salinan ini dapat digunakan untuk mengembalikan data semula dari peristiwa kehilangan data ataupun kerusakan data.
Alasan Melakukan Back Up
Melindungi database dari berbagai jenis kegagalan, antara lain:
•Statement failure:
•User error
•Network failure
•Instance failure
•Media failure
Jenis Backup
•Physical Back up
•Logical Back up

Jenis-jenis Recovery
1.User-Managed Recovery
2.RMAN Recovery

Pertemuan Ke 5

APPLICATION PERFORMANCE AND DATABASE SECURITY

Application Performance

Pengertian application performance adalah optimalisasi penggunaan sumber daya untuk meminimalkan pertentangan, memungkinkan beban kerja kemungkinan terbesar untuk diproses.

Perbandingan Antara Dua Database :
a. My SQL
Merupakan sebuah system manajemen database. Database adalah sekumpulan data yang terstruktur. Untuk menambah, mengakses dan memproses data yang tersimpan pada database komputer, kita membutuhkan manajemen database seperti MySQL.
MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu, source programnya pun dapat anda dapatkan secara gratis dan syntax-syntaxnya mudah untuk dipahami dan tidak rumit serta pengaksesan database dapat dilakukan dengan mudah dan cepat.

+ Kelebihan My SQL:
1. Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows, MacOS dl.
2. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
3. Memiliki lebih banyak type data seperti : signed/unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM.
4. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
5. Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.
6. Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
7. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
8. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama.
9. Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
10. Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan ‘Host-Based’ Verifikasi.



+ Kekurangan My SQL :
Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual.
Data yang ditangani belum begitu besar.

b. OracleDatabase Storage Engine ini bisa menyimpan data sampai ukuran tera byte, dan database oracle juga meyediakan yang gratisan versi home edition untuk sekedar yang ingin belajar oracle aja sedangkan untuk versi enterprisenya kita harus bayar. Untuk bagian query-nya oracle tetap menggunakan standard bahasa SQL. Oralce bisa digunakan diberbagai platform seperti unix, windows, atau yang lainnya.
Untuk masalah keamanan oracle bisa dibilang baik. Untuk masalah perfomance oracle kebanyakan bermain di harddisk jadi kalau anda ingin menggunakan oracle anda harus menyediakan space harddisk yang cukup besar. Untuk backup oracle mempunyai extensi sendiri namanya file DMP.
Kelebihan Oracle :
1. Ketika kita mengakses database dan kemudian ada kejadian seperti listrik mati misalnya maka data yang sudah kita simpan tidak rusak/hilang.
2. Database Clusters, dengan menggunakan teknologi Real Application Clusters (RAC). Salah satu fungsi dari RAC adalah memberikan perlindungan terhadap kelangsungan data dalam perusahaan sehingga apabila terjadi crash pada salah satu server database, maka tidak akan mempengaruhi kinerja perusahaan. Hal ini disebabkan karena teknologi RAC memungkinkan untuk membuat beberapa database server menjadi seolah-olah satu database server, sehingga apabila ada database server yang down, kinerja database server tersebut akan di-take over oleh server-server yang lain.
3. Row-Level Locking, fitur ini dapat melakukan lock tidak hanya pada table-level saha, akan tetapi dimungkinkan untuk melakukan lock lebih jauh lagi sampai pada row-level. Sehingga user-user dapat melakukan akses data dalam suatu tabel secara bersamaan, lebih cepat dan lebih akurat.
4. Data Partitioning, Oracle memungkinkan kita untuk melakukan partisi ke suatu tabel maupun indeks. Hal ini akan dapat meningkatkan kemampuan kita untuk dalam melakukan manajemen data.
5. Oracle OLAP (Integrated Online Analytical Processing), Oracle memiliki fungsi OLAP (yang sebelumnya hanya dapat kita temui pada OLAP database) yang terintegrasi dengan baik ke dalam relational database, sehingga kita tidak memerlukan database lain selain Oracle itu sendiri.
6. Virtual Private Database, fitur ini memberikan dan meningkatkan fleksibilitas jaminan security sampai pada row-level security. Hal ini akan membuat aplikasi kita menjadi semakin aman sewaktu kita melakukan transaksi melalui Internet.
7. Intelegent Self-Managing, untuk para DBA, fitur ini akan membuat proses database tuning dan database manajemen menjadi lebih mudah.
8. Flashback Query, fitur ini memungkinkan kita untuk melihat status data kita mundur beberapa waktu (flash back) sampai batas yang kita tentukan, sehingga apabila terjadi kesalahaan data pada waktu yang lalu, maka kita dapat melakukan koreksi tanpa harus melakukan database recovery.
9. Oracle Data Mining & Data Warehousing, fitur ini memberikan kemudahan bagi perusahaan yang ingin men-develop aplikasi Business Intellegent yang bertujuan untuk membantu eksekutif perusahaan dalam menentuksan strategi perusahaan berdasarkan analisis data yang di-generate oleh Oracle Data Mining.

Security Database

Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan. Ancaman adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi system serta secara konsekuensi terhadap perusahaan/organisasi yang memiliki system database. Keamanan database tidak hanya berkenaan dengan data yang ada pada database saja, tetapi juga meliputi bagian lain dari system database, yang tentunya dapat mempengaruhi database tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat lunak, orang dan data.
Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seseorang yang mempunyai hak untuk mengontrol dan mengatur database biasanya disebut Administrator database. Seorang administratorlah yang memegang peranan penting pada suatu system database, oleh karena itu administrator harus mempunyai kemampuan dan pengetahuan yang cukup agar dapat mengatur suatu system database

Senin, 25 April 2011

Pertemuan Ke 4

Resume Database Administrator M4
System & Database Perfomance
Data Dictionary
Perintah tersebut diatas akan menampilkan semua nama user dan privilagenya. Disana kita juga dapat melihat tabel apa saja pada setiap user serta apapun yang berhubungan dengan sistem. Terdapat beberapa perintah untuk menampilkan user dalam sebuah database, dengan beberapa kegiatan user itu sendiri, yaitu seperti :
select * from dictionary
Jika menggunakan printah diatas, maka hasil perintah ini akan menghasilkan tampilan semua user yang ada dalam database tersebut beserta privilege atau hak masing - masing dari user tersebut. Selain itu, fungsi dari perintah select *from dictionary adalah untuk menampilkan banyak tabel - tabel apa saja pada user tersebut dan semua hal yang berhubungan dengan sistem.

Dalam data dictionary, jika dalam melakukan kegiatan pencarian menggunakan kata - kata atau embel - embel dba_ maka jika dijalankan, akan muncul tampilan penting yaitu semua hal yang berhubungan dengan database. Jika anda menggunakan embel - embel lainnya seperti user_ maka informasi yang akan tampil hanyalah informasi user yang sedang login pada saat ini. Tetapi jika anda menggunakan embel - embel all_ maka kita dapat melihat informasi user apa saja yang telah login dalam database ini, serta hak yang diberikan setiap user yang login pada saat itu.

Role
Role adalah penggabungan beberapa fungsi yang dapat dipanggil dengan membuat satu paket atau menjadi satu kesatuan untuk dijadikan sebuah tampungan beberapa fungsi tersebut dan dapat dipanggil sesuai dengan kebutuhan sekarang dan nanti.

Untuk lebih jelasya dapat melihat ilustrasi dari gambar dibawah ini :


Dari gambar diatas dapat dilihat bahwa, jika User A dan User B yang masing - masing user tersebut dapat melakukan select, update, dan juga delete dan mempunyai hak dan grand dalam mengakses Tabel A. Maka setidaknya untuk mennyederhanakan sebuah proses tersebut dibutuhkan suatu hal untuk meringkasnya yaitu Role. Kita contohkan saja jika kita membuat select, update, dan delete untuk Tabel A dan kemudian kita konekkan dengan setiap user yang membutuhkan perintah - perintah tersebut terhadap role yang sudah dibuat .

Jika dilihat system perfomance memiliki unsur - unsur penting seperti :

Enviroment

* OS
* Allied Agent
* Hardware Configuration
* Component of DBMS, fokus terhadap Arsitektur

DBMS Instalation & Configuration

* Type
* Memory Usage
* Data Cache
* "Open" Dbase Object
* Database Log
* Locking & Contention

System Monitoring

* Last Run - Packet Sun
* Current Sun - Packet Error
* Second - Total Read
* CPU Busy - Total Write
* I/O Busy - Total Errors
* Idle - Connection
* Packet Received



Optimasi Database
Biasa dilakukan pada database besar yang memiliki banyak data, tetapi sangat merepotkan apabila data yang terdapat dalam database tersebut sedikit. Karena memang penggunaannya untuk manajemen data yang banyak. Unsur - unsur dari optimasi database adalah :

* Partitioning
* Raw Partitioning vs File System
* Indexing
* Denormalization
* Clustering
* Interleaving Data
* Free Space
* Compression
* File Placement & Alloation
* Page Size
* Reorganization

Pertemuan Ke 3

Resume DBA 102-M3
Data Avaibility dan Performance Management
Data Avaibility
Definisi : Ketersediaan data pada database yang diakses oleh semua user dan dapat diperoleh setiap saat ketika dibutuhkan.
Empat Komponen Data Avaibility :
• Manageabilit : kemampuan untukmembuat dan memelihara lingkungan yang efektif yang memberikan layanan kepada pengguna
• Recoverability : kemampuan untuk membangun kembali layanan jika mengalami kesalahan atau kegagalan komponen
• Reliability : kemampuan untuk memberikan pelayanan pada tingkat tertentu untuk jangka waktu lain
• Serviceability : kemampuan untuk menentukan adanya masalah, diagnosamasalah, dan memperbaiki masalah
Data Avaibility dipengaruhi oleh :

* Bentuk Relasi tabel data
* Hak akses user
* Tersedia bandwidth antara perangkat dan koneksi jaringan media
* Mekanisme untuk ketersediaan tinggi dan keamanan mereka sendiri dan aksesibilitas
* Prioritas dan jenis data yang akan dibuat tersedia
* Pemulihan peran dan tanggung jawab
* Jenis file system dan tingkat akses
* Jenis penyimpanan / pengambilan perangkat atau media termasuk hardware dan software
* Service Level Perjanjian antara entitas yang bertanggung jawab dan dipengaruhi
* Pengolahan overhead dari mekanisme yang terkena dampak
* Disaster Recovery

Performance Management
Definisi : Kemampuan dalam menanggapi kinerja sebuah aplikasi, server, jaringan, dekstop, maupun database itu sendiri.
- Mengoptimalkan sumber daya untuk meningkatkan kemampuan melewatkan data, memperkecil terjadinya crash dalam suatu proses serta menangani beban.
Lima faktor yang mempengaruhi Kinerja Database :
(1) Workload (Beban Kerja). Biasanya seperti transaksi online, banyak proses yang menumpuk yang sedang berjalan, ad hoc query, analisis data warehouse, dan sistem command yang datang beberapa kali.
(2) Throughput. Throughput merupakan kemampuan sebuah computer dalam memproses data.
(3) Resources (Sumber Daya). Ex. Software and Hardware
(4) Optimization (Optimasi). Optimasi database, memformula query dls.
(5) Contention (Kres).


Oracle 10 versi 2.0 release 1.
Listener : mendengarkan / menerima respon dari client.
Dedicated : 1 request langsung dilayani
Share : -1 respon bisa melayani beberapa request
- Database disetting bisa melayani beberapa request apabila sumber daya memungkinkan.
Flash area recovery : tempat menyimpan data-data
Redo : untuk mencatat transaksi apa yang disimpan di Buffer
Sekpoint : memberi tanda bahaya-bahaya tertentu

Pertemuan Ke 2

Resume DBA -102-M2
Database Change Management
Database Change Management adalah proses menentukan apa yang harus dilakukan perubahan ke database, menentukan perubahan tersebut, untuk mengevaluasi dampak dari perubahan dan kemudian mengubah penyebaran mereka. Perubahan pada skema database mungkin diperlukan untuk beberapa alasan, termasuk persyaratan bisnis baru, merger, perubahan undang-undang dan meminta perubahan lingkungan. Skema perubahan mungkin melibatkan perubahan pada dua objek database logis (misalnya, tabel, kolom, kunci primer dan kendala) dan objek database fisik (misalnya, database, ruang meja, kolam buffer dan indeks). Mengubah objek database, terlepas dari jenis, sering kali tidak operasi sepele. Perubahan sering berdampak pada objek tergantung dan kadang-kadang data yang mendasarinya. Proses analisis dan memelihara ketergantungan secara tradisional memakan waktu dan rawan kesalahan.
Typical database environment






Dengan paket standar pelayanan dan diperpanjang, lingkungan database dibagi minimal 3: pengembangan, QA (quality assurance) dan produksi. Satu atau lebih skema / database dapat digunakan dalam 3 lingkungan database diberikan tanpa biaya tambahan yang disediakan aplikasi tersebut tetap dalam ruang parameter pengalokasian dan penggunaan CPU, memori dan I / O. Jika perlu, dapat dimasukkan contoh database tambahan (pelatihan, prototipe) dalam paket biaya tambahan.

Pertemuan Ke 1

Resume DBA
Pengertian Database dan RDBMS

* Database merupakan sekumpulan data yang saling berhubungan ( terdapat relasi satu sama lain ).
* RDBMS merupakan perangkat lunak yang mengatur dan mengorganisasi penyimpanan database kedalam komputer.

RDBMS memiliki ruang lingkup ( kapasitas ) yang besar, bisa mengatur hak akses, bisa mendistribusikan suatu data dan tautannya terpusat, sertamemiliki kemampuan sinkronasi & memback up suatu data. Selain itu, persamaan antara RDBMS dan DBMS adalah sama - sama digunakan untuk mengontrol dan memanage suatu database system.

DATABASE ADMINISTRATROR (DBA)


Database Maker merupakan orang yang bertugas untuk menyediakan penanganandan kemampuan multimedia yang sangat baik, serta memungkinkan semua jenis data multimedia yang akan disimpan, dicari, diambil, dan dimanipulasi.


Database administrator (DBA) harus diposisikan dalam manajemen menengah puncak dalam sebuah organisasi. Karena DBA sangat bertanggung jawab secara teknis dan menjalankan tugas tugas seperti yang tersebut dibawah ini :

* Medisain dan Mengorganisasi
o Data Definition
o Fisik Struktur
o Data Dictionary / Direktori

* User Interface
o Penyediaan dokumentasi
o Berhubungan dengan Pengguna / Education
o GUI

* Keamanan
o Operasi Normal
o Kegagalan Kondisi
o Kompatibilitas dengan non-DBMS
o Uji Database

* Kinerja Sistem
o Timing
o Performance tuning

Management Dicipline sebagai Database Administrator:

1. Reaktif : yang berarti menghadapi masalah dengan fokus .
2. Proaktif : Menghindari dari masalah yang akan datang dengan mengembangkan dan menerapkan blueprint untuk mengaplikasikan database.

Selain hal - hal diatas, Lead Manajer Account Customer DBA juga memberikan sebuah hadiah yang besar untuk para DBA lepas pantai, seperti :
- Oracle Certified Master dan Oracle Certified.
- Kepemimpinan profesional tingkat DBA.
- Onshore DBA dengan pengalaman rata - rata lebih dari 15 tahun dalam: Oracle advanced database administration, High availability technologies with RAC and Data Guard, Advanced backup and recovery with RMAN, Database and application tuning, Sarbanes-Oxley implementations, Oracle Applications implementations, Real-world consulting combined with Oracle University instructing experience.

Resume Mata Kuliah DBA

Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14