TUGAS MAKALAH MANAJEMEN DAN ADMINISTRASI BASIS DATA Dosen Pengampu : Nur Hafifah Matondang, S.Kom, MM., M.T.I. TRANSACTION SERVER PADA SERVER Disusun Oleh : Muhammad shafa ridho 1910501058 Vidiani aulia 1910501086 Murdika wahyuda 1910501094 Silva ria dinasty 1910501102 PROGRAM STUDI D-III SISTEM INFORMASI FAKULTAS ILMU KOMPUTER UNIVERSITAS PEMBANGUNAN NASIONAL VETERAN JAKARTA 2021 KATA PENGANTAR Assalamu’alaikum Warahmatullahi Wabarakatuh Puji syukur kami panjat kan ke kehadirat Tuhan Yang Maha Kuasa yang telah memberikan kesempatan kepada kami untuk menyelesaikan makalah ini. Karena atas rahmat dan hidayah-Nya lah kami dapat menyelesaikan makalah ini yang berjudul “Transaction Server pada Server” tepat waktu. Tidak lupa shalawat serta salam kami curah kan kepada junjungan besar kita Rasulullah shallahu alaihi wasallam. Makalah ini dibuat dan disusun guna memenuhi tugas Ibu Helena Nurramdhani Irmanda, S.Pd., M.Kom. pada Mata Kuliah Manajemen dan Administrasi Basis Data (MABD) di Universitas Pembangunan Nasional Veteran Jakarta. Selain itu, kami juga berharap agar makalah ini dapat memberikan wawasan bagi pembaca tentang Manajaemen dan Adminisarsi Basis Data. Kami mengucapkan terima kasih kepada Ibu Helena Nurramdhani Irmanda, S.Pd., M.Kom. selaku Dosen Pengampu pada Mata Kuliah Manajemen dan Administrasi Basis Data (MABD) yang telah memberikan kesempatan untuk membagi ilmu yang sudah kami dapat kepada pembaca melalui makalah yang kami buat ini. Kami juga mengucapkan terima kasih kepada anggota serta pihak lain yang telah membantu dalam mengerjakan makalah ini, sehingga makalah ini dapat diselesaikan dengan baik dan tepat pada waktunya. Demikian yang dapat kami sampaikan, kami mohon maaf apabila ada kesalahan dalam penulisan makalah kami. Kami menyadari bahwa makalah kami jauh dari sempurna. Karena itu, kami menerima segala bentuk kritik dan saran dari pembaca sebagai bagian dari revisi makalah ini. Wassalamu’ alaikum Warahmatullahi Wabarakatuh Jakarta, 14 Maret 2021 Penulis i DAFTAR ISI DAFTAR GAMBAR ....................................................................................................................................iii BAB I PENDAHULUAN ............................................................................................................................. 1 1.1 LATAR BELAKANG ................................................................................................................ 1 1.2 RUMUSAN MASALAH ............................................................................................................ 1 1.3 TUJUAN MASALAH ................................................................................................................ 1 BAB II PEMBAHASAN .............................................................................................................................. 2 2.1 Server Process ............................................................................................................................. 2 2.2 Lock Manager Process ................................................................................................................ 3 2.3 Database Writer Process ............................................................................................................. 4 2.4 Log Writer Process...................................................................................................................... 5 2.5 Check Point Process .................................................................................................................... 6 2.6 Process Monitor .......................................................................................................................... 7 BAB III ......................................................................................................................................................... 8 PENUTUP .................................................................................................................................................... 8 3.1 KESIMPULAN ....................................................................................................................................... 8 3.2 SARAN ................................................................................................................................................... 8 DAFTAR PUSTAKA ................................................................................................................................... 9 ii DAFTAR GAMBAR Gambar 2.1............................................................................................................................. Gambar 2.2............................................................................................................................. Gambar 2.3............................................................................................................................. Gambar 2.4............................................................................................................................. Gambar 2.5............................................................................................................................. Gambar 2.6............................................................................................................................. Gambar 2.7............................................................................................................................. iii BAB I PENDAHULUAN 1.1 LATAR BELAKANG Di era globalisasi ini, dimana segala sesuatunya itu berjalan dengan cepat, kemajuan teknologi semakin memudahkan manusia untuk berkomunikasi dan saling bertukar informasi. Semua orang di zaman sekarang ini hampir setiap individu sudah memiliki komputer. Di mana di dalam dunia komputer ada yang namanya client server, Client merupakan sembarang sistem atau proses yang melakukan suatu permintaan data atau layanan ke server sedangkan server ialah, sistem atau proses yang menyediakan data atau layanan yang diminta oleh client. Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.Tipe Client server yaitu Client meminta remote procedures yang terletak pada server dengan sebuah SQL database engine, Remote procedures ini mengeksekusi sebuah grup dari SQL statement dan Hanya satu permintaan atau jawaban yang dibutuhkan untuk melakukan transaksi. Server transaksi adalah jenis server khusus yang mengelola operasi transaksi berbasis perangkat lunak atau pemrosesan transaksi. Ia mengelola aplikasi dan transaksi database di jaringan atau Internet, dalam lingkungan komputasi terdistribusi. Server transaksi juga dapat disebut sebagai sistem pemrosesan transaksi (TPS) atau sebagai bagian dari satu solusi TPS komposit. Sebuah server transaksi pada dasarnya memungkinkan transaksi untuk diproses dalam aplikasi komputasi terdistribusi. Biasanya, server transaksi adalah kombinasi dari perangkat keras, perangkat lunak, dan komponen jaringan yang secara bersama-sama memastikan penyelesaian setiap transaksi. Server transaksi bekerja ketika aplikasi atau server aplikasi meminta objek data tertentu yang berada di database atau server database di jaringan atau Internet. Server transaksi bertindak sebagai server perantara yang dapat memastikan bahwa aplikasi atau pengguna menerima data yang diminta dari database atau penyelesaian transaksi itu. Server transaksi juga merupakan nama dari Microsoft Server (Viper) atau Microsoft transaction server (MTS), yang menyediakan fungsionalitas serupa. Ini menyediakan layanan pemrosesan transaksi pada komponen perangkat lunak berbasis COM / DCOM. 1.2 RUMUSAN MASALAH 1. Mengenai tentang Server process 2. Mengenai tentang Lock manager process 3. Mengenai tentang Database writer process 4. Mengenai tentang Log writer process 5. Mengenai tentang Check point process 6. Mengenai tentang Process monitor 1.3 TUJUAN MASALAH 1. Mengetahui pengertian Transaction server pada client server 2. Mengetahui Proses-proses pada Transaction server pada client server 1 BAB II PEMBAHASAN 2.1 Server Process Gambar 2.1 Gambar 2.2 Server Process Terjadi ketika pengguna berhasil melakukan login (Connect Database / Connect SQL Plus). Server process dihapus ketika user berhasil logoutServer merupakan salah satu contoh menjalankan perangkat lunak yang mampu menerima perintah dari klien, komputer yang mengeksekusi perangkat lunak. Server beroperasi dalam arsitektur client-server, dimana “server” adalah program komputer yang menjalankan untuk melayani permintaan dari program lain, klien mungkin berbagi data, informasi, hardware dan software.Klien dapat menjalankan pada komputer yang sama, tetapi biasanya terhubung. Proses yang terjadi ketika pengguna berhasil melakukan login (Connect Database / Connect SQL Plus). Bagaimana cara kerjanya ? Proses server yang menangani koneksi ke database atas nama program klien, dan melakukan 2 sebagian besar pekerjaan untuk program klien, seperti mengurai dan menjalankan pernyataan SQL, dan mengambil dan mengembalikan Oracle membuat proses server untuk menangani permintaan proses pengguna yang terhubung ke instance. Dalam beberapa situasi ketika aplikasi dan Oracle beroperasi pada komputer yang sama, dimungkinkan untuk menggabungkan proses pengguna dan proses server yang sesuai ke dalam satu proses untuk mengurangi overhead sistem. Namun, ketika aplikasi dan Oracle beroperasi pada komputer yang berbeda, proses pengguna selalu berkomunikasi dengan Oracle melalui proses server terpisah. Proses server (atau bagian server dari proses pengguna / server gabungan) yang dibuat atas nama setiap aplikasi pengguna dapat melakukan satu atau lebih hal berikut: 1. Parse dan jalankan pernyataan SQL yang dikeluarkan melalui aplikasi 2. Baca blok data yang diperlukan dari file data di disk ke buffer database bersama SGA, jika blok tersebut belum ada di SGA 3. Kembalikan hasil sedemikian rupa sehingga aplikasi dapat memproses informasi 2.2 Lock Manager Process Gambar 2.3 Penguncian Sebuah Lock manager dapat diterapkan sebagai sebagian dari proses yang melayani permintaan lock dan unlock lock manager menjawab 3 permintaan lock dengan mengirimkan pesan penguncian ( atau pesan melakukan roll back dalam kasus deadlock) Transaksi yang minta akan menunggu sampai dijawab lock manager merawat struktur data yang disebut lock table untuk menjamin penguncian record dan menunda permintaan lock table selalu diterapkan sebagai tabel indeks yang ada di memory pada nama data yang di lock 16 Lock Table Kotak hitam tandanya sedang mengunci, sedang yang putih menunggu permintaan Lock table juga mencatat jenis penguncian Permintaan baru ditambahkan di akhir antrian permintaan untuk item data, dan menjadi jaminan terhadap semua penguncian terakhir Permintaan Unlock akan menghapus lock, dan kemudian permintaan akan memeriksa apakah bisa dilakukan sekarang Jika transaksi batal, semua proses tunggu dihapus lock manager akan menjaga daftar kejadian lock setiap transaksi secara efisien 2.3 Database Writer Process Gambar 2.4 Database writer process (DBWn) adalah proses latar belakang yang menulis buffer dalam database buffer cache ke file data, seperti sinkron saat melakukan pemrosesan lainnya secara berkala untuk memajukan pos pemeriksaan. DBWn berfungsi mencegah hard parsing seperti cek sintaks dan cek semantic pada statement. DBWn juga berfungsi untuk menulis modified block dari db buffer cache ke data file. DBWn menulis konten buffer ke file data. Proses ini bertanggung jawab untuk menulis buffer yang dimodifikasi dalam cache buffer database ke disk. Meskipun satu proses penulis database (DBW0) cukup untuk sebagian besar sistem, Anda dapat mengkonfigurasi proses tambahan (DBW1 melalui DBW9 dan DBWa melalui DBWj) untuk meningkatkan kinerja tulis jika sistem Anda banyak memodifikasi data. Proses DBWn tambahan ini tidak berguna pada sistem uniprocessor. Ketika buffer di cache buffer database diubah, itu ditandai dirty. Cold buffer adalah buffer yang belum lama ini digunakan menurut algoritma LRU (Least Recently Used). Proses DBWn menulis buffer yang cold dan dirty ke disk sehingga proses pengguna dapat menemukan buffer yang cold dan dirty yang dapat digunakan untuk membaca blok baru ke dalam cache. Karena buffer dicemari oleh proses pengguna, jumlah free buffer berkurang. Jika jumlah free buffer turun terlalu rendah, proses pengguna yang harus membaca blok dari disk 4 ke dalam cache tidak dapat menemukan free buffer . DBWn mengelola cache buffer sehingga proses pengguna selalu dapat menemukan free buffer . Dengan menulis buffer yang cold dan dirty ke disk, DBWn meningkatkan kinerja pencarian free buffer sekaligus menjaga buffer yang baru-baru ini digunakan tetap tinggal di memori. Misalnya, blok yang merupakan bagian dari tabel atau indeks kecil yang sering diakses disimpan dalam cache sehingga tidak perlu dibaca lagi dari disk. Algoritma LRU menyimpan blok yang lebih sering diakses di cache buffer sehingga ketika buffer ditulis ke disk, tidak mungkin berisi data yang akan berguna segera. Parameter inisialisasi DB_WRITER_PROCESSES menentukan jumlah proses DBWn. Jumlah maksimum proses DBWn adalah 20. Jika tidak ditentukan oleh pengguna selama startup, Oracle menentukan cara menyetel DB_WRITER_PROCESSES berdasarkan jumlah CPU dan grup prosesor. Proses DBWn menulis dirty buffer ke disk dalam kondisi berikut: 1. Ketika proses server tidak dapat menemukan buffer yang dapat digunakan kembali bersih setelah memindai sejumlah ambang buffer, itu memberi sinyal kepada DBWn untuk menulis. DBWn menulis dirty buffer ke disk secara asinkron saat melakukan pemrosesan lainnya. 2. DBWn secara berkala menulis buffer untuk memajukan checkpoint, yang merupakan posisi di thread pengulangan (log) tempat pemulihan instans dimulai. Posisi log ini ditentukan oleh dirty buffer terlama di cache buffer. Dalam semua kasus, DBWn melakukan penulisan batch (multiblock) untuk meningkatkan efisiensi. Jumlah blok yang ditulis dalam penulisan multiblock bervariasi menurut sistem operasi. 2.4 Log Writer Process Gambar 2.5 Menulis redo log buffer ke file log redo pada disk, seperti : - Bila proses pengguna melakukan transaksi - Bila buffer redo log sepertiga penuh - Sebelum proses DBWn menulis buffer diubah ke disk Berfungsi untuk menulis data yang berubah ke redo log files. Proses penulis log (LGWR) bertanggung jawab untuk manajemen buffer log ulang- menulis buffer log ulang ke file log ulang di disk. 5 LGWR menulis semua entri ulangi yang telah disalin ke buffer sejak terakhir kali menulis. Buffer log ulang adalah buffer melingkar. Ketika LGWR menulis entri ulang dari buffer log ulangi ke file log ulang, proses server kemudian dapat menyalin entri baru di atas entri dalam buffer log ulangi yang telah ditulis ke disk. LGWR biasanya menulis cukup cepat untuk memastikan bahwa ruang selalu tersedia di buffer untuk entri baru, bahkan ketika akses ke log pengulangan berat. LGWR menulis satu bagian buffer yang berdekatan ke disk. LGWR menulis: 1. Rekaman komit ketika proses pengguna melakukan transaksi 2. Ulangi buffer log Setiap tiga detik 3. Saat buffer redo log sepertiga penuh. Ketika proses DBWn menulis buffer yang dimodifikasi ke disk, jika perlu. 2.5 Check Point Process Gambar 2.6 Melakukan update seluruh data file dan control file yang berdasarkan check point yang paling akhir. Fungsi ? Mencatat informasi Checkpoint di Control file. Setiap data File Header berfungsi untuk mengupdate control file dan data fileBerikut merupakan proses ketika user connect ke instance dan melakukan update Instancenya running -> User login -> diverifikasi oleh server process -> user update row -> ditanggapi oleh server proses -> menuju ke sga -> di cek oleh server proses ada ga statement updatenya di shared pool. Kalau ada, dia ga perlu parsing lagi tinggal gunakan yang ada di shared pool tetapi sebelum bisa digunain bakal di cek lagi privilege dari si user. Kalau ga ada dia bikin area shared sql yang baru di shared pool untuk statement tersebut -> Server proses bakalan nerima data yang dibutuhkan dari data file (table) atau dari data blok yang tersimpan di dalam sga -> server proses mengubah data tabel yang diterimanya -> saat transaksinya di commit, LGWR akan menuliskan perubahan tersebut ke dalam redo log file dan DBWn akan menulis data blok yang telah dirubah ke dalam disk -> server proses mengirimkan pesan kepada user. 6 Saat checkpoint terjadi, Oracle harus mengupdate header dari semua datafiles untuk mencatat detail checkpoint tersebut. Ini dilakukan oleh proses CKPT. Proses CKPT tidak menulis blok ke disk; DBWn selalu melakukan pekerjaan itu. Statistik pos pemeriksaan DBWR yang ditampilkan oleh monitor System_Statistics di Manajer Perusahaan menunjukkan jumlah permintaan pos pemeriksaan yang diselesaikan. 2.6 Process Monitor Gambar 2.7 Monitor proses (PMON) melakukan pemulihan proses ketika proses pengguna gagal. PMON bertanggung jawab untuk membersihkan cache penyangga database dan membebaskan sumber daya yang digunakan oleh proses pengguna. Misalnya, ini mengatur ulang status tabel transaksi aktif, melepaskan kunci, dan menghapus ID proses dari daftar proses aktif. PMON secara berkala memeriksa status dispatcher dan proses server, dan me-restart semua yang telah berhenti berjalan (tetapi tidak yang diakhiri dengan sengaja oleh Oracle). PMON juga mendaftarkan informasi tentang proses instance dan dispatcher dengan pendengar jaringan.Seperti SMON, PMON memeriksa secara teratur untuk melihat apakah diperlukan dan dapat dipanggil jika proses lain mendeteksi kebutuhannya. Me-Clean up hubungan yang diputuskan secara tidak normal • me- Rollback transaksi yang belum di commit • me-Release locking yang dipegang oleh suatu proses yang terminated • Membebaskan sumber daya SGA (Memori SGA) yang dialokasikan pada proses yang gagal • Me-restart proses server shared yang gagal dan men-dispatch proses- prosesnya. Berfungsi mengecek background process yang sedang mati / idle. PMON bertugas untuk merestart process yang di kill. 7 BAB III PENUTUP 3.1 KESIMPULAN Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan. Tipe Client server yaitu Client meminta remote procedures yang terletak pada server dengan sebuah SQL database engine, Remote procedures ini mengeksekusi sebuah grup dari SQL statement dan Hanya satu permintaan atau jawaban yang dibutuhkan untuk melakukan transaksi. Server transaksi adalah jenis server khusus yang mengelola operasi transaksi berbasis perangkat lunak atau pemrosesan transaksi. 3.2 SARAN Dalam makalah ini terdapat kekurangan, sehingga diperlukan pengembangan lebih lanjut. Agar pembuatan sistem selanjutnya dapat memperoleh hasil lebih baik lagi. 1. Implementasi system Client Server harus lebih komplek karena harus mengangani midleware dan jaringan. 2. Sistem Client-Server dapat menggunakan sistem operasi lain, seperti Windows, Machintos, dan lain – lain. 3. Client dibutuhkan computer dengan spesifikasi khusus untuk menjadi server. 8 DAFTAR PUSTAKA Anonim. 9 Process Architecure. docs.oracle.com/cd/B19306_01/server.102/b14220/process.htm (diakses tanggal 12 Maret 2021). Anonim. 2012. Arsitektur Databse Oracle (2). http://asnsblues.blogspot.com/2012/05/arsitektur-database-oracle-2.html (diakses tanggal 13 Maret 2021). Andrew, Immanuel. 2015. Oracle Arsitektur Oracle Database. https://onemillionsensation.wordpress.com/2015/04/20/oracle-arsitektur-oracle-database/ (diakses tanggal 12 Maret 2021). Anonim. Transaction Server. https://www.techopedia.com/definition/16211/transactionserver (diakses tanggal 12 Maret 2021). 9