什么是统计信息以及收集查看方法
概念: oracle的统计信息:存储在数据字典里,且从多个维度描述了Oracle数据库里对象的详细信息。CBO会利用这些统计信息来计算各条路径的成本。 分类: 表、索引、列、系统、数据字典、内部对象的统计信息 收集统计信息: ANALYZE 命令和DBMS_STATS包。表、
概念: oracle的统计信息:存储在数据字典里,且从多个维度描述了Oracle数据库里对象的详细信息。CBO会利用这些统计信息来计算各条路径的成本。分类: 表、索引、列、系统、数据字典、内部对象的统计信息
收集统计信息: ANALYZE 命令和DBMS_STATS包。表、索引、列、数据字典都可以用两个。系统、内部对象只能用DBMS_STATS。
1、ANALYZE analyze table PROC_PROGRESS_LOG delete statistics; --删除统计信息 analyze table PROC_PROGRESS_LOG estimate statistics sample 15 percent for table ; --估算模式,采样比例15%(估算结果和实际结果不一定会完全匹配) analyze table PROC_PROGRESS_LOG compute statistics;--计算模式
select * from dba_tables where table_name = 'PROC_PROGRESS_LOG'; --查看表相关信息 select * from USER_TAB_COLUMNS where TABLE_NAME='PROC_PROGRESS_LOG'--查看列相关信息
analyze table PROC_SMCS compute statistics for columns service_id , channel_id ; --对列进行计算模式的统计信息收集 执行完成之后,service_id , channel_id 确实已经有统计信息了,但是PROC_SMCS 表中的统计信息将会被抹掉。 也就是说,对同一个对象而言,新执行的analyze 命令会抹掉之前的analyze 的结果。
如果想一次性以计算模式收集表、表上的列、和表上的索引的统计信息,执行: analyze table PROC_PROGRESS_LOG compute statistics;
用DBMS_STATS包收集统计信息 官方推荐,oracle 8.1.5之后才有,看成是analyze的增强版 1、GATHER_TABLE_STATS:用于收集目标表、目标表的列和索引的统计信息。 2、GATHER_INDEX_STATS:收集索引的。 3、GATHER_SCHEMA_STATS:收集指定schema下的所有对象的。 4、GATHER_DATABASE_STATS:收集全库所有对象的。
exec dbms_stats.gather_table_stats(ownname => 'TEST',tabname=>'PROC_LETTER',estimate_percent => 15,method_opt => 'FOR TABLE',cascade => false); 只有PROC_LETTER表有统计信息,列和索引没有。 method_opt => 'FOR TABLE' 只适合11g以上版本,10以下的,还会收集列和索引的信息。 如果采用计算模式,将estimate_percent => 15 设置成100或者NULL
exec dbms_stats.gather_table_stats(ownname => 'TEST',tabname=>'PROC_LETTER',estimate_percent => 100,method_opt => 'FOR columns size 1 service_id channel_id',cascade => false); 以计算模式收集 service_id channel_id的统计信息,同时PROC_LETTER表上也会有统计信息。 DBMS_STATS做不到只收集列的统计信息而不收集表的统计信息。
exec dbms_stats.delete_table_stats(ownname => 'TEST' , tabname => 'PROC_LETTER'); 删除统计信息。
exec dbms_stats.gather_table_stats(ownname => 'TEST',tabname=>'PROC_LETTER',estimate_percent => 100,cascade => false); 一次性统计表、列、索引信息。
analyze 和 dbms_stats的区别: 1、analyze 不能正确收集分区表的统计信息,而dbms_stats可以。 2、analyze 不能并行收集统计信息,而dbms_stats可以。 exec dbms_stats.gather_table_stats(ownname => 'TEST',tabname=>'PROC_LETTER',estimate_percent => 100,cascade => false,degree=4); --并行度为4 3、dbms_stats不能收集与CBO无关的额外信息,如行迁移/行链接的数量、校验表和索引的结构信息。 analyze table XXX list chained rows into YYY --分析收集行迁移/行链接的数量 analyze index XXX validate structure 分析索引的结构

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 Funktion in Oracle zum Berechnen der Anzahl der Tage zwischen zwei Daten ist DATEDIFF(). Die spezifische Verwendung ist wie folgt: Geben Sie die Zeitintervalleinheit an: Intervall (z. B. Tag, Monat, Jahr) Geben Sie zwei Datumswerte an: Datum1 und Datum2DATEDIFF(Intervall, Datum1, Datum2) Gibt die Differenz in Tagen zurück

Die Startsequenz der Oracle-Datenbank ist: 1. Überprüfen Sie die Voraussetzungen. 3. Starten Sie die Datenbankinstanz. 6. Überprüfen Sie den Datenbankstatus . Aktivieren Sie den Dienst (falls erforderlich). 8. Testen Sie die Verbindung.

Der Datentyp INTERVAL wird in Oracle zur Darstellung von Zeitintervallen verwendet. Die Syntax lautet INTERVAL <Präzision> <Einheit>. Sie können Additions-, Subtraktions-, Multiplikations- und Divisionsoperationen verwenden, um INTERVAL zu betreiben, was für Szenarien wie das Speichern von Zeitdaten geeignet ist Berechnung von Datumsdifferenzen.

Um die Anzahl der Vorkommen eines Zeichens in Oracle zu ermitteln, führen Sie die folgenden Schritte aus: Ermitteln Sie die Gesamtlänge einer Zeichenfolge. Ermitteln Sie die Länge der Teilzeichenfolge, in der ein Zeichen vorkommt. Zählen Sie die Anzahl der Vorkommen eines Zeichens, indem Sie die Länge der Teilzeichenfolge subtrahieren von der Gesamtlänge.

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 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.

Die Methode zum Ersetzen von Zeichenfolgen in Oracle besteht in der Verwendung der REPLACE-Funktion. Die Syntax dieser Funktion lautet: REPLACE(string, search_string, replacement_string). Verwendungsschritte: 1. Identifizieren Sie die zu ersetzende Teilzeichenfolge. 2. Bestimmen Sie die neue Zeichenfolge, um die Teilzeichenfolge zu ersetzen. 3. Verwenden Sie zum Ersetzen die REPLACE-Funktion. Zur erweiterten Verwendung gehören: Mehrfachersetzungen, Berücksichtigung der Groß-/Kleinschreibung, Ersetzung von Sonderzeichen usw.
