DATA MOVEMENT & DISTRIBUTION DATABASE

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 & Unload [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 berhubungan dengan import, dan upload berhubungan dengan export.

• Load berfungsi untuk memasukan data / transaksi ke sebuah table. Dapat dikatakan juga insert, replace, atau update.
• Sedangkan unload digunakan untuk membaca data dari table dan menyimpannya dalam bentuk sebuah file.
Kelemahan load adalah dalam prosesnya bisa saja terjadi data yang tidak berpindah secara sempurna atau sering kita sebut Corup.

Bulk Data Movement

Kombinasi dari UNLOAD dan LOAD data, Bulk Data Movement adalah salah satu metode yang digunakan DBA untuk memindahkan sejumlah besar data dari satu tempat ke tempat yang lain.
Ada beberapa metode yang lain untuk memindahkan data dengan kuantitas yang besar

EX :
1. ETL adalah salah satu software yang dapat digunakan untuk melakukan data movement. ETL singkatan dari extract, transform, and load.
2. 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. (Autonomy : menunjukkan tingkat penggunaan secara independent masing-masing distributed database)
• Isolation [stand alone], untuk tabel khusus (privacy) itu terpisah dari user.
(Isolation : menunjukkan apakah setiap site memiliki keterkaitan dengan site lain dalam distributed environtment, atau setiap site berdiri sendiri )
• Transparancy [all user], akses tabel terpisah dari user tetapi user masih dapat mengaksesnya. Transparency : menunjukkan lapisan data lokasi dari user sampai aplikasi
Read more

BACKUP & RECOVERY

Backup : Proses secara periodik untuk membuat duplikat dari database dan melakukan logging file (atau program) ke media peyimpanan eksternal

Jurnaling : proses meyimpan dan mengatur log file dari semua perubahan yg dibuat di database untuk proses rocovery yg efektif jika terjadi kesalahan

Record transaksi
1.identifikasi dari record
2.tipe record jurnal (transaksi start,insert,update,delete,abort,commit)
3.item data sebelum perubahan (operasi update dan delete)
4.item data setelah perubahan (operasi insert dan update)
5.informasi manajemen jurnal (misal :pionter sebelum dan record jurnal selanjutnya untuk semua tansaksi)

Record chekpoint : suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalo sekedar redo,akan sulit peyimpanan sejamana jurna; untuk mencari kembali makanya untuk membatasi pencarian meggunakan teknik ini..

Recovery : merupakan upaya untuk mengembalikan basis data ke keadaan yg dianggap benar setelah terjadi suatu kegagalan

Jenis pemulihan
1.pemulihan terhadap kegagalan tansaksi : kesatuan produsen alam program yang dapat
mengubah/memperbaruhi data pada sejumlah tabel.
2.pemulihan terhadap kegagalan media : pemulihan karna kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
3.pemulihan terhadap kegagalan sistem : karena gangguan sisitem,hang,listrik terputus
aliranya.

Fasilitas pemulihan pada DBMS :
1.mekanisme backup secara periodik
2.fasilitas logging dengan membuat track pada tempat saat transaksi berlangsung dan pda saat database berubah
3.fasilitas checkpoint, melakukan update database yang terbaru.
4.manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi lebih konsisten setelah terjadi kesalahan

Teknik pemulihan:
1. Defered update/perubahan yg ditunda : perubahan pada DB tidak akan berlangsung samapai transaksi ada pada pion di setujui (commit). jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi di perlukan operasi redo untuk mencegah akibat dari kegagalan tersebut
2. Immediate update/perubahan langsung : perubahan pada DB akan segera tanpa harus menuggu sebuah transaksi tersebut di setujui.jika terjadi kegagalan.
3. Shadow paging : menggunakan page bayangan imana paa prosesnya terdiri dari 2 tabel yg sama , yg satu menjadi tabel transaksi dan yg laen di gunakan sebagai cadangan.ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yg menyimpan semua perubahan ke database tabel bayangan akan di gunakan jika terjadi kesalahan.keuntungannya adalah tidak butuh REDO atau UNDO , kelemahanya membuat terjadinya fragmentasi
Read more

DATA & STORAGE MAMANGEMENT

Memory Structure
Memory di Oracle digunakan untuk menyimpan :
a. Kode program yang akan dieksekusi
b. Informasi tentang session
c. Data yang akan dieksekusiInformasi yang di share dan dikomunikasi oleh proses yang lain.
Misalnya locking information
a. Cache information
b. Dasar struktur memory yang berhubungan dengan oracle:
c. Software Code Area
d. System Global Area (SGA)
e. Program Global Area (PGA)
f. 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.

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.

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.
Read more

DISASTER PLANING

Tugas DBA adalah membuat rencana untuk mengurangi kerusakan pada kejadian seperti bencana. Tujuan utama adalah mengembalikan aplikasi kembali online dengan kehilangan data dan gangguan sekecil mungkin. Ada banyak komponen yang dibutuhkan untuk membuat rencana pemulihan bencana yang terus menerus, tapi hal itu sangat penting ketika rencana tertulis itu dibuat dan dipertahankan. Meskipun ruang lingkup tanggung jawab utama DBA adalah memastikan ketersediaan database dan keutuhan data, DBA harus menjadi bagian dari tim yang bertanggung jawab untuk pemulihan bencana. Perencanaan yang terus menerus, percobaa, dan percobaan adalah suatu hal yang sangat penting untuk terjadinya rencana pemulihan bencana yang dapat digunakan.

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

Read more

Database Security

Keamanan Database.
Keamanan database merupakan komponen penting dari pekerjaan seorang DBA.
Tanpa rencana keamanan database yang komprehensif dan pelaksanaan, integritas database organisasi Anda akan menjadi terganggu.
Setiap DBA harus mempelajari mekanisme keamanan dari sistem dan database yang dimilikinya untuk memastikan bahwa hanya pengguna yang berwenang mengakses
dan mengubah data dalam database perusahaan.
Setiap DBA harus melaksanakan operasi audit untuk memverifikasi bahwa langkah keamanan database yang digunakan sudah cukup.
Keperluan keamanan database timbul dari kebutuhan untuk melindungi data, dari kehilangan dan kerusakan data serta adanya pihak yang tidak diijinkan hendak mengakses
atau merubah data.
   
Aspek keamanan data :
Membatasi akses ke data dan service
Melakukan autentifikasi pada user
Memonitor aktifitas-aktifitas yang mencurigakan

Dasar keamanan db.
acces control
Akses kontrol adalah garis pertahanan pertama dalam melindungi informasi dalam database. Hal tersebut dapat di lakukan dengan cara:
Ubah password default pada account pengguna setelah database menginstal atau menginstal ulang.
Hapus akun pengguna jika mereka tidak lagi diperlukan atau, setidaknya, akun pengguna kunci yang tidak sedang digunakan.
Mengharuskan penggunaan password yang kuat. Selain itu, mengharuskan pengguna secara berkala mengubah password mereka, seperti setiap 90 hari.
Jika menggunakan otentikasi domain, gunakan untuk pengguna database juga. Jika tidak, menggunakan database otentikasi Jangan campuran.
Jangan gunakan account database tunggal untuk semua user dari database.

Tingkatan pada keamanan db.
Fisikal -> lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
Manusia -> wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
Sistem Operasi -> Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
Sistem Database -> Pengaturan hak pemakai yang  baik.

langkah-langkah menjaga keamanan db.
1.Menerapkan Prinsip Hak Minimum
    - Melindungi data dictionary
    - Mengambil hak akses yang tidak   diperlukan dari public
    - Membatasi directory-directory pada system operasi yang dapat diakses oleh user
    - Membatasi jumlah user dengan hak akses administrator

2.Melindungi Data Dictionary
    - Melindungi data dictionary dengan memastikan parameter inisialisasi berikut diset FALSE
    07_DICTIONARY_ACCESSIBILITY=FALSE;
   
3. Menolak Hak Akses dari Luar Yang Tidak Diperlukan
4. Mengelola User Account Standart
5. Mengunci Password Account
6. Password Expiration
7. Memberi Fungsi Verifikasi Password
    Untuk memberikan fungsi password verifikasi lakukan kebutuhan password antara lain :
    - panjang minimum adalah 4 karakter
    - password tidak boleh sama dengan username
    - password harus memiliki sedikitnya satu huruf, satu angka, dan satu huruf khusus
    - password harus berbeda dari password sebelumnya sedikitnya 3 huruf
8. Mengawasi Aktifitas Yang Mencurigakan
    Mengawasi atau mengaudit harus menyatu dengan prosedur keamanan.
    Tool-tool yang diaudit dalam database Oracle adalah :
    1. Database Auditing
    2. Value Base Auditing
    3. Fine-Granted Auditing ( FGA )

melakukan grand atau revoke authority.
DBA mengontrol keamanan basis data dan otorisasi menggunakan Data Control Language, atau DCL. DCL adalah satu dari tiga subtipe dari SQL.
(Dua lainnya DDL dan DML.) DCL laporan digunakan untuk mengontrol pengguna mana yang memiliki akses yang objek dan perintah.
Laporan adalah cara di mana keamanan database berlaku. Laporan DCL terdiri dari dua tipe dasar :
• GRANT memberikan izin kepada pengguna database.
• REVOKE menghapus izin dari pengguna database.

Read more

Aplikasi Performance

Aplikasi performa ini fokus pada tuning dan mengoptimalkan kode aplikasi & SQL

Beberapa hal yang harus diperhatikan :
Teknis
Bahasa Pemrograman
Desain Transaksi

Application performance membahas bagaimana kita merawat dan mengoptimalkan kode aplikasi dan pernyataan-pernyataan SQL, serta memastikan aplikasi yang kita bangun dapat berinterkasi dengan DMBS secara tepat dan efisien.
Mendesain aplikasi untuk akses yang berelasi Jenis SQL

apakah jenis SQL yang tepat telah digunakan untuk aplikasi tersebut?

Programming Language :apakah bahasa pemrograman mampu mencapai performa yang diperlukan, dan apakah bahasa tersebut teroptimasi untuk akses ke database?
Transaction design and processing :apakah transaksi yang ada dalam program telah didesain secara benar untuk memastikan adanya ACID properties, dan apakah program tersebut menggunakan transaction processor yang sesuai dan efisien?
Locking Strategy :apakah aplikasi memiliki jenis lock yang salah, atau memiliki jenis lock yang benar terlalu lama?
Batch Processing :apakah batch programs didesain dengan benar untuk mengambil keuntungan dari fitur pemrosesan sekuensial dari DBMS?
COMMIT strategy :apakah setiap program aplikasi memiliki statement SQL COMMIT untuk mengurangi impact dari locking?
Online Processing :apakah aplikasi online telah didesain untuk mengembalikan informasi berguna dan untuk meminimalkan jumlah informasi yang dikembalikan ke layar user untuk setiap kegiatan yang ada?


Mengoptimalkan relasi
DBA harus mengenal dengan baik teknik-teknis optimasi yang digunakan oleh masing-masing DBMS dalam organisasi. Pengembangan aplikasi harus menggunakan kode SQL yang efisien dan juga harus memahami bagaimana cara mengoptimalkan SQL, DBA harus bertanggung jawab dalam kinerja aplikasi database tersebut. Dengan demikian, DBA harus terampil dalam coding SQL dan tuning SQL untuk kinerja system database yang baik.
optimizer adalah jantung dari sistem manajemen database relasional. Ini adalah mesin inferensi yang bertanggung jawab untuk menentukan strategi database navigasi terbaik untuk setiap permintaan SQL yang diberikan.

Database Statistic
Sebuah pengoptimasi relasional adalah menggunakan sedikit statistik yang akurat tentang data yang disimpan dalam sebuah database. Sebuah DBMS relasional menyediakan program utilitas atau perintah untuk mengumpulkan statistik tentang objek database dan menyimpannya untuk digunakan oleh optimizer (atau oleh DBA untuk memantau kinerja).
Statistik Database memberikan optimizer dengan informasi tentang keadaan, tabel tablespace, kolom, dan indeks. DBMS mengumpulkan informasi statistik seperti :
- Jumlah baris dalam tabel, tablespace, atau indeks
- Jumlah nilai-nilai unik yang tersimpan dalam kolom
- Sebagian besar sering terjadi nilai untuk kolom
- Indeks kepadatan tombol
- Rincian pada rasio clustering untuk tabel mengelompok
- Korelasi kolom ke kolom lain
- Struktural keadaan indeks atau tablespace
- Jumlah penyimpanan yang digunakan oleh objek database
Read more

Sistem Performance

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

System Performance (Kinerja Sistem) adalah kemampuan kerja dari sekumpulan elemen yang saling berkaitan untuk mencapai suatu tujuan. kemampuan kerja dari sekumpulan komponen basis data yang saling berkaitan atau berhubungan untuk mencapai suatu tujuan dari basis data itu sendiri. seorang dba harus mengerti interaksi dbms dengan server, OS, dan software-software pendukung.

5 faktor yang mempengaruhi Kinerja Database :
Workload (Beban Kerja) :
Seperti transaksi online, analisis data warehouse, dan sistem command yang datang beberapa kali.
Throughput :
Merupakan kemampuan sebuah computer dalam memproses data.
Resources (Sumber Daya) :
Contohnya : Software and Hardware.
Optimization (Optimasi) :
Optimasi database, memformula query.
Contention (Kres) :
Yaitu kondisi di mana dua atau lebih komponen dari beban kerja sedang mencoba untuk menggunakan satu sumber daya dengan cara yang bertentangan.

Sistem performa diantaranya :
Operating system
Hardware Configuration
DBMS

Sistem monitoring merupakan sistem yang didesain untuk memberikan feedback (informasi/keadaan sistem) ketika program sedang menjalankan funginya.
Memonitoring/memantau kinerja dan masalah database
Memonitoring/memantau kinerja dan masalah database.
Dengan cara SQL Tuning.
Tujuan dari tuning adalah mengurangi response time untuk end user dari system, atau mengurangi resource yang digunakan untuk memproses pekerjaan yang sama. Dengan Mengurangi Workload.

Contohnya : dengan menggunakan index

DATABASE PERFORMANCE
Database (DB) itu didalam DBMS
DB = DBMS , DBA

Teknik untuk optimasi database
Ada banyak cara yang dapat dan harus dilakukan agar proses server database dapat berlangsung cepat. Dalam pengembangan aplikasi database, hal ini biasa disebut dengan istilah performance tuning, karena berkenaan dengan kinerja/performance database.

Fokus :
    - mempercepat kinerja -> perawatan struktur database
    - optimalisasi desain dan parameter -> mengefisienkan database
    - pembangunan fisik objek database -> mengurangi risiko dan kesalahan yang terkait dengan pemeliharaan manual database

5 Komponen Database:
- struktur file
- struktur memori
- Proses
- segmen rollback
- redo log
 3 cara mengubah parameter:
- Dinamis -> tanpa restart SQL Server
- Non-dinamis -> restart SQL Server
- Dinamis – non dinamis

Database Log
Semua perubahan data dalam database di catat dalam database log
Database log adaalh configurasi sistem database lain yang bisa mempengaruhi performa. log database bisa di sebut dengan log transaksi. semua perubahan terhdap aplikasi di dalam database akan ter simpan dalam database log.
Dalam database terdapat system checkpoint dimana record dari log dan perubahan dalam database akan tersimpan di disk. frekuensi system checkpoint dapat di atur sesuai keinginan dba

Monitor Sistem
Memonitoring/memantau kinerja dan masalah database
memonitor sistem operasi, jaringan, server transaksi, dan setiap middleware sistem lainnya untuk masalah kinerja
Sistem Katalog
Untuk mengelola lingkungan database

Konfigurasi Hardware
Hardware untuk efisiensi operasi DBMS
Hal-hal yang harus diperhatikan DBA untuk menjamin lingkungan hardware yang optimal:
- Kesesuaian hardware dan kapasitasnya dengan lingkungan DBMS
- Firmware terbaru untuk komputer
- Kecukupan jumlah memori untuk instal software yang diperlukan jumlah yang tepat ruang penyimpanan disk telah dialokasikan dan dikonfigurasi untuk digunakan oleh DBMS
- Kesesuaian jenis penyimpanan disk yang digunakan dengan volume data yang besar dan kecepatan   tinggi dari query database
- Kabel jaringan
- Operasional koneksi fisik
- Koneksi power supply
- Koneksi perangkat perlindungan gelombang

Penggunaan Memori
“Relational database love memory”.. dan semua dbms pasti menggunakan memori, tetapi jumlah penggunaan memori akan berbeda-beda pada hal yang berbeda-beda.
 jadi sesuai kata2 relational database love memory, maka semakin banyak memori yang kita alokasikan, maka kinerja juga akan semakin baik

Optimalisasi Database
Partitioning : Memecahkan satu tabel menjadi beberapa section
Raw partitions versus file systems :memilih apakah akan menyimpan data basis data dalam sebuah file OS-dikendalikan atau tidak
Indexing :memilih indeks yang tepat dan mengaktifkan query yang efisien
Denormalization :Pencapaian kinerja yang lebih baik
Clustering :pengurutan data pada disk
Interleaving data :menggabungkan data-data dari beberapa tabel ke dalam sebuah file
Free space :Meninggalkan space untuk pengembangan data
Compression :Mengecilkan ukuran file
File placement and allocation :Meletakkan file sesuai lokasi yang tepat
Page size :ukuran halaman yang tepat untuk penyimpanan data dan input/output
Reorganization :menghapus inefisiensi dari database dengan menyelaraskan dan restrukturisasi objek database.

Contoh software pendukung sistem database:
    • Transaction processors like CICS and Microsoft Transaction     Server
    • Networking software such as TCP/IP and SNA
    • Message queueing software such as MQSeries and MSMQ
    • Web connectivity and development software such as           ColdFusion
    • Programming languages such as Java, COBOL, and C
Read more