-
1. Periksa nama dan ukuran ruang meja
pilih t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
dari dba_tablespaces t, dba_data_files d
dimana t.tablespace_name = d.tablespace_name
kelompokkan berdasarkan t.tablespace_name;
2. Lihat nama dan ukuran file fisik di ruang tabel
pilih tablespace_name, file_id, file_name,
bulat(byte/(1024*1024),0) total_spasi
dari dba_data_files
pesan berdasarkan tablespace_name;
3. Periksa nama dan ukuran segmen rollback
pilih nama_segmen, nama_tablespace, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
Dari dba_rollback_segs r, v$rollstat v
Dimana r.segment_id = v.usn(+)
pesan berdasarkan nama_segmen;
4. Lihat file kontrol
pilih nama dari v$controlfile;
5. Lihat file log
pilih anggota dari v$logfile;
6. Periksa penggunaan ruang meja
pilih jumlah(byte)/(1024*1024) sebagai free_space,tablespace_name
dari dba_free_space
kelompokkan berdasarkan tablespace_name;
PILIH A.TABLESPACE_NAME, TOTAL A.BYTES, B.BYTES YANG DIGUNAKAN, C.BYTES GRATIS,
(B.BYTES*100)/A.BYTES "% DIGUNAKAN",(C.BYTES*100)/A.BYTES "% GRATIS"
DARI SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
DIMANA A.TABLESPACE_NAME=B.TABLESPACE_NAME DAN A.TABLESPACE_NAME=C.TABLESPACE_NAME;
7. Melihat objek database
pilih pemilik, tipe_objek, status, jumlah(*) jumlah# dari grup semua_objek berdasarkan pemilik, tipe_objek, status;
8. Periksa versi database
Pilih versi DARI Product_component_version
Dimana SUBSTR(PRODUK,1,6)='Oracle';
9. Lihat tanggal pembuatan dan metode pengarsipan database
Pilih Dibuat, Log_Mode, Log_Mode Dari V$Database;
10. Capture SQL yang sudah berjalan lama
kolom nama pengguna format a12
kolom opname format a16
format kemajuan kolom a8
pilih nama pengguna, sid, nama opname,
round(sejauh ini*100 / totalwork,0) ||. '%' sebagai kemajuan,
waktu_sisa,sql_text
dari v$session_longops , v$sql
di mana waktu_sisa <> 0
dan sql_address = alamat
dan sql_hash_value = nilai_hash
/
11. Lihat informasi parameter lembar data
PILIH nama_partisi, nilai_tinggi, panjang_nilai_tinggi, nama_ruang tabel,
persen_gratis, persen_digunakan, ini_trans, max_trans, tingkat_awal,
next_extent, min_extent, max_extent, pct_increase, DAFTAR GRATIS,
freelist_groups, LOGGING, BUFFER_POOL, num_rows, blok,
blok_kosong, avg_space, chain_cnt, avg_row_len, sample_size,
terakhir_dianalisis
DARI dba_tab_partitions
--WHERE table_name = :tname DAN table_owner = :towner
ORDER BERDASARkan partisi_posisi
12. Lihat transaksi yang belum dikomit
pilih * dari v$locked_object;
pilih * dari v$transaksi;
13. Temukan proses mana yang digunakan oleh objek tersebut
memilih
p.spid,
s.sid,
s.serial# nomor_seri,
s.nama pengguna nama_pengguna,
a.ketik objek_tipe,
s.osuser os_nama_pengguna,
a.pemilik,
a.objek nama_objek,
memecahkan kode(tanda(48 - perintah),
1,
to_char(perintah), 'Kode Tindakan #' ||.to_char(perintah) ) tindakan,
p.program Oracle_process,
s.terminal terminal,
s.program program,
s.status sesi_status
dari v$sesi s, v$akses a, v$proses p
dimana s.paddr = p.addr dan
s.type = 'PENGGUNA' dan
a.sid = s.sid dan
a.objek='SUBSCRIBER_ATTR'
pesan berdasarkan s.username, s.osuser
14. Tampilan segmen rollback
pilih nomor baris, sys.dba_rollback_segs.segment_name Nama, v$rollstat.extents
Luas, v$rollstat.rssize Size_in_Bytes, v$rollstat.xacts XActs,
v$rollstat.gets Mendapat, v$rollstat.menunggu Menunggu, v$rollstat.writes Menulis,
sys.dba_rollback_segs.status status dari v$rollstat, sys.dba_rollback_segs,
v$rollname di mana v$rollname.name(+) = sys.dba_rollback_segs.segment_name dan
v$rollstat.usn (+) = v$rollname.usn diurutkan berdasarkan nomor baris
15. Proses yang memakan sumber daya (sesi teratas)
pilih s.schemaname skema_nama, decode(tanda(48 - perintah), 1,
to_char(perintah), 'Kode Tindakan #' ||.to_char(perintah) ) tindakan, status
session_status, s.osuser os_user_name, s.sid, p.spid, s.serial# serial_num,
nvl(s.nama pengguna, '[proses Oracle]') nama_pengguna, terminal s.terminal,
s.program program, st.nilai kriteria_nilai dari v$sesstat st, v$sesi s, v$proses p
dimana st.sid = s.sid dan st.statistic# = to_number('38') dan ('ALL' = 'ALL'
atau s.status = 'ALL') dan p.addr = s.paddr diurutkan berdasarkan st.value desc, p.spid asc, s.username asc, s.osuser asc
16. Periksa status kunci
pilih /*+ ATURAN */ ls.osuser os_user_name, ls.nama pengguna nama_pengguna,
decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX',
'Kunci enqueue transaksi', 'UL', 'Kunci yang disediakan pengguna') lock_type,
o.object_name objek, dekode(ls.lmode, 1, null, 2, 'Berbagi Baris', 3,
'Baris Eksklusif', 4, 'Bagikan', 5, 'Bagikan Baris Eksklusif', 6, 'Eksklusif', null)
lock_mode, o.pemilik, ls.sid, ls.serial# serial_num, ls.id1,ls.id2
dari sys.dba_objects o, (pilih s.osuser, s.username, l.type,
l.lmode, s.sid, s.serial#, l.id1, l.id2 dari v$session s,
v$lock l dimana s.sid = l.sid ) ls dimana o.object_id = ls.id1 dan o.owner
<> Urutan 'SYS' oleh o.owner, o.object_name
17. Periksa status menunggu
PILIH v$waitstat.kelas, v$waitstat.hitungan, SUM(v$sysstat.value) jumlah_nilai
DARI v$waitstat, v$sysstat WHERE v$sysstat.name IN ('blok db mendapat',
'mendapatkan konsisten') dikelompokkan berdasarkan v$waitstat.class, v$waitstat.count
18. Periksa situasi sga
PILIH NAMA, BYTES DARI SYS.V_$SGASTAT DIPESAN BERDASARKAN NAMA ASC
19. Lihat objek yang ditangkap
PILIH pemilik, nama, db_link, namespace,
ketik, share_mem, memuat, eksekusi,
kunci, pin, disimpan DARI v$db_object_cache
20. Lihat V$SQLAREA
PILIH SQL_TEXT, SHARABLE_MEM, PERSISTENT_MEM, RUNTIME_MEM, SORTS,
VERSION_COUNT, LOADED_VERSIONS, OPEN_VERSIONS, USERS_OPENING, EKSEKUSI,
USERS_EXECUTING, BEBAN, FIRST_LOAD_TIME, INVALIDASI, PARSE_CALLS, DISK_READS,
BUFFER_GETS, ROWS_PROCESSED DARI V$SQLAREA
dua puluh satu. Lihat jumlah kategori objek
pilih decode (o.type#,1,'INDEX' , 2,'TABLE' , 3 , 'CLUSTER' , 4, 'VIEW' , 5 ,
'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) object_type , jumlah(*) jumlah dari
sys.obj$ o di mana o.type# > 1 grup berdasarkan decode (o.type#,1,'INDEX' , 2,'TABLE' , 3
, 'CLUSTER' , 4, 'VIEW' , 5 , 'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) pilih gabungan
'COLUMN' , count(*) dari sys.col$ union pilih 'DB LINK' , count(*) dari
dua puluh dua. Lihat tipe objek berdasarkan pengguna
pilih skema u.name, jumlah(decode(o.type#, 1, 1, NULL)) indeks,
jumlah(decode(o.type#, 2, 1, NULL)) tabel, sum(decode(o.type#, 3, 1, NULL))
cluster, jumlah(decode(o.type#, 4, 1, NULL)) tampilan, jumlah(decode(o.type#, 5, 1,
NULL)) sinonim, urutan jumlah(decode(o.type#, 6, 1, NULL)),
jumlah(decode(o.type#, 1, NULL, 2, NULL, 3, NULL, 4, NULL, 5, NULL, 6, NULL, 1))
yang lain dari sys.obj$ o, sys.user$ u di mana o.type# >= 1 dan u.user# =
o.owner# dan u.name <> grup 'PUBLIC' berdasarkan u.name diurutkan berdasarkan
sys.link$ union pilih 'CONSTRAINT' , hitung(*) dari sys.con$
dua puluh tiga. Informasi terkait tentang koneksi
1) Periksa pengguna mana yang terhubung
pilih s.osuser os_user_name, decode(tanda(48 - perintah), 1, to_char(perintah),
'Kode Tindakan #' ||.to_char(command) ) tindakan, p.program Oracle_process,
status session_status, s.terminal terminal, s.program program,
s.nama pengguna nama_pengguna, s.meteran aktivitas_tabel_tetap_urutan, ' kueri,
0 memori, 0 max_memory, 0 cpu_usage, s.sid, s.serial# serial_num
dari v$session s, v$process p di mana s.paddr=p.addr dan s.type = 'USER'
pesan berdasarkan s.username, s.osuser
2) Periksa penggunaan sumber daya dari koneksi yang sesuai berdasarkan v.sid
pilih n.nama,
v.nilai,
n.kelas,
n.statistik#
dari v$statname n,
v$sesstat v
dimana v.sid = 71 dan
v.statistik# = n.statistik#
diurutkan berdasarkan n.kelas, n.statistik#
3) Periksa sql yang berjalan dari koneksi yang sesuai berdasarkan sid
pilih /*+ PUSH_SUBQ */
tipe_perintah,
sql_teks,
dapat dibagikan_mem,
persisten_mem,
runtime_mem,
macam,
versi_hitungan,
dimuat_versi,
versi_terbuka,
pengguna_pembukaan,
eksekusi,
pengguna_eksekusi,
banyak,
waktu_muat_pertama,
pembatalan,
parse_panggilan,
disk_reads,
buffer_gets,
baris_diproses,
waktu_mulai sysdate,
tanggal_selesai_waktu,
'>' ||.alamat sql_alamat,
status 'N'
dari v$sqlarea
di mana alamat = (pilih sql_address dari v$session di mana sid = 71)
dua puluh empat. Permintaan penggunaan ruang tabel, pilih a.tablespace_name "nama ruang tabel",
100 putaran((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "Hunian (%)",
bulat(a.bytes_alloc/1024/1024,2) "Kapasitas (M)",
bulat(nvl(b.bytes_free,0)/1024/1024,2) "Gratis(M)",
bulat((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "Gunakan (M)",
"Segmen ekstensi maksimum (M)" terbesar,
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') "waktu pengambilan sampel"
dari (pilih f.tablespace_name,
jumlah(f.bytes) bytes_alloc,
sum(decode(f.autoextensible,'YES',f.maxbytes,'NO',f.bytes)) maxbytes
dari dba_data_files f
kelompokkan berdasarkan tablespace_name) a,
(pilih f.tablespace_name,
jumlah(f.bytes) bytes_free
dari dba_free_space f
kelompokkan berdasarkan tablespace_name) b,
(pilih putaran(maks(ff.panjang)*16/1024,2) Terbesar,
ts.nama tablespace_name
dari sys.fet$ff, sys.file$tf,sys.ts$ts
dimana ts.ts#=ff.ts# dan ff.file#=tf.relfile# dan ts.ts#=tf.ts#
kelompokkan berdasarkan ts.name, tf.blocks) c
dimana a.tablespace_name = b.tablespace_name dan a.tablespace_name = c.tablespace_name
25. Kueri tingkat fragmentasi ruang tabel
pilih tablespace_name,count(tablespace_name) dari grup dba_free_space berdasarkan tablespace_name
memiliki hitungan(tablespace_name)>10;
mengubah nama tablespace menyatu;
mengubah nama tabel membatalkan alokasi yang tidak digunakan;
buat atau ganti tampilan ts_blocks_v sebagai
pilih tablespace_name,block_id,bytes,blocks, 'ruang kosong' segment_name dari dba_free_space
kesatuan semua
pilih tablespace_name,block_id,bytes,blocks,segment_name dari dba_extents;
pilih * dari ts_blocks_v;
pilih tablespace_name,sum(bytes),max(bytes),count(block_id) dari dba_free_space
kelompokkan berdasarkan tablespace_name;
26. Periksa instance mana yang sedang berjalan:
pilih * dari v$active_instances;
-