Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Orhan ERIPEK
3,999 views
Oracle veritabani performans kontrol listesi
Oracle Database Performance Checklist
Technology
◦
Related topics:
Oracle Database Insights
•
Read more
6
Save
Share
Embed
Embed presentation
1
/ 36
2
/ 36
3
/ 36
4
/ 36
5
/ 36
6
/ 36
7
/ 36
8
/ 36
9
/ 36
10
/ 36
11
/ 36
12
/ 36
13
/ 36
14
/ 36
15
/ 36
16
/ 36
17
/ 36
18
/ 36
19
/ 36
20
/ 36
21
/ 36
22
/ 36
23
/ 36
24
/ 36
25
/ 36
26
/ 36
27
/ 36
28
/ 36
29
/ 36
30
/ 36
31
/ 36
32
/ 36
33
/ 36
34
/ 36
35
/ 36
36
/ 36
More Related Content
DOC
εκπαιδευτικό σενάριο ασφάλεια στο διαδίκτυο
by
cpapadak
PDF
Siber Güvenlikte Yapay Zeka Uygulamaları - Webinar
by
BGA Cyber Security
PPTX
Introduction to PyTorch
by
Jun Young Park
PDF
Λειτουργικά Συστήματα ΕΠΑΛ - Βασικές Έννοιες
by
Ministry of Education
PPTX
Convolutional Neural Networks
by
milad abbasi
PDF
Cs a gym_worksheets_20160526
by
papettas
PDF
Network - Bilgisayar Ağlarına Giriş
by
Murat KARA
PDF
A-2_Yλικό_1ο_Φύλλο_Εργασίας
by
ElenaX
εκπαιδευτικό σενάριο ασφάλεια στο διαδίκτυο
by
cpapadak
Siber Güvenlikte Yapay Zeka Uygulamaları - Webinar
by
BGA Cyber Security
Introduction to PyTorch
by
Jun Young Park
Λειτουργικά Συστήματα ΕΠΑΛ - Βασικές Έννοιες
by
Ministry of Education
Convolutional Neural Networks
by
milad abbasi
Cs a gym_worksheets_20160526
by
papettas
Network - Bilgisayar Ağlarına Giriş
by
Murat KARA
A-2_Yλικό_1ο_Φύλλο_Εργασίας
by
ElenaX
What's hot
PDF
Deep learning
by
Rouyun Pan
PPTX
Το υλικό του υπολογιστή
by
Αλεξάνδρα Χρυσανθακοπούλου
PDF
Βασικά Θέματα Πληροφορικής Εργαστήριο 2016
by
Pavlos (Παύλος) Avgerinopoulos (Αυγερινόπουλος)
PDF
An introduction to Deep Learning
by
Julien SIMON
PPTX
Αποθηκευτικά μέσα στον υπολογιστή - Μονάδες εισόδου/εξόδου
by
edioudi
PDF
Senario απλής και σύνθετης δομής επιλογής
by
Nikolaos Bakopoulos
PDF
Λειτουργικά Συστήματα ΕΠΑΛ (Εργαστήριο) - Αποθήκευση Δεδομένων & Λήψη Εφεδρικ...
by
Ministry of Education
PPT
Πληροφορική Β' Γυμνασίου - Το εσωτερικό του Υπολογιστή
by
George Papamitsos
PDF
Siber Güvenlik ve Etik Hacking Sunu - 10
by
Murat KARA
PPTX
κακοβουλο λογισμικο
by
emitsou
PPTX
Αλγόριθμοι- Βασικές Έννοιες
by
Λυκειο Κολυμβαρίου
PDF
Siber Güvenlik ve Etik Hacking Sunu - 1
by
Murat KARA
PPTX
Deep Learning Applications | Deep Learning Applications In Real Life | Deep l...
by
Simplilearn
PPTX
What is Deep Learning?
by
NVIDIA
PDF
Siber Güvenlik ve Etik Hacking Sunu - 13
by
Murat KARA
PPTX
Zararlı Yazılım Tespiti ve Siber i̇stihbarat Amaçlı IOC Kullanımı
by
BGA Cyber Security
PPTX
Δίκτυα υπολογιστών
by
ΒΑΣΙΛΙΚΗ ΔΗΜΟΥΔΗ
PDF
Autoencoder
by
HARISH R
PDF
Siber Güvenlik ve Etik Hacking Sunu - 5
by
Murat KARA
PDF
Κεφάλαιο 5: Γνωριμία με το Λογισμικό του Υπολογιστή
by
Omada Sarantaeksi
Deep learning
by
Rouyun Pan
Το υλικό του υπολογιστή
by
Αλεξάνδρα Χρυσανθακοπούλου
Βασικά Θέματα Πληροφορικής Εργαστήριο 2016
by
Pavlos (Παύλος) Avgerinopoulos (Αυγερινόπουλος)
An introduction to Deep Learning
by
Julien SIMON
Αποθηκευτικά μέσα στον υπολογιστή - Μονάδες εισόδου/εξόδου
by
edioudi
Senario απλής και σύνθετης δομής επιλογής
by
Nikolaos Bakopoulos
Λειτουργικά Συστήματα ΕΠΑΛ (Εργαστήριο) - Αποθήκευση Δεδομένων & Λήψη Εφεδρικ...
by
Ministry of Education
Πληροφορική Β' Γυμνασίου - Το εσωτερικό του Υπολογιστή
by
George Papamitsos
Siber Güvenlik ve Etik Hacking Sunu - 10
by
Murat KARA
κακοβουλο λογισμικο
by
emitsou
Αλγόριθμοι- Βασικές Έννοιες
by
Λυκειο Κολυμβαρίου
Siber Güvenlik ve Etik Hacking Sunu - 1
by
Murat KARA
Deep Learning Applications | Deep Learning Applications In Real Life | Deep l...
by
Simplilearn
What is Deep Learning?
by
NVIDIA
Siber Güvenlik ve Etik Hacking Sunu - 13
by
Murat KARA
Zararlı Yazılım Tespiti ve Siber i̇stihbarat Amaçlı IOC Kullanımı
by
BGA Cyber Security
Δίκτυα υπολογιστών
by
ΒΑΣΙΛΙΚΗ ΔΗΜΟΥΔΗ
Autoencoder
by
HARISH R
Siber Güvenlik ve Etik Hacking Sunu - 5
by
Murat KARA
Κεφάλαιο 5: Γνωριμία με το Λογισμικό του Υπολογιστή
by
Omada Sarantaeksi
Viewers also liked
PDF
Oracle Veritabanı Yönetimi
by
Orhan ERIPEK
PDF
Oracle veritabanı yonetiminde onemli teknikler
by
Orhan ERIPEK
PDF
Oracle Enterprise Manager Cloud Control 12c
by
Orhan ERIPEK
PDF
Oracle Database and Technologies Seminar
by
Orhan ERIPEK
PDF
Oracle Audit Vault & Database Vault
by
Orhan ERIPEK
PDF
Karınca kolonisi algoritması
by
Orhan ERIPEK
PDF
Yapay arı kolonisi algoritması
by
Orhan ERIPEK
PPTX
Networks community detection using artificial bee colony swarm optimization
by
Aboul Ella Hassanien
PDF
Comparative analysis of abc and ics
by
Biswajit Panday
PPT
slide FYP 2
by
Zuhusna Adilla Ibrahim
PDF
Global bee colony_disorder_and_threats_insect_pollinators
by
Patricio Crespo
PPT
Honey Bee Colony Collapse Disorder (Ccd)
by
elantrian
PDF
Trabalho fitos digitais
by
Guilherme Matias de Medeiros
PPTX
التحدى 6 الإستعلام بطريقة المعالج
by
bosy sadek
PPSX
Lesson11 Create Query
by
Abdullatif Tarakji
PPSX
Lesson8 Manage Records
by
Abdullatif Tarakji
PPSX
Lesson4 Protect and maintain databases
by
Abdullatif Tarakji
PPTX
MarketLine Country Statistics Database
by
MarketLine
PPTX
Oracle hard and soft parsing
by
Ishaan Guliani
PPTX
Chapter 11new
by
Weinberghere
Oracle Veritabanı Yönetimi
by
Orhan ERIPEK
Oracle veritabanı yonetiminde onemli teknikler
by
Orhan ERIPEK
Oracle Enterprise Manager Cloud Control 12c
by
Orhan ERIPEK
Oracle Database and Technologies Seminar
by
Orhan ERIPEK
Oracle Audit Vault & Database Vault
by
Orhan ERIPEK
Karınca kolonisi algoritması
by
Orhan ERIPEK
Yapay arı kolonisi algoritması
by
Orhan ERIPEK
Networks community detection using artificial bee colony swarm optimization
by
Aboul Ella Hassanien
Comparative analysis of abc and ics
by
Biswajit Panday
slide FYP 2
by
Zuhusna Adilla Ibrahim
Global bee colony_disorder_and_threats_insect_pollinators
by
Patricio Crespo
Honey Bee Colony Collapse Disorder (Ccd)
by
elantrian
Trabalho fitos digitais
by
Guilherme Matias de Medeiros
التحدى 6 الإستعلام بطريقة المعالج
by
bosy sadek
Lesson11 Create Query
by
Abdullatif Tarakji
Lesson8 Manage Records
by
Abdullatif Tarakji
Lesson4 Protect and maintain databases
by
Abdullatif Tarakji
MarketLine Country Statistics Database
by
MarketLine
Oracle hard and soft parsing
by
Ishaan Guliani
Chapter 11new
by
Weinberghere
Similar to Oracle veritabani performans kontrol listesi
DOC
Performance Tuni̇ng
by
Anar Godjaev
PDF
Oracle Database & Oracle Datawarehouse Best Practices
by
Zekeriya Besiroglu
PPT
Dba için oracle veritabanı 11g yeni özellikleri
by
Zekeriya Besiroglu
PDF
İleri Seviye T-SQL Programlama - Chapter 08
by
Cihan Özhan
PDF
6.Oracle Day2009 Engin Senel V2
by
Ermando
PPTX
Veri̇ tabani oluşturma ve yapilandirma
by
oktaygokgol
DOC
Orneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdan
by
Anar Godjaev
PDF
İleri Seviye T-SQL Programlama - Chapter 19
by
Cihan Özhan
DOC
DATABASEI ARCHIVE MODA ALMA
by
Anar Godjaev
PPTX
SCOM 2007 R2 ile SBS 2011 İzlenmesi
by
Mustafa
PPT
Kod günleri veritabnı
by
Mustafa Tepe
PPT
Kod günleri veritabnı
by
Murad İmanbayli
PPT
SCOM 2007 Management Pack Yönetimi ve Server (SQL,Web) Performans İzlemesi
by
Serhad MAKBULOĞLU, MBA
PPTX
Veri̇ tabani ve dosya yöneti̇mi̇
by
oktaygokgol
PDF
Exadata Performance Notes
by
Özgür Umut Vurgun
DOCX
SQL TUNING
by
Anar Godjaev
PPT
System Center Operations Manager 2007 Management Pack Yönetimi ve Server Perf...
by
ÇözümPARK
PPTX
SQL Server Performans İpuçları
by
turgaysahtiyan
DOCX
Veri̇tabani ve Kullanici Yöneti̇mi̇
by
Anar Godjaev
PPT
Cem kubilay
by
TeradataDay
Performance Tuni̇ng
by
Anar Godjaev
Oracle Database & Oracle Datawarehouse Best Practices
by
Zekeriya Besiroglu
Dba için oracle veritabanı 11g yeni özellikleri
by
Zekeriya Besiroglu
İleri Seviye T-SQL Programlama - Chapter 08
by
Cihan Özhan
6.Oracle Day2009 Engin Senel V2
by
Ermando
Veri̇ tabani oluşturma ve yapilandirma
by
oktaygokgol
Orneklere Oracle 11gR2 ve Genel Kavramlar Isimli kitabdan
by
Anar Godjaev
İleri Seviye T-SQL Programlama - Chapter 19
by
Cihan Özhan
DATABASEI ARCHIVE MODA ALMA
by
Anar Godjaev
SCOM 2007 R2 ile SBS 2011 İzlenmesi
by
Mustafa
Kod günleri veritabnı
by
Mustafa Tepe
Kod günleri veritabnı
by
Murad İmanbayli
SCOM 2007 Management Pack Yönetimi ve Server (SQL,Web) Performans İzlemesi
by
Serhad MAKBULOĞLU, MBA
Veri̇ tabani ve dosya yöneti̇mi̇
by
oktaygokgol
Exadata Performance Notes
by
Özgür Umut Vurgun
SQL TUNING
by
Anar Godjaev
System Center Operations Manager 2007 Management Pack Yönetimi ve Server Perf...
by
ÇözümPARK
SQL Server Performans İpuçları
by
turgaysahtiyan
Veri̇tabani ve Kullanici Yöneti̇mi̇
by
Anar Godjaev
Cem kubilay
by
TeradataDay
Oracle veritabani performans kontrol listesi
1.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | Oracle Veritabanı Performans Kontrol Listesi 1 Orhan Eripek orhaneripek.com Senior Oracle DBA Oracle ACE Associate 10g/11g OCP Member of TROUG Oracle SQL, Analitik SQL ve PL/SQL kitabı yazarlarından Database Administration SIG 2017
2.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | Ajanda 2 1 Kontrol listesi (Checklist) nedir? Faydaları nelerdir? Günlük hayatta kullandığımız örnek kontrol listeleri nelerdir? Oracle Veritabanı Performans yönetiminde kontrol listesi (Check list) gerekli midir? Olursa faydaları nelerdir? Oracle Veritabanı Performans Kontrol listemizde neler olmalıdır? Birlikte oluşturalım! Kontrol listemizin güncellenmesi (Checklist check) 2 3 4
3.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 3 Kontrol listesi (Checklist) nedir? Faydaları nelerdir? Günlük hayatta kullandığımız örnek kontrol listeleri nelerdir? Günlük hayatta kullandığımız kontrol listeleri örnekleri; Acil durum planı kontrol listesi Güvenlik kontrol listesi Sağlık kontrol listesi (Check Up) Temizlik kontrol listesi Yemek kontrol listesi Pilotun uçuş kontrol listesi Şantiye, Oto tamir, Kasap, Lokanta, Pastane,... kontrol listeleri Checklist: «Yapılması veya kontrol edilmesi gerekenler listesi», «Başvurulan standart kontroller listesi», «Yapılan bir işin eksiksiz ve hatasız olduğunu kontrol etmek için yapılan liste» ... To-Do list genel olarak yapılacaklar listesi iken Checklist, yapılan bir işe ait kontroller listesidir.
4.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 4 Oracle Veritabanı Performans yönetiminde kontrol listesi (Checklist) gerekli midir? Olursa faydaları nelerdir? Beklenmedik bir anda yaşanan sorunla ilgili zamanında kontroller yapmadıysak (veya Checklist'imizde yoksa) hem zaman, efor kaybı yaşarız hem de sorunu büyüterek içinden çıkılmaz durumlara düşebiliriz. Veritabanının stabil-performanslı çalışmasını istiyorsak neden bir ‘Oracle Veritabanı Performans Checklist’imiz olmasın! Veritabanında yaptığımız iyileştirmelerin sonuçlarını görerek önceki durumu ile karşılaştırabilmek için de Checklist’lerimizden faydalanabiliriz Özellikle üretim ortamı (canlı, production) veritabanlarında yaptığımız operasyonel çalışmalarda bir rollback planımızın olmasının yanında ayrıca bir Checklist’imizin de olması oldukça önemlidir.
5.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 5 Oracle Veritabanı Performans Kontrol listemizde neler olmalıdır? Birlikte oluşturalım! İnvalid obje var mı? Unusable index var mı? SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, LAST_DDL_TIME FROM dba_objects WHERE status LIKE 'INVALID' ORDER BY LAST_DDL_TIME DESC; SELECT 'ALTER INDEX ' || owner || '.' || index_name || ' REBUILD;' FROM dba_indexes WHERE status = 'UNUSABLE';
6.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 6 İndex monitoring -> invisible index -> drop index SET HEADING OFF SET ECHO OFF SET PAGES 10000 SPOOL start_monitoring.sql SELECT 'alter index ' || owner || '.' || index_name || ' monitoring usage;' FROM dba_indexes WHERE owner NOT IN ('SYS', 'SYSTEM', 'SYSMAN', ...); SPOOL OFF @start_monitoring.sql / SELECT * FROM (SELECT do.owner, io.NAME index_name, t.NAME table_name, DECODE (BITAND (i.flags, 65536), 0, 'NO', 'YES') monitoring, DECODE (BITAND (ou.flags, 1), 0, 'NO', 'YES') used, ou.start_monitoring, ou.end_monitoring FROM SYS.obj$ io, SYS.obj$ t, SYS.ind$ i, SYS.object_usage ou, dba_objects do WHERE i.obj# = ou.obj# AND io.obj# = ou.obj# AND t.obj# = i.bo# AND ou.obj# = do.object_id) WHERE monitoring = 'YES';
7.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 7 Sql Trace ile Sql kontrolü BEGIN execute_immediate ('ALTER SESSION SET TRACEFILE_IDENTIFIER= REAL_RUN'); execute_immediate ('ALTER SESSION SET SQL_TRACE=TRUE'); END; C:appoeripekproduct11.2.0client_1BIN>tkprof C:UsersoeripekDesktopORCL_j003.trc C:DISKdeneme.out TKPROF: Release 11.2.0.1.0 - Development on Pzt Eyl 22 16:16:25 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. C:appoeripekproduct11.2.0client_1BIN> ora_541211_err.trc deneme.out SELECT value FROM v$parameter WHERE name LIKE '%max_dump_file_size%' Özellikle db Paket’lerinde çokça geçen sql’lerimizi detaylı incelemek için trace açabiliriz. Oluşacak trace logların boyutuna dikkat etmeliyiz. Çok fazla log üreteceksek max_dump_file_size değerimiz küçük olmamalıdır. > 1 GB veya > 3 GB vs. gibi olabilir.
8.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 8 Sql Profile ile set edilen Sql hint kontrolü DECLARE clsql_text CLOB; BEGIN SELECT sql_fulltext INTO clsql_text FROM V$sqlarea where sql_id = '9ymwq4t1v1k8n'; dbms_sqltune.import_sql_profile(sql_text => clsql_text, profile=> sqlprof_attr('FIRST_ROWS PUSH_PRED(@SEL$3) PUSH_PRED(@SEL$4) INDEX(@SEL$3 A_NDX1) INDEX(@SEL$2 TABL0_@SEL$2 A_NDX2)'), name=>'PROFILE_9ymwq4t1v1k8n', force_match=>true); end; select * from DBMSHSXP_SQL_PROFILE_ATTR where profile_name like '%9ymwq4t1v1k8n%'; select ADDRESS, HASH_VALUE from V$SQLAREA where SQL_ID like '%9ymwq4t1v1k8n%'; exec sys.DBMS_SHARED_POOL.PURGE ('07000012B66E3230,4036285191', 'C'); EXEC DBMS_SQLTUNE.DROP_SQL_PROFILE('PROFILE_9ymwq4t1v1k8n'); Zamanla sql profile’da sql için set ettiğimiz hint eskisi gibi performans sağlamayabilir. Bu Hint’i değiştirmek veya sql profile tanımını drop edebiliriz.
9.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 9 Schema veya Tablo istatistik kontrolü BEGIN DBMS_STATS.gather_schema_stats ( ownname => 'SCHEMA', method_opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO', cascade => TRUE, estimate_percent => 10, no_invalidate => FALSE, force => TRUE, degree => 16); END; BEGIN DBMS_STATS.gather_table_stats ( ownname => 'ORHAN', tabname => 'TEST_LOG_TABLE', method_opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO', cascade => TRUE, estimate_percent => DBMS_STATS.auto_sample_size, no_invalidate => TRUE); END; BEGIN DBMS_STATS.gather_table_stats ( ownname => 'ORHAN', tabname => 'TEST_LOG_TABLE', partname => 'P201601', estimate_percent => dbms_stats.auto_sample_size, granularity => 'PARTITION', no_invalidate => TRUE, cascade => Dbms_stats.AUTO_CASCADE, degree => 8); END; Tablo ve index’lerin istatistikleri güncel olmalıdır ki Cost-Based Optimizer (CBO) bu güncel bilgilerle doğru Cost- maliyet üretebilsin. Aksi halde yanlış sql planları oluşturarak performansız sorgularla karşı karşıya gelebiliriz.
10.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 10 Partition kontrolü: Partition’lı tablolarımız hangileri? Eksik partition’ı olanlar var mı? Otomatik Part add mekanizmamız varsa partitionları eklemiş mi? SELECT DISTINCT table_owner, table_name FROM all_tab_partitions WHERE table_name NOT LIKE 'BIN$%' AND table_owner NOT IN ('SYS', 'SYSTEM‘,...); Partition ekledikten sonra tablo indexleri unusable’a düşebilir, kontrol edilmeli, unusable olanlar rebuild edilmelidir. OLTP db’lerde boyutu çok büyük tablolarda online split partition yapabilmenin bir diğer yöntemi de redefinition table ‘dır. DBMS_REDEFINITION paketi ile Oracle bu desteği vermektedir.
11.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 11 Resource Manager’a set ettiğimiz değerler kullanıcı kaynak kısıtlamalarını sağlıyor mu? Kaynak tüketim saatlerini gözeterek gündüz ve gece planları veya da belirli saatler aralığında çalışacak planlar oluşturabiliriz. Bu aktif resource planlarımızın istatistiğini Enterprise Manager (veya EM Cloud Control)’dan veya sql sorgularıyla görebiliriz. SELECT TO_CHAR (m.begin_time, 'HH:MI') time, m.consumer_group_name, m.cpu_consumed_time / 60000 avg_running_sessions, m.cpu_wait_time / 60000 avg_waiting_sessions, d.mgmt_p1 * (SELECT VALUE FROM v$parameter WHERE name = 'cpu_count') / 100 allocation FROM v$rsrcmgrmetric_history m, dba_rsrc_plan_directives d, v$rsrc_plan p WHERE m.consumer_group_name = d.group_or_subplan AND p.name = d.plan ORDER BY m.begin_time, m.consumer_group_name; CPU, IO ve parallelik derecelerini istediğimiz gibi set edebiliyoruz. Bu set ettiğimiz değerlerle doğru kaynak paylaşımı yapmış mıyız yoksa adil paylaşım yapamamış mıyız? Bu durumda faydadan çok sorun yaratmış olabiliriz. Titizlikle kontrol edilmesi gerekmektedir.
12.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 12 Profile, Role kontrolleri, otomatik yetki atamaları sağlıklı çalışıyor mu? Bilgi güvenliği kriterlerine uyumlu olacak şekilde ve veritabanının kontrollü yönetilebilmesi için; kullanıcı profillerine göre roller oluşturulmalı, her yeni kullanıcı için otomatikmen role atanmalı veya deactive edilecek kullanıcılar için role geri alınmalı, yeni tablolar eklendikçe otomatikmen ilgili role yetkilerinin otomatik eklenmesi ve kullanıcıların otomatik lock’lanması veya unlock edilmesi gibi otomatize ettiğimiz jobların kontrolü önemlidir.
13.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 13 Yetkisiz yetkilendirmeler var mı? Yetkisiz kullanıcı girişleri için DBA_AUDIT_TRAIL view’inin logon/logoff bilgilerini ve oluşturacağınız white list / black list tablolarınızı kullanarak sch. Job oluşturabilir, hatalı girişlerde otomatik mail ile bilgilendirilebilirsiniz. «... tarihinde ... kullanıcısı ... veritabanına hatalı giriş / yetkisiz giriş yaptı» Veya «... tarihinde ... kullanıcısı... veritabanında...tablosuna insert/update/delete girişiminde bulundu.» gibi.
14.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 14 Active / Inactive sesssion sayısı kontrolü? Public yetkilendirmeler var mı? SELECT spid AS thread, osuser, s.program, s.LOGON_TIME, s.STATUS, p.PROGram, s.SID FROM v$process p, v$session s WHERE p.addr = s.paddr AND s.status NOT IN ('ACTIVE') ORDER BY 2 DESC; SELECT * FROM dba_tab_privs WHERE grantee = 'PUBLIC' AND owner NOT IN ('SYS', 'SYSTEM', 'SYSMAN', ...) ORDER BY owner;
15.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 15 Lock’lı tablolar ve sessionlar kontrolü -- tabloda lock var mı? SELECT s.inst_id, l.SID, s.serial#, l.TYPE, d.object_name, s.username blocking_session, s.osuser, l.LMODE FROM gv$lock l, dba_objects d, gv$session s WHERE d.object_id = l.id1 AND s.SID = l.SID AND s.inst_id = l.inst_id AND d.object_name LIKE UPPER ('%TEST_TABLE%') ORDER BY inst_id; -- locklı sessionları kill et SELECT 'ALTER SYSTEM KILL SESSION ' || CHR (39) || s.SID || ',' || s.SERIAL# || CHR (39) || ';', 'kill -9 ' || p.spid, osuser, d.object_name, s.*, c.* FROM gv$session s, gv$process p, gv$locked_object c, dba_objects d WHERE s.paddr = p.addr AND s.sid = c.session_id AND c.object_id = d.object_id
16.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 16 Asm disk ve db size kontrolü SELECT name, total_mb / 1024 AS total_gb, TRUNC (cold_used_mb / 1024) AS used_gb, ROUND (free_mb / 1024) AS free_gb FROM v$asm_diskgroup; SELECT ROUND (SUM (used.bytes) / 1024 / 1024 / 1024) AS db_size_gb, ROUND (SUM (used.bytes) / 1024 / 1024 / 1024) - ROUND (free.p / 1024 / 1024 / 1024) used_space_gb, ROUND (free.p / 1024 / 1024 / 1024) AS fre_space_gb FROM (SELECT bytes FROM v$datafile UNION ALL SELECT bytes FROM v$tempfile UNION ALL SELECT bytes FROM v$log) used, (SELECT SUM (bytes) AS p FROM dba_free_space) free GROUP BY free.p; ASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 4096 1048576 409600 46594 0 46594 0 N ASM_DATA/ ASMCMD>
17.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 17 Veritabanı tablo ve indexlerin boyutları kontrolü select owner, segment_name as table_name, sum(bytes)/(1024*1024*1024) table_size_gb from dba_extents where segment_type in ('TABLE', 'TABLE PARTITION') group by owner,segment_name,bytes having sum(bytes)/(1024*1024*1024)>50 order by table_size_gb desc; select owner, segment_name as index_name, sum(bytes)/(1024*1024*1024) index_size_gb from dba_extents where segment_type in ('INDEX', 'INDEX PARTITION') group by owner,segment_name,bytes having sum(bytes)/(1024*1024*1024)>50 order by bytes desc; Boyutu çok büyük tablo veya index’ler için özel çalışma yapılabilir. Bunların listesi çıkarılmalı, gözetlenmelidir.
18.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 18 Fragmante olmuş tabloların kontrolü FRAGMENTED_SPACE size’ı büyük tablolar uygun zamanda önce test sonra prod ortamda shirink yapılarak fragmante olan block yapıları sıkıştırılarak tablolar olması gerektiği size’a getirilebilir. Alternatif olarak tablolar drop-create edilebilir veya başka bir tablespace’e move edilebilir. select owner,table_name, 'alter table ' || owner || '.' || table_name || ' shrink space cascade;' "SHRINK", round(((blocks*8/1024))) "TOTAL_SIZE_MB", round((num_rows*avg_row_len/1024/1024)) "ACTUAL_SIZE_MB", round(((blocks*8/1024)-(num_rows*avg_row_len/1024/1024))) "FRAGMENTED_SPACE_MB" from all_tables where owner not in ('SYS','SYSTEM') and round(((blocks*8/1024)-(num_rows*avg_row_len/1024/1024)))>100 order by "FRAGMENTED_SPACE_MB" desc
19.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 19 Geçici, atıl durumda kalan tabloların belirlenerek temizlenmesi kontrolü SELECT * FROM (SELECT owner, object_name, object_type, created, last_ddl_time FROM dba_objects WHERE object_name LIKE '%TEST%' OR object_name LIKE '%DENEME%' OR object_name LIKE '%SIL%' OR object_name LIKE '%GECICI%'); TEST, DENEME, SIL, GECICI, vs. gibi ifadeler geçen tablolar belirlenmeli, gereksiz oldukları belirlenenler drop edilmelidir.
20.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 20 Haftalık veya aylık veritabanı büyümesi kontrolü SELECT systarih, tablespace_name, TRUNC (GBYTE_used, 1) AS GBYTE_used, TRUNC (GBYTE_free, 1) AS GBYTE_free, TRUNC (GBYTE_sum_area, 1) AS GBYTE_sum_area, TRUNC (percent_used, 1) AS percent_used FROM ( SELECT SYSDATE AS systarih, a.tablespace_name, a.BYTES / 1024 / 1024 / 1024 AS GBYTE_used, b.BYTES / 1024 / 1024 / 1024 AS GBYTE_free, ( (a.BYTES / 1024 / 1024 / 1024) + (b.BYTES / 1024 / 1024 / 1024)) AS GBYTE_sum_area, ROUND ( ( (a.BYTES - b.BYTES) / a.BYTES) * 100, 2) AS percent_used FROM ( SELECT tablespace_name, SUM (BYTES) BYTES FROM SYS.dba_data_files GROUP BY tablespace_name) a, ( SELECT tablespace_name, SUM (BYTES) BYTES, MAX (BYTES) max_free_area FROM SYS.dba_free_space GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name ORDER BY ( (a.BYTES - b.BYTES) / a.BYTES) DESC) SELECT RECORD_DATE, SIZE_IN_MB / 1024 FROM MYDB_TABLESPACE_SIZES WHERE TABLESPACE_NAME = 'TOPLAM' AND RECORD_DATE BETWEEN '24/03/2016' AND '24/04/2016';
21.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 21 .log dosyaların kontrolü adrci> show tracefile %.log diag/asm/+asm/+ASM1/trace/alert_+ASM1.log diag/clients/user_oracle/host_2010429000_11/trace/sqlnet.log diag/clients/user_oracle/host_2010429000_80/trace/sqlnet.log diag/rdbms/rac/node1/trace/alert_RACPROD.log diag/rdbms/rac/node1/trace/sbtio.log diag/tnslsnr/rac_pc/listener/trace/listener.log diag/tnslsnr/rac_pc/listener2/trace/listener2.log diag/tnslsnr/rac_pc/listener_rac_pc/trace/listener_rac_pc.log diag/tnslsnr/rac_pc/listener_scan1/trace/listener_scan1.log diag/tnslsnr/rac_pc/status/trace/status.log adrci> adrci (Automatic Diagnostic Repository Command Interface) kullanarak log dosyaların dizinlerini görebilir, «show incident» ve «show alert» ile hatalı kayıtları inceleyebiliriz. Aynı şekilde eğer RAC mimarisi kullanıyorsak Cluster loglarını da kontrol etmemiz gerekiyor. RAC node’ları arasındaki load balance – yük dağılımı normal mi vs.
22.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 22 Rman backup log kontrolü: hata almış mı başarılı bitmiş mi? rman backup süreleri, backup validate, Rman backuplar ve test ortamlarına restore edilerek test edilmesi -- alınan RMAN Backuplar SELECT TO_CHAR (start_time, 'dd.mm.yyyy hh24:mi:ss') start_time, TO_CHAR (end_time, 'dd.mm.yyyy hh24:mi:ss') end_time, status, object_type, output_device_type FROM v$rman_status WHERE OPERATION = 'BACKUP' ORDER BY start_time DESC; -- çalışan RMAN Backup işleri ve statüleri SELECT * FROM ( SELECT TO_CHAR ( start_time, 'DD-MON- YY HH24:MI') "Start", TO_CHAR (end_time, 'DD-MON-YY HH24:MI') "End", time_taken_display "Time", input_bytes_display "Input", output_bytes_display "Output", input_bytes_per_sec_display "Input/sec", output_bytes_per_sec_display "Output/sec", output_device_type, status, input_type, ROUND (elapsed_seconds / 60, 2) "Elapsed Min", Optimized, ROUND (compression_ratio, 2) "Compress Ratio" FROM v$rman_backup_job_details ORDER BY session_key DESC)
23.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 23 Exportlar ve importlar: ne kadar sürede alındığı? hata almış mı? başarılı bitmiş mi? Dump file set for SYS.TESTDB_EXP_201602202102 is: /oracle/export/testdb_20160220_2102_datapump01.dmp /oracle/export/testdb_20160220_2102_datapump02.dmp Job "SYS"."TESTDB_EXP_201602202102" successfully completed at 22:12:10 Export veya import işleri tamamlandığında otomatik mail ile bilgilendirilmek oldukça faydalı olur. Özellikle başarılı tamamlanmış mı yada hata almış mı görebilmek için log’larının kontrolü önemlidir. ORA-31693: Table data object "TEST"."TEST_890536" failed to load/unload and is being skipped due to error: ORA-02354: error in exporting/importing data ORA-39826: Direct path load of view or synonym (TEST.TEST_890536) could not be resolved. veya
24.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 24 Alert.log kontrolü Veritabanı ORA- hata durumlarını, alter system, alter database komutlarıyla yapılan değişiklikleri, veritabanı açılması-kapanması bilgilerini tutan bu log dosyasını inceleyerek problemleri, uyarıları inceleyebiliriz. Çoğu zaman ilk kontrol etmemiz gerekenlerden biridir. Sqlplus’tan «show parameter background» ile, EM ile, adrci ile, v$diag_info ile veya v$parameter ile alert.log dizinini görebiliriz. Veritabanı sistemi üzerinde çalışma yaparken de aşağıdaki gibi açarak arka planda neler yapıldığını sürekli izleyebiliriz; tail -10f alert_testdb.log Alert.log dosyasının daha kolay okunabilmesi için external table create ederek tablodan sorgulayabiliriz.
25.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 25 OEM Cloud Control ile Performans İzleme
26.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 26 OEM Cloud Control ile Alert ve Uyarı Mekanizması - Metricler
27.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 27 AWR (Automatic Workload Repository) Raporu 27 MMON istatistikleri üretir, bu bilgiler saat başı alınan snapshot’larda kaydedilir, problem anında belli snapshot’lar arasındaki veritabanı durumunu AWR raporları detaylı açıklar. Top 5 Events, Wait Events, Load Profile, System- I/O-Memory- Sql Statistics en önemli bölümleridir. $ORACLE_HOME/rdbms/admin/awrrpt. sql (RAC ise awrgrpt.sql ) scripti ile, Toad vb. toollar ile veya EM -> ‘Automatic Workload Repository’ ile AWR raporlarını oluşturabiliriz.
28.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 28 DB time kontrolü SELECT I.INSTANCE_NAME INSTANCE_NAME_PRINT, S.SNAP_ID SNAP_ID, TO_CHAR (S.STARTUP_TIME, 'mm/dd/yyyy HH24:MI:SS') STARTUP_TIME, TO_CHAR (S.BEGIN_INTERVAL_TIME, 'mm/dd/yyyy HH24:MI:SS') BEGIN_INTERVAL_TIME, TO_CHAR (S.END_INTERVAL_TIME, 'mm/dd/yyyy HH24:MI:SS') END_INTERVAL_TIME, ROUND ( EXTRACT (DAY FROM S.END_INTERVAL_TIME - S.BEGIN_INTERVAL_TIME) * 1440 + EXTRACT (HOUR FROM S.END_INTERVAL_TIME - S.BEGIN_INTERVAL_TIME) * 60 + EXTRACT (MINUTE FROM S.END_INTERVAL_TIME - S.BEGIN_INTERVAL_TIME) + EXTRACT ( SECOND FROM S.END_INTERVAL_TIME - S.BEGIN_INTERVAL_TIME) / 60, 2) ELAPSED_TIME, ROUND ( (E.VALUE - B.VALUE) / 1000000 / 60, 2) DB_TIME, ROUND ( ( ( ( (E.VALUE - B.VALUE) / 1000000 / 60) / ( EXTRACT ( DAY FROM S.END_INTERVAL_TIME - S.BEGIN_INTERVAL_TIME)* 1440 + EXTRACT ( HOUR FROM S.END_INTERVAL_TIME - S.BEGIN_INTERVAL_TIME) * 60 + EXTRACT ( MINUTE FROM S.END_INTERVAL_TIME - S.BEGIN_INTERVAL_TIME) + EXTRACT ( SECOND FROM S.END_INTERVAL_TIME - S.BEGIN_INTERVAL_TIME) / 60)) * 100), 2) PCT_DB_TIME FROM DBA_HIST_SNAPSHOT S, GV$INSTANCE I, DBA_HIST_SYS_TIME_MODEL E, DBA_HIST_SYS_TIME_MODEL B WHERE I.INSTANCE_NUMBER = S.INSTANCE_NUMBER AND E.SNAP_ID = S.SNAP_ID AND B.SNAP_ID = S.SNAP_ID – 1 AND E.STAT_ID = B.STAT_ID AND E.INSTANCE_NUMBER = B.INSTANCE_NUMBER AND E.INSTANCE_NUMBER = S.INSTANCE_NUMBER AND E.STAT_NAME = 'DB time' ORDER BY DB_TIME DESC; Db time’ın en yüksek olduğu saat aralığı gözetlenerek o saat aralığının AWR raporlarına bakılabilir.
29.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 29 Db Server CPU, IO, Swap, Memory, Disk periyodik kontrolü (PRTG, nagios, nmon, ..) Bazen db’de aldığımız hatalar db kaynaklı olmayabilir. Server veya ağ kaynaklı da olabilir, şüpheci davranıp tüm bu ortamları kontrol etmekte fayda var. Mümkünse db server haftalık rapor grafikleri incelenmelidir.
30.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 30 ORAchk - Healt Check Raporu ile genel db kontrolü Oracle veritabanı ve sunucusu üzerinde kontroller yaparak bulgularını tespit eder, tavsiyelerde bulunur. Default değerleri sunmasının yanında Best Practices’ler ve SR linkleri verir. RACchk ve Exachk tool’ları da vardır. Doc ID 1268927.2 linkinden son versiyonu indirebilirsiniz.
31.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 3131 OS Watcher ile db server kaynak kullanım kontrolü Oracle db sunucusunun CPU, DISK, Memory.. gibi kaynaklarının istatiksel bilgilerini toplar ve grafiksel olarak sunar. Bu tool belirli aralıklarla (default 30 saniye) ps, top, vmstat, iostat gibi Unix komutlarını kullanarak log toplar. Örneğin, OSWatcher’ ı 60 sn aralıkla ve 3 gün boyunca(3*24 saat) archive tutacak şekilde kurgulayabiliriz; OSW_DIRECTORY = /u01/oswatcher/oswbb OSW_DATA DIRECTORY = /u01/oswatcher/data OSW_START_COMMAND = nohup sh startOSWbb.sh 60 72 gzip /u01/oswatcher/data OSW_INTERNAL = 60 seconds OSW_RETENTION = 72 hours OWS_COMPRESSION = gzip Doc ID 1531223.1 metalink’ten son versiyonu indirebilirsiniz.
32.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 32 TFA (Oracle Trace File Analyzer) Oracle ve Grid altındaki logları tek komutla toplamak ve analiz etmek için kullandığımız bir tool’dur TFA tool’u ORAchk, EXAchk, oswacher, procwather,..vb. tool’ları da kapsar Oracle ‘a SR açtığımızda çoğu zaman bizden TFA çıktılarını da ister TFA Collector - TFA with Database Support Tools Bundle (Doc ID 1513912.1) Oracle metalink dokumanından detaylı bilgilere ulaşabilirsiniz Aşağıdaki gibi belirli bir tarih aralığı için TFA raporu çıkarabilirsiniz: [root@testdb]# cd /u01/app/oracle/tfa/testdb/tfa_home/bin [root@testdb bin]# ./tfactl diagcollect -tag SR_3_13379477661 -from "Sep/28/2016 13:00:00" -to "Sep/28/2016 15:00:00" .... ... Logs are being collected to: /u01/app/oracle/tfa/repository/ SR_3_13379477661 /u01/app/oracle/tfa/repository/ SR_3_13379477661 /testdb.tfa_Tue_Nov_29_11_25_16_+03_2016.zip
33.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 33 Önce ORA- hatasının araştırılması sonra Oracle’a açılan SR’ların kullanımı ve kontrolü Hata alındığında eğer 30 dk. içinde çözüm sağlayamıyorsak vakit kaybetmeden aynı zamanda metalinkten Oracle’a SR açmalıyız Açtığımız SR’a alert.log, trace.log’un yanısıra varsa screen shot’lar veya ilgili olabilecek çıktıları eklemeliyiz Mümkün olduğunca detay bilgi verebilirsek daha az karşılıklı yazışma olur Eğer hatamızın çözümü bug ile fix edilecek ise bug’ın tüm semptonlarını incelemek ve mümkünse öncelikle test ortamında uygulayarak sonuçlarını izlemek gerekir Bazen küçük hatalar kısa zaman sonra büyük hataları doğurabilir. Bu yüzden küçük büyük demeden tüm ORA- hatalarını detaylı incelemek için metalinkte ve/veya varsa https://community.oracle.com ‘daki çözüm yollarına bakmak gerekir.
34.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | 34 İdeal Checklist tecrübelerle olgunlaşır. Doğru olmayan Checklist’lerimizden sorumlu olacağımız için dikkatli hazırlamalı ve fayda sağlayacak listeler oluşturmalıyız. Veritabanında kontrol edilmesi gereken birçok nokta var, tüm hepsini aynı anda aklımızda tutamayabilir bazı noktaları kontrol etmeyi unutabiliriz. Eğer bu alışkanlık haline gelirse o zaman sonuç daha kötü. Dolayısıyla elimizin altında buna benzer bir kontrol listemizin olması işimizi oldukça kolaylaştıracaktır. Zamanla listelerimizdeki bazı maddelerin çıkarılması veya yeni maddelerin eklenmesi gerekebilir. Sürekli güncel tutmamız önemli. Yani kontrol listelerimizi de kontrol etmeliyiz. Bu şekilde ideal Checklist’imiz olur. Kontrol listemizin güncellenmesi (Checklist check)
35.
Copyright © 2014
Oracle and/or its affiliates. All rights reserved. | Referanslar: • https://blogs.oracle.com/db/entry/oracle_resource_manager_and_dbms • https://support.oracle.com