Database Connectivity – DBA – 102 – M9

DATA CONECTIVITY

Database Connectivity merupakan sebuah fasilitas komputer yang memungkinkan server client untuk berkomunikasi dengan  database server pengguna lain. 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.
Hal yang perlu diperhatikan dalam Database Connectivity:
– Knowing the business, not only technology
– Centralized or Distributed
– Thin client or fat client
– Database gateway
– Network Trafic
– Database design
– New technology (XML, Java, etc)
– Webbase or dekstop
    * Need provider?
    * Availability?
    * Reduce down time : – runtime maintenance
                                  – feature DBMS to promote
                                  – automate DBA function
                                  – high speed function
                                  – technology hardware
DBA Tools :
– Modeling & design
– Change management
– Table Editor
– Performance management
– Backup and recovery
– PT warehouse BI
– Programing & development
– Miscellaneous
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

Data Movement & Distribution Database – DBA – 102 – M8

Data Movement
Proses data movement ini adalah memindahkan (dapat diakatakan membackup juga) data – data dari database yang berupa data, indeks, grand, schema, dan lain – lain ketempat baru. Tempat baru ini bisa ke dalam database baru atau memang untuk dibackup saja.

Data movement terdiri dari 2 bagian besar yaitu :
  • Load & Upload [difokuskan untuk memindahkan data yang berupa indeks atau data itu sendiri alias isi dari database tersebut]
  • Export & Import [memindahkan data secara lengkap, mulai dari grand, schema, dan seluruhnya]
Jika dilihat, load tersebut behubungan dengan import dan upload berhubungan dengan export
Load berfungsi untuk memasukan data / transaksi ke sebuah table. Dapat dikatakan juga insert, replace, atau update. Sedangkan upload berfungsi untuk membuat dari data table ke fisik / file. Kelemahan load adalah dalam prosesnya bisa saja terjadi data yang tidak berpindah secara sempurna.
Upload Parameter
  • Limit [membatasi beberapa record]
  • Sample [mencari sample yang telah ditentukan]
  • When [berdasarkan kondisi]
Dan pada upload, hanya satu parameter saja yang dapat berjalan alias tak bisa berjalan bersamaan apabila parameternya lebih dari 1.
Bulk Data Movement (Software Pendukung)
  • ETL [Extrat Transform Load], software yang focus terhadap data warehouse
  • Replication and Propagation, software yang memonitoring source database dan target, dan yang dihasilkan oleh software ini adalah pencatatatn log.
Perlu diperhatikan juga hak akses dalam load & unload, import & export minimal adalah akses select.
Distribution Database
Dalam distribution database terdapat 3 istilah yaitu :
  • Autonomi [idependent], untuk tabel umum akses yang diberikan berbeda dari setiap user.
  • Isolation [stand alone], untuk tabel khusus (privacy) itu terpisah dari user.
  • Transparancy [all user], akses tabel terpisah dari user tetapi user masih dapat mengaksesnya.
Lawan dari database terdistribusi adalah database terpusat. Server yang terpusat memang diuntungkan dalam sisi maintenance sedangkan server terdistribusi lebih rumit dalam proses integrasinya.
Jika database terdistribusi paling tidak membutuhkan Sumber Daya Manusia [SDM] yang baik, network yang lebih baik karena permasalahan network itu sangat fatal dan biasanya permasalahannya tidak jauh – jauh dari permasalahan traffic network. Dan yang tidak boleh dilupakan adalah request dan respon.

Storage Management – DBA – 102 – M7

Kebanyakan kita mungkin tidak tahu persis perbedaan instance dan database. Banyak yang mengira bahwa instance itu ya database. Bagi yang lebih kritis lagi lantas bertanya-tanya, kalau gitu apa gunanya Oracle memakai istilah instance dan database?
Kalau kita membuat database dengan DBCA, by default nama instance dan nama database itu memang sama. Apakah nama database yang saat ini kita maintain itu sama dengan nama instance?
  • Untuk mengecek nama instance, pastinya semua DBA Oracle sudah tahu. Value dari ORACLE_SID adalah nama dari instance juga.
  • Untuk mengecek nama database, gunakan command select VALUE from v$parameter where NAME=’db_name’
