oracle 11g 之LogMiner分析重做日志实践
1.安装LogMiner 以DBA用户身份运行下面2个脚本: dbmslm.sql用来创建DBMS_LOGMNR包,该包用来分析日志文件。 SQL @$ORACLE_HOME/rdbms/admin/dbmslm.sql;Package created.Grant succeeded.Synonym created. dbmslmd.sql用来创建DBMS_LOGMNR_D包,该包用来创
1.安装LogMiner
以DBA用户身份运行下面2个脚本:
- dbmslm.sql用来创建DBMS_LOGMNR包,该包用来分析日志文件。
SQL> @$ORACLE_HOME/rdbms/admin/dbmslm.sql; Package created. Grant succeeded. Synonym created.Nach dem Login kopieren
- dbmslmd.sql用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。
SQL> @$ORACLE_HOME/rdbms/admin/dbmslmd.sql; Package created. Synonym created.Nach dem Login kopieren
2.设置参数UTL_FILE_DIR
添加参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录,
SQL> CREATE DIRECTORY utlfile AS '/home/oracle/logminer'; Directory created. SQL> alter system set utl_file_dir='/home/oracle/logminer' scope=spfile; System altered.Nach dem Login kopieren
![]()
重启数据库,生效上面的设置。
SQL> shutdown immediate; SQL> startup; SQL> show parameters utl_file_dir;Nach dem Login kopieren
![]()
3.启动补充日志
补充日志不是LogMiner日志分析必须的步骤,但是如果不启用补充日志,分析日志的的很多结果集信息就会显示为“UNKNOWN”,下面是开启最小补充日志。
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; Database altered. SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE; SUPPLEME -------- YESNach dem Login kopieren
![]()
4.创建专门的LogMiner用户
不是必须,实为管理安全方便。
5.创建数据字典
SQL> EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/home/oracle/logminer');Nach dem Login kopieren
6.添加需要分析的在线日志或者归档日志
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>' /home/oracle/flash_recovery_area/PRIMARY/archivelog/2016_04_25/o1_mf_1_199_ckv04o6w_.arc',OPTIONS => DBMS_LOGMNR.NEW); SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>' /home/oracle/flash_recovery_area/PRIMARY/archivelog/2016_04_25/o1_mf_1_201_ckv08jyp_.arc',OPTIONS => DBMS_LOGMNR.ADDFILE); PL/SQL procedure successfully completed. SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>' /home/oracle/flash_recovery_area/PRIMARY/archivelog/2016_04_25/o1_mf_1_200_ckv05pmp_.arc',OPTIONS => DBMS_LOGMNR.ADDFILE); PL/SQL procedure successfully completed.Nach dem Login kopieren
![]()
7. 使用字典分析归档日志文件
SQL> EXECUTE dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/logminer/dictionary.ora');Nach dem Login kopieren
8.在线日志分析实例
- 插入数据
SQL> insert into nn.t1 values(1000,'succ'); 1 row created. SQL> commit; Commit complete.Nach dem Login kopieren
- 查询当前日志序列号
SQL> SELECT group#, sequence#, status, first_change#, first_time FROM V$log ORD ER BY first_change#; GROUP# SEQUENCE# STATUS FIRST_CHANGE# FIRST_TIM ---------- ---------- ---------------- ------------- --------- 1 208 INACTIVE 2825768 25-APR-16 2 209 INACTIVE 2825872 25-APR-16 3 210 CURRENT 2845771 25-APR-16Nach dem Login kopieren
- 加入当前日志组
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME =>'/home/oracle/oradata/orcl/redo03.log',OPTIONS => DBMS_LOGMNR.ADDFILE); PL/SQL procedure successfully completed.Nach dem Login kopieren
- 使用LogMiner进行分析
SQL> EXECUTE dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/logminer/dictionary.ora'); PL/SQL procedure successfully completed.Nach dem Login kopieren
- 查询分析结果
SQL> SELECT sql_redo, sql_undo, seg_owner FROM v$logmnr_contents WHERE seg_name='T1'; SQL_REDO SQL_UNDO SEG_OWNER insert into "NN"."T1"("TID","TNAME") values ('1000','succ'); delete from "NN"."T1" where "TID" = '1000' and "TNAME" = 'succ' and ROWID = 'AAAR7YAAEAAAACrAAD'; NNNach dem Login kopieren
9.关闭LogMiner会话
SQL> EXECUTE DBMS_LOGMNR.END_LOGMNR;Nach dem Login kopieren

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Aufbewahrungszeitraum von Oracle-Datenbankprotokollen hängt vom Protokolltyp und der Konfiguration ab, einschließlich: Redo-Protokolle: Wird durch die maximale Größe bestimmt, die mit dem Parameter „LOG_ARCHIVE_DEST“ konfiguriert wird. Archivierte Redo-Protokolle: Bestimmt durch die maximale Größe, die durch den Parameter „DB_RECOVERY_FILE_DEST_SIZE“ konfiguriert wird. Online-Redo-Logs: nicht archiviert, gehen beim Neustart der Datenbank verloren und der Aufbewahrungszeitraum stimmt mit der Instanzlaufzeit überein. Audit-Protokoll: Wird durch den Parameter „AUDIT_TRAIL“ konfiguriert und standardmäßig 30 Tage lang aufbewahrt.

