Anda di halaman 1dari 7

TUGAS MANAJEMEN BASIS DATA

AUDIT DAN CONECTIVITY

Dosen :

Hendra Yufit Riskiawan, S.Kom., M.Cs.


Oleh :

Bangun Samudra (E31152352)


Dony Arya Subrata (E31152295)
Gatot Sujarwoto (E31152298)
Muhammad Hidayatullah (E31152355)
Yanuarsyah Rakhman (E31152309)

PROGRAM STUDI D-3 LJ MANAJEMEN INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI

POLITEKNIK NEGERI JEMBER


TAHUN 2016

RESUME
AUDIT
A. Audit Operasi di Suatu Table
Misalkan kita ingin mengetahui user mana saja yang melakukan perubahan (INSERT,
UPDATE, DELETE) pada suatu tabel.
1. Aktifkan melalui parameter AUDIT_TRAIL. Ada tiga pilihan value, yaitu:
DB

: mengaktifkan audit dari data yang ada di database.

OS

: mengaktifkan audit dari operating system.

NONE : By default nilainya adalah NONE, mematikan kumpulan history dari audit.
Dari AUDIT_TRAIL kita bisa mengetahui update table ini dilakukan kapan, oleh user siapa,
dari mesin mana, dan lain-lain.
SQL> alter system set AUDIT_TRAIL=DB scope=spfile;
SQL> shutdown immediate
SQL> startup
2. Lakukan perintah audit. Misalkan kita ingin mengaudit operasi INSERT, UPDATE,
DELETE pada tabel pegawai (di schema test)
SQL> AUDIT INSERT, UPDATE, DELETE ON test.pegawai
BY ACCESS WHENEVER SUCCESSFUL;
3. Lihat hasilnya
SQL> select * FROM SYS.AUD$;
4. Untuk meng-cancel audit
SQL> NOAUDIT INSERT, UPDATE, DELETE ON test.pegawai;
B. Audit Update Table dengan Trigger
Kita mungkin ingin menyimpan data lama sebelum diupdate sehingga bisa mengetahui
history perubahan data. Jenis audit yang seperti ini disebut sebagai Value-Based Auditing
(VBA). Untuk itu kita bisa menggunakan TRIGGER.
C. Trigger: Mencatat History Startup & shutdown DB
Kita bisa mengetahui kapan database shutdown dan kapan database startup, biasanya
dengan melihat di alert log. Namun kita perlu usaha ekstra untuk membaca alert log. Untuk
mempermudahnya, kita bisa membuat TRIGGER yang mencatat setiap aktivitas (startup dan

shutdown) ke tabel history. Untuk melakukan ini, gunakanan user yang punya privilege DBA
(misalnya SYS atau SYSTEM).
D. Memanage History Perkembangan Data
Database Administrator (DBA) haarus mengetahui perkembangan data (database) yang
tengah dimaintainnya. Ini penting sekali untuk:
1. Dari sisi aplikasi (user), memprediksi jumlah data pada waktu mendatang. Apakah
satu, dua, atau sepuluh tahun ke depan aplikasi masih mampu mensupport proses data
sebesar itu?
2. Dari sisi infrastruktur, memprediksi kebutuhan storage (penyimpanan).
3. Bagi manajemen, tentu saja untuk memprediksi budget buat pengadaan storage.

Audit dan Connectivity


Dalam Basis Data Oracle
TEORI AUDIT
Ada 3 model audit:
1. Standart Database Auditing: mengaudit hak akses terhadap object

2. Value Base Auditing: mengaudit perubahan data melalui DML

3. Fine-Granted Auditing (FGA)


-

Mengaudit data yang diakses berdasarkan isi.

Audit SELECT, INSERT, UPDATE atau DELETE

Menghubungkan dengan paket DBMS_FGA

TUJUAN AUDIT
Audit bertujuan untuk mengawasi aktifitas yang mencurigakan pada database,
mengawasi perubahan data pada database yang dilakukan user.
IMPLEMENTASI AUDIT
Misalkan kita ingin mengetahui user mana saja yang melakukan perubahan (INSERT,
UPDATE, DELETE) pada suatu tabel.
1. Aktifkan melalui parameter AUDIT_TRAIL. Ada tiga pilihan value, yaitu:
DB

: mengaktifkan audit dari data yang ada di database.

OS

: mengaktifkan audit dari operating system.

NONE : By default nilainya adalah NONE, mematikan kumpulan history dari audit.
Dari AUDIT_TRAIL kita bisa mengetahui update table ini dilakukan kapan, oleh user
siapa, dari mesin mana, dan lain-lain.
SQL> alter system set AUDIT_TRAIL=DB scope=spfile;
SQL> shutdown immediate
SQL> startup
2. Lakukan perintah audit. Misalkan kita ingin mengaudit operasi INSERT, UPDATE,
DELETE pada tabel pegawai (di schema test)
SQL> AUDIT INSERT, UPDATE, DELETE ON test.pegawai
BY ACCESS WHENEVER SUCCESSFUL;
3. Lihat hasilnya
SQL> select * FROM SYS.AUD$;
4. Untuk meng-cancel audit
SQL> NOAUDIT INSERT, UPDATE, DELETE ON test.pegawai;
Misalakan kita ingin menyimpan data lama sebelum diupdate sehingga bisa
mengetahui history perubahan data. Untuk ini kita bisa menggunakan TRIGGER.
1. Misalkan kita punya tabel EMP2
CREATE TABLE EMP2
(
EMPNO NUMBER(4),
ENAME VARCHAR2(20),
JOB VARCHAR2(10),
SAL NUMBER

);
insert into EMP2 values (1, 'Rohmad', 'DBA', 400000);
commit;
2. Buat tabel yang menampung hasil audit tersebut, misalkan kita beri nama

EMP2_audit.
CREATE TABLE EMP2_audit
(
Tanggal_edit date,
EMPNO NUMBER(4),
ENAME VARCHAR2(20),
JOB VARCHAR2(10),
SAL NUMBER
);
3. Buat trigger yang mencatat nilai sebelum di-update

CREATE OR REPLACE TRIGGER trg_EMP2_update


BEFORE UPDATE ON EMP2
FOR EACH ROW
DECLARE
BEGIN
insert into EMP2_audit values (
sysdate,
:old.EMPNO,
:old.ENAME,
:old.JOB,
:old.SAL
);
END;
4. Coba update tabel EMP2
update EMP2 set sal=1000000 where empno=1;
commit;
5. Sekarang kita lihat hasil auditnya pada tabel EMP2_audit:

SQL> select * from EMP2_AUDIT;

TANGGAL_E
--------06-AUG-08

EMPNO
--------

ENAME

---------1

JOB

----------

Rohmad

DBA

SAL
-----

----400000

Anda mungkin juga menyukai