Instance adalah struktur proses dan memory yang menjalankan sistem database (DBMS, database management system). Sedangkan database adalah sekumpulan file yang menyimpan data (yang terdiri atas datafile, controlfile, dan redo log file).
Istilah Database Oracle yang sering kita pakai itu merujuk pada database management system (DBMS) Oracle. Ngucapin database management system mungkin terlalu panjang. Ngucapin DBMS mungkin kok tidak enak. Jadi gampang-gampangan, sebut saja database.


Memory Structure
Memory di Oracle digunakan untuk menyimpan:
  • Kode program yang akan dieksekusi
  • Informasi tentang session
  • Data yang akan dieksekusiInformasi yang di share dan dikomunikasi oleh proses yang lain. Misalnya locking information
  • Cache information


Dasar struktur memory yang berhubungan dengan oracle:
  • Software Code Area
  • System Global Area (SGA)
  • Program Global Area (PGA)
  • Sort area


Software Code Areas
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.
System Global Area (SGA) merupakan memory area yang meliputi data dan control informasi untuk instance.
Program Global Area (PGA) adalah memory yang terdiri dari data dan control information untuk masing-masing proses server.
Space Management
Automatic Storage Management (ASM) yang dimiliki oleh Oracle 10g ini dapat meningkatkan kemampuan dalam memanajemen dan menkonsolidasikan antar data dalam basis data/ database.
Fungsi dari Automatic Storage Management (ASM)
Melakukan manajemen penyimpanan data pada storage dengan mendefinisikan storage berdasarkan grup-grup tertentu untuk mengurangi adanya redundansi data, khususnya ketika seorang DBA melakukan penyimpanan data.
Automatic Storage Management (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
Tablespace merupakan bagian dari arsitektur logic database Oracle (secara sekilas, struktur logik database Oracle adalah tablespace, segment, extent, dan block).
Terdapat 4 jenis Tablespace
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.
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.
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.
Archive Logs
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.

Disaster Recovery Planning – DBA – 102 – M6

Disaster recovery planning

Disaster (bencana) didefinisikan sebagai kejadian yang waktu terjadinya tidak dapat diprediksi dan bersifat sangat merusak. Pengertian ini mengidentifikasikan sebuah kejadian yang tiba-tiba, tidak diharapkan, bersifat sangat merusak, dan kurang perencanaan. Bencana terjadi dengan frekuensi yang tidak menentu dan akibat yang ditimbulkannya meningkat bagi mereka yang tidak mempersiapkan diri terhadap kemungkinan-kemungkinan timbulnya bencana. Berbagai bencana yang mungkin terjadi antara lain adalah:
  1. Bencana alam disebabkan oleh kondisi geografis dan geologis dari lokasi
  2. Kebakaran disebabkan oleh faktor lingkungan dan pengaturan sistem elektrik yang dapat menyebabkan korsleting
  3. Kerusakan pada jaringan listrik disebabkan oleh sistem elektrik
  4. Serangan teroris disebabkan oleh lemahnya keamanan fisik dan non fisik data center
  5. Sistem atau perangkat yang rusak terkait dengan kesalahan manajemen pengawasan perangkat
  6. Kesalahan operasional akibat ulah manusia
  7. Virus misalkan disebabkan oleh kesalahan pemilihan anti virus yang digunakan
Disaster Recovery menurut terjemahan aslinya mengandung arti pemulihan bencana. DR jika dikaitkan dengan dunia bisnis, akan membawa kita pada definisi #Disaster Recovery Planning (DRP) dan #Business Continuity Plan (BCP).Bisnis akan bergantung pada informasi yang tersebar dan aplikasi yang memproses informasi tersebut, sehingga aplikasi penopang utama yang spesifik menjadi sangat kritikal sehingga ketika terjadi gangguan hanya beberapa saat maka dapat melumpuhkan kelangsungan bisnis perusahaan. Oleh karenanya, beberapa perusahaan mempunyai suatu arahan yang menjamin availabilitas kelangsungan bisnis ketika terjadi suatu bencana/gangguan yang tidak direncanakan atau sudah direncanakan. Arahan ini yang dituangkan dalam #Disaster Recovery Planning (DRP).
Perencanaan database adalah proses pembuatan atau pengembangan struktur database yang sesuai dengan data yang dibutuhkan oleh pengguna atau user.

Perencanaan database memiliki langkah – langkah penting yaitu :

  • Mendefinisikan kebutuhan (Requirement definition)
  • Jenis informasi yang harus diperhatikan (Informasi yang menjelaskan struktur data dan menggambarkan aturan atau batasan yang dapat menjaga integritasi data)
Fokus dalam mendefinisikan kebutuhan :
  • Mendefinisikan lingkup database
  • Memilih metodelogi
  • Mengidentifikasi pandangan user
  • Model data struktur
  • Model data constraints
  • Mengidentifikasi kebutuhan operasional
Disaster Recovery Planning
Yaitu merupakan serangkaian kegiatan yang bertujuan untuk mengurangi dan membatasi resiko – resiko buruk (bencana) dan nantinya membuat kerugian – kerugian pada proses bisnis yang ada. Dapat dikatakan bahwa proses ini adalah sebuah proses penanggulangan – penganggulangan atau rencana untuk menanggulangi suatu bencana pada proses bisnis.
Beberapa Keuntungan dari Disaster Recovery Planning
  • Memperbaiki system proteksi terhadapat setiap aset – aset penting yang dimiliki oleh perusahan tersebut.
  • Membuat system proteksi infomasi atau data – data perusahaan lebih efektif.
  • Mengurangi resiko bencana akibat kesalahan manusia
  • Memperbaiki manajemen perusahaan
Backup Database
Yaitu suatu proses yang mengacu kepada pembuatan salinan data dari database, sehingga salinan ini dapat digunakan untuk mengembalikan data semula dari peristiwa kehilangan data ataupun kerusakan data.

Application Performance & Database Security – DBA – 102 – M5

Application Performance adalah optimalisasi penggunaan sumber daya untuk meminimalkan pertentangan, memungkinkan beban kerja kemungkinan terbesar untuk diproses.
Jangan over-tune  terbaik untuk menghentikan tuning ketika kinerja mencapai tingkat layanan standar untuk pengguna bisnis yang bersedia membayar.
Tetap Fokus à Sebagai DBA, Anda harus memahami tujuan untuk setiap tugas Anda melakukan
dan tetap terfokus pada hal itu.

Jangan panik à DBA diharapkan untuk mengetahui segala sesuatu tentang DBMS ia berhasil. Seorang DBA yang baik tahu di mana harus mencari jawaban dan yang untuk meminta bantuan Berkomunikasi dengan jelas  à  DBA harus menjadi pusat komunikasi yang, koordinasi diskusi dan beban kerja antara pengguna bisnis, programer, manajer, dan DS.

Menerima kenyataan à Banyak organisasi bicara tentang menjadi proaktif tetapi dalam kenyataannya sangat sedikit memiliki kepentingan dalam menghentikan masalah kinerja sebelum terjadiMembandingkan 2 database yaitu My SQL dan Oracle .
A. My SQL: Adalah sebuah system manajemen database. Database adalah sekumpulan data yang terstruktur. Data-data itu dapat suatu daftar belanja yang sangat sederhana sampai ke galeri lukisan atau banyaknya jumlah informasi pada jaringan perusahaan. 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. Oracle :Man this is a great database. Database 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.

Database Security
Keamanan Data base
Prinsip Hak Minimum
1.                  Hanya menginstall software yang diperlukan oleh mesin
2.                  Aktifkan layanan yang hanya diperlukan oleh mesin
3.                  Berikan OS dan akses database hanya pada para pengguna yang membutuhkan akses
4.                  Membatasi akses ke root atau account administrator
5.                  Membatasi akses ke account SYSDBA dan SYSOPER
6.                  Membatasi jumlah user dengan hak akses administrator
Menerapkan Prinsip Hak Minimum
1.                  Melindungi data dictionary
2.                  Menolak hak akses yang tidak perlu dari PUBLIC
3.                 Membatasi akses direktori-direktori pada sistem operasi yang dapat diakses oleh user
4.                 Membatasi jumlah user dengan hak akses administrator
5.                 Menbatasi autentikasi user pada database   secara remote
Melindungi Data Dictionary
Directionary dengan memastikan parameter inisialisasi berikut di set FALSE
            07_DICTIONARY_ACCESSIBILITY = FALSE;
Konfigurasi ini mencegah user dengan ANY TABLE system privilege mengakses table dasar dari data dictionary
Nilai FALSE juga mencegah user SYS dari logging selain SYSDBA
Default nilai parameter ini FALSE. Jika di set TRUE, maka harus ada alasan yang benar-benar sesuai.
Menolak Hak Akses dari Luar yang Tidak Diperlukan
1.      Menolak hak akses yang tidak perlu dan role-role dari database server dengan group PUBLIC
2.      Mengeksekusi paket-paket yang harus tolak dari PUBLIC, antara lain :
ü    UTL_SMTP
ü    UTL_TCP
ü    UTL_HTTP
ü    UTL_FILE
Membatasi User dengan Role DBA
Menolak hak akses seperti berikut :
1.      Menolak hak akses system dan object secara penuh
2.      Koneksi hak akses SYS, SYSDBA dan SYSOPER
Membatasi Autentikasi User pada Database  Secara Remote
1.      Autentikasi secara remote hanya digunakan ketika anda memberikan kepercayaan kepada client dengan autentifikasi sewajarnya
2.      Proses autentifikasi remote :
ü    User mengakses database dari luar
ü    Remote autentikasi dilakukan oleh User
ü    User masuk ke database
3.      Instance diinisialisasi parameter dengan setting default
Mengelola Akun User Standar
1.             DBCA membatasi dan mengunci semua account, kecuali:SYS, SYSTEM, SYSMAN, DBSNMP
2.             Untuk membuat database secara manual, kunci dan batasi akun yang tidak digunakan
Implementasi  Fitur- Fitur Keamanan Password Standar
Fitur-Fitur Standart Keamanan
Memberikan Fungsi Verifikasi Password
Untuk memberikan fungsi password verifikasi lakukan kebutuhan password antara lain :
1.      Panjang minimun 4 karakter
2.      Password tidak boleh sama dengan Username
3.      Password harus memiliki sedikitnya 1 huruf, 1 angka, dan 1 huruf khusus
Mengawasi Aktifitas yang Mencurigakan
Mengawasi atau mengaudit harus menyatu dengan prosedur keamanan. Berikut hal yang harus diperhatikan dalam melakukan audit dalam database Oracle antara lain :
1.      Melakukan Pengauditan Wajib
2.      Standart Database Auditing
3.      Fine-Granted Auditing (FGA)
Standart Database Auditing
Diaktifkan melalui parameter AUDIT_TRAIL
1.      NONE       : Mematikan kumpulan history dari audit
2.      DB                        : Mengaktifkan Audit dari data yang ada di database
3.      OS             : Mengaktifkan audit dari OS
Yang dapat di audit yaitu :
1.                  Event Login
2.                  Hak Akses System
3.                  Hak Akses Object
Fine-Granted Auditing (FGA)
Mengawasi data yang diakses berdasarkan isi
Audit SELECT, INSERT, UPDATE, DELETE
Dapat dihubungkan ke tabel atau view

Menghubungkan dengan paket DBMS_FGA

System And Database Performance – Resume DBA – 102 – 4

Data Dictionary 
Select * From 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.

Jika Data Dictionary dalam pencarian dengan memberikan “dba_” maka akan menampilkan semua yang berhubungan dengan database.

Jika “all_” maka kita akan dapat melihat user siapa saja yang sedang login saat itu dan grand yang diberikan kepada setiap user.

Jika “user_” maka kita dapat melihat user yang sedang login saja.

Misalkan ada user DBA, HR, SCOTT (seperti pada gambar 1) dan dimasing-masing user tersebut mempunyai objek sendiri-sendiri. Tabel setiap userpun dapat disamakan persis nama dan isinya (Struktur dan Objeknya).

Role
Role adalah penggabungan beberapa fungsi yang dapat dipanggil dengan membuat satu paket tempat untuk dijadikan tampungan beberapa fungsi tersebut dan dapat dipanggil sesuai dengan kebutuhan.
Misalnya, dari gambar diatas adalah jika terdapat 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 meringkas ebuah proses tersebut kita membutuhkan Role. Katakan saja kita membuat select, update dan delete untuk Tabel A dan kemudian kita konekkan setiap user yang membutuhkan perintah tersebut terhadap role yang sudah dibuat.
Optimasi Database
  • Partioning
  • Raw Partition Vs File System
  • Indexing
  • Denormalization
  • Clustering
  • Interleaving Data
  • Free Space
  • Compression
  • File Placement & Allocation
  • Page Size
  • Reorganization

System dan Database Performance

Data Dictionary
Select * From 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.
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.
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

Data Availability dan Performance Management

Data Availability adalah ketersediaan data pada database yang diakses semua user dan dapat diperoleh setiap saat ketika dibutuhkan. Data Availability dimaksudkan sebagai suatu kesiapan data dimana ketika user membutuhkan data tersebut maka data tersebut merespon secara langsung.

Komponen – Komponen Data Availability

  • Manageabilityyaitu kemampuan untuk membuat dan memelihara lingkungan yang efektif yang memberikan layanan kepada pengguna.
  • Recoverability yaitu kemampuan untuk membangun kembali layanan jika mengalami kesalahan atau kegagalan komponen.
  • Reliabilityyaitu kemampuan untuk memberikan pelayanan pada tingkat tertentu untuk jangkan waktu lain.
  • Serviceabilityyaitu kemampuan untuk menentukan adanya masalah, pemeriksaan secara menyeluruh, dan memperbaiki masalah itu sendiri.

Manfaat dari Data Availability

  • Dapat diakses dari jarak jauh
  • Data tersedia pada saat dibutuhkan
  • Kemampuan menangani crash agar service tetap berjalan seperti biasa
  • Pemindahan atau penghapusan data yang sudah tidak diperlukan agar menghemat tempat penyimpanan data

 

PERFORMANCE MANAGEMENT

Performance Management yaitu kemampuan dalam menanggapi kinerja sebuah aplikasi, server, jaringan, dekstop, maupun database itu sendiri.

5 Faktor yang mempengaruhi Database :

  1. Workload (Beban Kerja)  seperti transaksi online, analisis data warehouse, dan sistem command yang datang beberapa kali.
  2. Throughput merupakan kemampuan sebuah computer dalam memproses data.
  3. Resources (Sumber Daya)  contohnya : Software and Hardware.
  4. Optimization (Optimasi)  Optimasi database, memformula query dls.
  5. Contention (Kres) yaitu kondisi di mana dua atau lebih komponen dari beban kerja sedang mencoba untuk menggunakan satu sumber daya dengan cara yang bertentangan. Seiring dengan peningkatan ke-kres-an data serta penuruanan data yang melewati proses.

 

PERFORM MANAGEMENT

Perform Management terdiri dari :
  1. Monitoring
  2. Tunning
  3. Management
FAKTOR YANG MEMPENGARUHI KINERJA DATABASE
  1. Beban kerja
  2. Througput — kemampuan untuk melewatkan data.
  3. Resources — sumber daya dalam komputer
  4. Optimalization — bisa tidaknya query optimation melakukan tunning sendiri / atau bisa tidaknya menangani konflik ( kress ).

Creating the Database Environment (Pertemuan II – DBA)

Memilih dan mengistal DBMS
Salah satu tugas utama yang terkait dengan tugas DBA adalah proses memilih dan mengistal sebuah DBMS.
Banyak eksekutif bisnis dan TI profesional tanpa latar belakan manajemen database berasumsi bahwa sekali DBMS terinstal, sebagian besar pekerjaan dapat dilakukan. Memilih dan mengistal DBMS adalah paling sulit dari pekerjaan DBA karena membutuhkan banyak keahlian, pengetahuan, dan pertimbangan.

Menidentifikasikan strategi dari Organisasi DBMS
Proses memilih DBMS yang cocok tidak sesulit dulu. Banyak organisasi besar dan menengah. Siapa yang memilih dan mengistal DBMS itu? Dan mengapa ? Sebagai contoh, bagi sebuah perusahaan besar menggunakan IMS atau IDMS dan DB2 pada mainframe, Oracle dan Infomix pada beberapa server yang berbeda, UNIX, Microsoft SQL Server pada server windows NT, serta kantong produk DBMS lainnya seperti Sybase, Adabas, dan Datacom pada berbagai platform. Belum lagi setiap PC produk  single-user DBMS seperti Microsoft Access, Paradox, atau FileMaker. Didorong oleh kebutuhan bisnis atau aplikasi baru. DBA tidak memiliki kekuatan atau menolak proposal DBMS baru. Mungkin perusahaan membeli dari software paket aplikasi yang tidak berjalan di salah satu platform DBMS. Keputusan untuk membeli DBMS baru didorong oleh keinginan untuk mendukung teknologi terbaru dan terbesar.
Akibatya :
Tanpa terlebih dahulu memeriksa apakah aplikasi ini berhasil dengan menggunakan DBMS yang ada. Tidak kompatibel antara DBMS dan perlunya menambah kode aplikasi. DBMS lama tetap dan harus didukung. Ini menyulitkan pekerjaan DBA.

Memilih DBMS
Kedua vendor ini menyediakan produk-produk berkualitas DBMS, tapi dasar terinstal mereka lebih kecil dan perusahaan-perusahaan yang lebih kecil, dengan sumber daya lebih sedikit, dari IBM, Oracle dan Microsoft, sehingga ada beberapa resiko dalam memilih  DBMS dari 2 tier, bukan 1 tier.

Ketika memilih DBMS pastikan untuk mempertimbangkan kompleksitas produk. Perangkat lunak DBMS sangat kompleks dan semakin kompleks dengan setiap rilis baru. Fungsi yang digunakan harus didukung hanya dengan add-on program perangkat lunak atau independen semakin banyak ditambahkan sebagai fitur dari DBMS. Bahkan jika tidak ada persyaratan saat fitur tertentu, setelah anda menerapkan DBMS programmer dan pengembang akan menemukan  untuk menggunakan  apa saja vendor DBMS. Lebih baik untuk merencanakan dan siap daripada membiarkan fitur yang digunakan tanpa rencana untuk mendukung mereka.

Arsitektur DBMS

  • Enterprise DBMS dirancang untuk skalabilitas dan kinerja tinggi.
  • Depertemental DBMS, untuk mendukung kelompok kerja kecil-menengah dalam sebuah organisasi.
  • Personal DBMS dirancang untuk pengguna tunggal, Contoh. Microsoft Access dan Visual dBase.
  • Mobile DBMS merupakan versi khusus dari DBMS departemenal atau Enterprise.
    DBMS mobile memungkinkan database lokal akses dan modifikasi pada laptop atau p.erangkat genggam.

DBMS Clustering

  • Clustering adalah penggunaan beberapa “independen” sistem komputasi yang bekerja bersama sebagai sebuah sistem.
  • Sebuah DBMS modern clustering menawarkan dukungan untuk meningkatkan ketersediaan dan skalabilitas.
  • Dua dominan arsitektur untuk clustering  : Shared Disk dan Shared Nothing.

  • setiap sistem memiliki sumber daya sendiri swasta (memori, disk, dll).
  • Antar prosesor berkomunikasi dengan melewatkan pesan melalui jaringan yang interkoneksi komputer.
  • Permintaan dari klien akan secara otomatis diarahkan ke sistem yang memiliki sumber daya.
  • Hanya salah satu sistem cluster dapat “sendiri” dan mengakses sumber daya tertentu pada suatu waktu.
  • Dalam hal kegagalan terjadi, kepemilikan sumber daya secara dinamis dapat ditransfer ke sistem di cluster.
  • Keuntungan utama dari shared-apa clustering adalah skalabilitas.

 

 

 

 

 

 

 

 

 

 

  • Semua sistem terhubung  berbagai perangkat disk yang sama.
  • Setiap processor masih memiliki  memory pribadi, tetapi semua processor secara langsung dapat mengatasi semua disk
  • Shared-disk clustering adalah lebih cocok untuk pengolahan besar perusahaan  dalam lingkungan mainframe.

DBMS Installation

  • Setelah DBMS telah dipilih, perlu menginstalnya.
  • Sebuah DBMS adalah bagian kompleks dari perangkat lunak yang membutuhkan perencanaan di muka untuk instalasi agar sukses. Maka harus memahami persyaratan DBMS dan menyiapkan lingkungan  DBMS baru.
  • Hal pertama yang harus dilakukan bila mengistal DBMS untuk pertama kalinya adalah memahami prasyarat.

Kebutuhan Hardware

  • Setiap DBMS memiliki kebutuhan dasar CPU
  • Beberapa DBMS menentukan model perangkat keras yang diperlukan atau tidak didukung.
  • Masing-masing DBMS menawarkan berbagai “rasa” dari software mereka untuk kebutuhan tertentu.
  • Pastikan untuk memilih DBMS yang tepat untuk kebutuhan dan untuk menyesuaikan perangkat keras dengan persyaratan dari DBMS.

Kebutuhan Penyimpanan

  • Sistem katalog atau data Dictionary
  • Setiap sistem database lainnya yang dibutuhkan oleh DBMS
  • Log file yang mencatat semua perubahan
  • Startup atau kontrol file
  • Kerja file yang digunakan oleh DBMS untuk mengurutkan data dll
  • Default database yang digunakan oleh DBMS untuk struktur sistem
  • Struktur database sementara
  • Sistem file dump dan kesalahan pengolahan.
  • Database yang digunakan untuk administrasi, pemantauan, dan tuning

Kebutuhan Memory

Sebuah DBMS memerlukan memori untuk fungsionalitas dasar dan akan menggunakannya untuk proses yang paling internal seperti memelihara sistem area global dan banyak melakukan tugas.

Versi atau Release

  • Vendor biasanya membuat perbedaan antara versi dan rilis dari produk perangkat lunak.
  • Sebuah versi baru dari perangkat lunak merupakan masalah besar, dengan banyak perubahan dan fitur baru.
  • Rilis adalah versi dalam skala kecil kecil, dengan perubahan sedikit dan tidak banyak fitur baru.

Keuntungan

  • Adanya fungsi fitur baru dan hanya disampaikan dalam rilis baru.
  • Untuk aplikasi yang dibeli, vendor aplikasi mungkin membutuhkan versi  atau rilis tertentu untuk mengaktifkan fungsi tertentu di dalam aplikasi.
  • Memberikan kinerja yang lebih ditingkatkan dan ketersediaan fitur yang dapat mengoptimalkan aplikasi yang sudah ada.
  • DBMS vendor sering akan memberikan dukungan yang lebih baik dan merespon masalah lebih cepat untuk rilis baru software mereka.

Resiko

  • Upgrade DBMS biasanya mengakibatkan beberapa tingkat gangguan untuk operasi bisnis.
  • Gangguan lainnya dapat terjadi, seperti harus mengubah struktur database atau menemukan bahwa fitur yang didukung sebelumnya telah dihapus dari rilis baru
  • Biaya upgrade dapat menjadi hambatan besar untuk migrasi DBMS.
  • Ketika teknik optimasi SQL ada perubahan, ada kemungkinan bahwa rilis DBMS baru akan menghasilkan jalur akses SQL yang  lebih buruk daripada sebelumnya.
  • Produk perangkat lunak pendukung kurang memberi dukungan langsung untuk rilis DBMS baru.

Fitur dan Kompleksitas

  • Penggunaan store prosedure  dan function user-defined.
  • Semakin kompleks fitur SQL, menjadi semakin sulit untuk memastikan bahwa akses perubahan jalur tidak mempengaruhi kinerja.
  • Pemrosesan Client / Server-penggunaan jaringan dan penggunaan Multiple Tier merumitkan DBMS.
  • Integrasi dengan perangkat lunak dan infrastruktur lain dapat mempersulit migrasi.
  • Bahasa yang digunakan oleh program mungkin juga berdampak pada migrasi DBMS karena dukungan yang berbeda untuk versi compiler, perubahan API, atau cara-cara baru embedding SQL dalam program aplikasi.

Hal lain yang perlu dipertimbangkan

  • Reputasi dari Vendor DBMS
  • Dukungan Kebijakan dari DBMS
  • Gaya Organisasi
  • Skill Staf  DBA
  • Platform Support
  • Perangkat Lunak Pendukung

Konvensi Penamaan Database

  • Harus dikembangkan bersama dengan semua standar penamaan TI lainnya dalam organisasi.
  • Penamaan  standar harus dikembangkan dan bekerja sama dengan bagian administrasi data (jika ada).
  • Pastikan untuk membuat dan mempublikasikan penamaan standar untuk semua objek database yang dapat dibuat dalam masing-masing DBMS yang digunakan oleh organisasi.
  • Daftar objek database dasar yang distandarkan paling tidak mencakup database, tabel, kolom, view, indeks, program, tipe user-defined data, fungsi user-defined, trigger, dan store prosedure.

Standar Administrasi Data

  • Aturan yang jelas tentang kebijakan organisasi berkaitan dengan data.
  • Pedoman untuk menetapkan kepemilikan data dan penata layanan.
  • Aturan untuk pembuatan , kepemilikan data, dan pelayanan data
  • Metadata kebijakan manajemen
  • Pedoman konseptual dan logika pemodelan data
  • Tanggung jawab untuk menciptakan dan memelihara model data
  • Pedoman untuk penggunaan alat dan petunjuk tentang bagaimana model data yang harus dibuat, disimpan, dan dipelihara.
  • Kebijakan Organisasi untuk sharing data.
  • Petunjuk tentang cara untuk mendokumentasikan ketika database fisik menyimpang dari model data logic.

Standar Administrasi Database

  • Instalasi dan prosedur pengujian
  • Upgrade kebijakan dan prosedur
  • Bug memperbaiki bug dan praktek-praktek pemeliharaan
  • Membuat Sebuah daftar  untuk memberitahukan perubahan yang akan datang
  • Pertimbangan disain Antarmuka
  • Penyimpanan, penggunaan, dan pemantauan prosedur

Standar Pengembangan Aplikasi

  • Penjelasan tentang bagaimana mengakses database yang berbeda.
  • Standar Coding dengan SQL.
  • Tips dan triks  kinerja SQL.
  • Penyusunan prosedur dan bimbingan tentang bagaimana menanamkan SQL dalam program aplikasi.
  • Interpretasi dari  SQL STATE dan kode kesalahan.
  • Referensi materi pemrograman lainnya.

Standar Keamanan Database

  • Menentukan siapa yang berwenang.
  • Daftar pemberian  otorisasi database.
  • Informasi pada setiap interface yang digunakan.
  • Kebijakan penggunaan klausa WITH GRANT OPTION dan CASCADING.
  • Prosedur  pemberitahuan kepada User.
  • Prosedur menghapus user.

Kesimpulan

  • Perencanaan komprehensif  diperlukan untuk menciptakan lingkungan database yang efektif.
  • Langkah langkah yang harus diambil untuk memilih teknologi DBMS yang benar, menerapkan strategi yang tepat, upgrade dan  mengembangkan standar database yang berguna.
  • menjamin ketersediaan pendidikan berkelanjutan bagi pengguna database.

Database, DBMS, Database Administrator (Pertemuan I – DBA)

Database
Sekumpulan data yang saling berhubungan. Menurut (Abdul Kadir, 2002:39) Basis data adalah sebagai kumpulan dari data yang saling berhubungan yang diorganisasi sedemikian rupa agar kemudian dapat dimanfaatkan lagi dengan cepat dan mudah.

DBMS (Database Management System)
Perangkat lunak yang di desain untuk membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar. DBMS dapat menjadi alternative penggunaan secara khusus untuk aplikasi, semisal penyimpanan data dalam field dan menulis kode aplikasi yang spesifik untuk pengaturannya.

Database Administrator
Orang yang memastikan fungsi operasional aplikasi dan database organisasi dapat berjalan secara efisien.

Tugas-tugas Database Administrator

  1. Mengevaluasi perangkat keras (hardware) Database Server.
    Maksudnya adalah menyesuaikan aplikasi yang akan di install dengan kapasitas dan kemampuan hardware yang dimilikinya, diantaranya mempertimbangkan :
    a. Berapa banyak disk drive yang dibutuhkan untuk database itu?
    b. Berapa banyak tape atau device yang diperlukan.
    c. Berapa banyak memory yang tersedia untuk menjalankan sebuah instance database Oracle.
  2. Merencanakan Database
    Perencanaan yang harus dilakukan adalah :
    a. Struktur logic penyimpanan database
    b. Keseluruhan desain database
    c. Strategi backup database
  3. Membuat dan membuka Database.
  4. Backup Database.
  5. Mendaftar User-user System.
  6. Mengimplementasikan Desain Database.
  7. Backup Fungsional Database sepenuhnya.
  8. Tune Kinerja Database.
  9. Download dan menginstall Patches.
  10. Roll out untuk host tambahan.