Die von Oracle benötigte Speichermenge hängt von der Datenbankgröße, dem Aktivitätsniveau und dem erforderlichen Leistungsniveau ab: zum Speichern von Datenpuffern, Indexpuffern, zum Ausführen von SQL-Anweisungen und zum Verwalten des Datenwörterbuch-Cache. Die genaue Menge hängt von der Datenbankgröße, dem Aktivitätsgrad und dem erforderlichen Leistungsniveau ab. Zu den Best Practices gehören das Festlegen der geeigneten SGA-Größe, die Dimensionierung von SGA-Komponenten, die Verwendung von AMM und die Überwachung der Speichernutzung.

Anforderungen an die Hardwarekonfiguration des Oracle-Datenbankservers: Prozessor: Multi-Core, mit einer Hauptfrequenz von mindestens 2,5 GHz. Für große Datenbanken werden 32 Kerne oder mehr empfohlen. Speicher: Mindestens 8 GB für kleine Datenbanken, 16–64 GB für mittelgroße Datenbanken, bis zu 512 GB oder mehr für große Datenbanken oder hohe Arbeitslasten. Speicher: SSD- oder NVMe-Festplatten, RAID-Arrays für Redundanz und Leistung. Netzwerk: Hochgeschwindigkeitsnetzwerk (10 GbE oder höher), dedizierte Netzwerkkarte, Netzwerk mit geringer Latenz. Sonstiges: Stabile Stromversorgung, redundante Komponenten, kompatibles Betriebssystem und Software, Wärmeableitung und Kühlsystem.

Die für eine Oracle-Datenbank erforderliche Speichermenge hängt von der Datenbankgröße, dem Workload-Typ und der Anzahl gleichzeitiger Benutzer ab. Allgemeine Empfehlungen: Kleine Datenbanken: 16–32 GB, mittlere Datenbanken: 32–64 GB, große Datenbanken: 64 GB oder mehr. Weitere zu berücksichtigende Faktoren sind die Datenbankversion, Speicheroptimierungsoptionen, Virtualisierung und Best Practices (Speichernutzung überwachen, Zuweisungen anpassen).

Um in Oracle eine geplante Aufgabe zu erstellen, die einmal täglich ausgeführt wird, müssen Sie die folgenden drei Schritte ausführen: Erstellen Sie einen Job. Fügen Sie dem Job einen Unterjob hinzu und legen Sie seinen Zeitplanausdruck auf „INTERVALL 1 TAG“ fest. Aktivieren Sie den Job.

Oracle-Listener werden zur Verwaltung von Client-Verbindungsanfragen verwendet. Zu den Startschritten gehören: Melden Sie sich bei der Oracle-Instanz an. Suchen Sie die Listener-Konfiguration. Verwenden Sie den Befehl lsnrctl start, um den Listener zu starten. Verwenden Sie den Befehl lsnrctl status, um den Start zu überprüfen.

Der Start der Oracle-Datenbank ist in 7 Phasen unterteilt: 2. Instanzwiederherstellung; Der Prozess umfasst das Laden von Bibliotheksdateien, das Konfigurieren von Parametern, das Wiederherstellen der Datenbankinstanz, das Anwenden von Archivprotokollen, das Aktualisieren von Datendateien und Objekten und schließlich das Starten des Datenbankdienstes zur Annahme von Abfragen.

Die Oracle-Datenbank bietet verschiedene Datentypen, darunter: numerische Typen: INTEGER, FLOAT, DOUBLE PRECISION, NUMBER, DEC Texttypen: CHAR, VARCHAR2, CLOB, NCLOB Datums- und Uhrzeittypen: DATE, TIME, TIMESTAMP, INTERVAL Boolescher Typ: BOOLEAN Binäre Typen : BLOB, BFILE
