Rich History-Datenbank erstellen

Dieses Thema enthält Informationen, mit denen Sie eine Oracle-Datenbankverbindung angeben und Kanäle zum Erstellen der Rich History-Datenbank auswählen können. Mit dieser Datenbank können Sie Analyseberichte und Visualisierungen der Aktivitäten Ihres Buchs erstellen.

Was ist die Rich History Database?

Die umfangreiche Historiendatenbank ist extern für Oracle Blockchain Platform und enthält Daten zu den Transaktionen des Blockchain-Ledgers auf den ausgewählten Kanälen. Mit dieser Datenbank können Sie Analyseberichte und Visualisierungen zu den Aktivitäten Ihres Buchs erstellen.

Beispiel: Mit der umfangreichen Historiendatenbank können Sie Analysen erstellen, um den Durchschnittssaldo aller Kunden in Ihrer Bank über einen bestimmten Zeitraum zu ermitteln, oder wie lange es dauerte, bis Waren von einem Großhändler an einen Einzelhändler versendet wurden.

Intern verwendet Oracle Blockchain Platform die Hyperledger Fabric-Historiendatenbank, um das Buch zu verwalten und Ihnen in der Konsole Transaktionsinformationen für das Buch anzuzeigen. Nur die Chaincodes können auf diese Historiendatenbank zugreifen, und Sie können die Hyperledger Fabric-Historiendatenbank nicht als Datenquelle für analytische Abfragen angeben. Die Rich History-Datenbank verwendet eine externe Oracle-Datenbank und enthält viele Details zu jeder Transaktion, die in einem Kanal festgeschrieben wird. Diese Datenerfassungsebene macht die umfangreiche Historiendatenbank zu einer hervorragenden Datenquelle für Analysen. Informationen zu den Daten, die von der Rich History-Datenbank erfasst werden, finden Sie unter Tabellen und Spalten der Rich History-Datenbank.

Sie können eine Oracle-Datenbank wie Oracle Autonomous Data Warehouse oder Oracle Database Classic Cloud Service nur mit Oracle Cloud Infrastructure verwenden, um Ihre umfangreiche Historiendatenbank zu erstellen. Mit der Oracle Blockchain Platform-Konsole geben Sie die Verbindungszeichenfolge und Zugangsdaten für den Zugriff auf die Oracle-Datenbank und für das Schreiben in die Datenbank an. Die angegebenen Zugangsdaten sind die Zugangsdaten der Datenbank, und Oracle Blockchain Platform verwaltet sie nicht. Nachdem Sie die Verbindung erstellt haben, wählen Sie die Kanäle aus, die die Ledger-Daten enthalten, die Sie in die Rich History-Datenbank aufnehmen möchten. Siehe Rich History-Datenbank aktivieren und konfigurieren.

Sie können Standardtabellen oder Blockchain-Tabellen verwenden, um die Rich History-Datenbank zu speichern. Blockchain-Tabellen sind manipulationssichere Anhangstabellen, die als sicheres Ledger verwendet werden können und gleichzeitig für Transaktionen und Abfragen mit anderen Tabellen verfügbar sind. Weitere Informationen finden Sie in Oracle Blockchain-Tabelle.

Mit jedem Analysetool, wie Oracle Analytics Cloud oder Oracle Data Visualization Cloud Service, können Sie auf die umfangreiche Historiendatenbank zugreifen und Analyseberichte oder Datenvisualisierungen erstellen.

Oracle Database Classic Cloud Service-Verbindungszeichenfolge erstellen

Sie müssen Informationen aus dem in Oracle Cloud Infrastructure bereitgestellten Oracle Database Classic Cloud Service erfassen, um die Verbindungszeichenfolge zu erstellen, die für die Rich-History-Datenbank erforderlich ist. Sie müssen auch den Zugriff auf die Datenbank über Port 1521 aktivieren.

Informationen zu Oracle Database Classic Cloud Service suchen und aufzeichnen

Die Informationen, die Sie benötigen, um eine Verbindung zur Oracle Database Classic Cloud Service zu erstellen, sind in der Oracle Cloud Infrastructure-Konsole verfügbar.

  1. Klicken Sie in der Infrastructure-Konsole oben links auf das Navigationsmenü, und klicken Sie dann auf Datenbank.

  2. Suchen Sie die Datenbank, mit der Sie sich verbinden möchten, und notieren Sie die öffentliche IP-Adresse.

  3. Klicken Sie auf den Namen der Datenbank, zu der Sie eine Verbindung herstellen möchten, und zeichnen Sie die Werte in den folgenden Feldern auf:

    • Eindeutiger Datenbankname

    • Hostdomainname

    • Port

  4. Suchen Sie einen Benutzernamen und ein Kennwort für einen Datenbankbenutzer mit Leseberechtigung für diese Datenbank, und notieren Sie diese Informationen. Beispiel: Der Benutzer SYSTEM.

Datenbankzugriff über Port 1521 aktivieren

Fügen Sie eine Ingress-Regel hinzu, mit der die Rich History-Datenbank über Port 1521 auf die Datenbank zugreifen kann.

  1. Klicken Sie auf der Oracle Cloud Infrastructure-Homepage auf das Navigationssymbol und dann unter Datenbanken auf DB-Systeme.

  2. Klicken Sie auf die Datenbank, zu der Sie eine Verbindung herstellen möchten.

  3. Klicken Sie auf den Link Virtuelles Cloud-Netzwerk.

  4. Navigieren Sie zum entsprechenden Subnetz, und klicken Sie unter Sicherheitslisten auf Standardsicherheitsliste für <Zieldatenbank>.

    Daraufhin wird die Seite "Sicherheitsliste" angezeigt.

  5. Klicken Sie auf Alle Regeln bearbeiten.

  6. Fügen Sie eine Ingress-Regel hinzu, damit der eingehende Traffic vom öffentlichen Internet den Port 1521 auf diesem Datenbankknoten erreichen kann. Dabei gelten die folgenden Einstellungen:

    • QUELL-CIDR: 0.0.0.0/0

    • IP-Protokoll: TCP

    • SOURCEportbereich: Alle

    • Zielportbereich: 1521

    • Lässt Folgendes zu:: TCP-Traffic für Ports: 1521

Verbindungszeichenfolge erstellen

Nachdem Sie den Zugriff auf die Oracle-Datenbank aktiviert haben, verwenden Sie die gesammelten Informationen, um die Verbindungszeichenfolge im Dialogfeld Rich-Historie konfigurieren zu erstellen.

Erstellen Sie die Verbindungszeichenfolge mit der folgenden Syntax: <publicIP>:<portNumber>/<database unique name>.<host domain name>

Beispiel: 192.0.2.0:1521/CustDB_iad1vm.sub05031027070.customervcnwith.oraclevcn.example.com

Stellen Sie sicher, dass der Datenbankbenutzer die richtigen Berechtigungen hat

Damit die umfassende Historienfunktionalität ihre Datenbanksessions verwalten und nach temporären Datenbank- oder Netzwerkausfallzeiten wiederherstellen kann, stellen Sie sicher, dass der bei Oracle Blockchain Platform registrierte Datenbankbenutzer über die folgenden zwei Berechtigungen verfügt:
grant select on v_$session to <user>;
grant alter system to <user>;
Wenn die Rich History-Datenbank außerdem Oracle Autonomous Data Warehouse verwendet, muss der Datenbankbenutzer über die folgende Berechtigung verfügen:
grant unlimited tablespace to <user>;
Wenn der Datenbankbenutzer diese Berechtigungen nicht bereits besitzt, muss er vom Systemdatenbankadministrator erteilt werden.

Ohne diese Berechtigungen kann Oracle Blockchain Platform in der Datenbank replizieren, kann jedoch nicht wiederhergestellt werden, wenn es zu einer beschädigten Datenbanksession kommt. Dadurch wird verhindert, dass die Rich History die letzten Transaktionen über einen längeren Zeitraum aufholt. Ohne diese Berechtigungen für Oracle Autonomous Data Warehouse werden keine umfangreichen Historiendaten gespeichert.

Rich History-Datenbank aktivieren und konfigurieren

Verwenden Sie die Konsole, um Informationen zur Datenbankverbindung bereitzustellen, und wählen Sie die Kanäle mit den Chaincode-Ledgerdaten aus, die Sie in die Rich History-Datenbank schreiben möchten. Standardmäßig sind Kanäle nicht aktiviert, um Daten in die Rich History-Datenbank zu schreiben.

Beachten Sie die folgenden Informationen:

  • Jedes Blockchain-Netzwerkmitglied konfiguriert seine eigene Rich History-Datenbank.

  • Sie müssen eine Oracle-Datenbank verwenden. Es werden keine anderen Datenbanktypen unterstützt.

  • Jeder Kanal, der in die Rich History-Datenbank schreibt, muss mindestens einen Peer-Knoten enthalten.

  1. Geben Sie Verbindungs- und Zugangsdateninformationen für die Oracle-Datenbank ein, die Sie zum Speichern von Rich History-Informationen verwenden möchten.
    1. Gehen Sie zur Konsole, klicken Sie auf die Schaltfläche Optionen, und klicken Sie auf Rich-Historie konfigurieren. Diese Schaltfläche befindet sich über der Leiste mit den Registerkarten, mit denen Sie zu Knoten, Kanälen und Chaincodes navigieren können.
      Das Dialogfeld Rich-Historie konfigurieren wird angezeigt.
    2. Geben Sie den Benutzernamen und das Kennwort ein, die für den Zugriff auf die Oracle-Datenbank erforderlich sind.
    3. Geben Sie im Feld Verbindungszeichenfolge die Verbindungszeichenfolge für die Datenbank ein, die Sie zum Speichern von Rich History-Daten verwenden. Was Sie hier eingeben, hängt von der verwendeten Oracle-Datenbank ab.
      • Wenn Sie Oracle Autonomous Data Warehouse verwenden, geben Sie etwas Ähnliches wie <username>adw_high ein. Um die Verbindungsinformationen von Oracle Autonomous Data Warehouse zu suchen, gehen Sie zur ZIP-Datei des Zugangsdaten-Wallets, und öffnen Sie die TNS-Datei.
      • Wenn Sie Oracle Database Classic Cloud Service mit Oracle Cloud Infrastructure verwenden, finden Sie weitere Informationen unter Oracle Database Classic Cloud Service-Verbindungszeichenfolge erstellen.
      • Wenn Sie eine nicht autonome Oracle-Datenbank verwenden (eine Datenbank, die kein Zugangsdaten-Wallet verwendet) und mit dem Benutzer sys eine Verbindung zur Datenbank herstellen möchten, müssen Sie ?as=sys[dba|asm|oper] an die Verbindungszeichenfolge anhängen. Beispiel: 123.123.123.123:1521/example.oraclevcn.com?as=sysdba
    4. Wenn Sie eine autonome Oracle Cloud-Datenbankinstanz verwenden (z.B. Oracle Autonomous Data Warehouse oder Oracle Autonomous Transaction Processing), verwenden Sie das Feld Wallet-Packagedatei, um die erforderliche ZIP-Datei für das Zugangsdaten-Wallet hochzuladen. Diese Datei enthält Clientzugangsdaten und wird aus der autonomen Oracle-Datenbank generiert.

      Hinweis:

      Wenn Sie das Dialogfeld Rich-Historie konfigurieren erneut öffnen, nachdem Sie die Rich-Historie konfiguriert haben, wird der Name der Wallet-Datei nicht angezeigt. Wenn Sie andere Einstellungen aktualisieren, müssen Sie die Wallet-ZIP-Datei erneut hochladen, bevor Sie auf Speichern klicken. Wenn Sie auf Speichern klicken, während kein Wallet-Dateiname angezeigt wird, wird die Konfiguration aktualisiert, sodass keine Wallet-Datei verwendet wird.
    5. Um die Rich History-Datenbank mit Blockchain-Tabellen zu speichern, wählen Sie Datenbank-Blockchain-Tabelle verwenden aus.
      Die zugrunde liegende Datenbank muss Blockchain-Tabellen unterstützen.
      • Um die Anzahl der Tage anzugeben, die Tabellen und Zeilen beibehalten werden sollen, wählen Sie Basiskonfiguration aus, und geben Sie dann die Anzahl der Tage ein, die Tabellen und Zeilen beibehalten werden sollen. Geben Sie 0 ein, um Tabellen oder Zeilen dauerhaft beizubehalten. Um weitere Änderungen an den Aufbewahrungswerten zu verhindern, wählen Sie Gesperrt aus.
      • Um die Tabellen- und Zeilenaufbewahrung mit einer DDL-(Data Definition Language-)Anweisung anzugeben, wählen Sie Erweiterte Konfigurationsabfrage aus, und geben Sie die DDL-Anweisung ein.
    6. Klicken Sie auf Speichern.
  2. Aktivieren Sie die Rich History auf den Kanälen, die Chaincode-Daten enthalten, die Sie in die Rich History-Datenbank schreiben möchten.
    1. Navigieren Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
    2. Suchen Sie den Kanal mit den Chaincode-Daten, die Sie in die Rich History-Datenbank schreiben möchten. Klicken Sie auf die Schaltfläche Weitere Optionen, und wählen Sie Rich-Historie konfigurieren aus.
      Das Dialogfeld Rich-Historie konfigurieren wird angezeigt.
    3. Klicken Sie auf das Kontrollkästchen Rich-Historie aktivieren. Um private Datensammlungen in der Rich History-Datenbank zu speichern, geben Sie eine durch Komma getrennte Liste mit Namen für private Datensammlungen ein. Weitere Informationen zu privaten Datensammlungen finden Sie unter Was sind private Datensammlungen?. Um der Rich History-Datenbank Transaktionsdetails hinzuzufügen, wählen Sie die Details aus, die hinzugefügt werden sollen. Klicken Sie auf Speichern.
Die Rich History-Datenbank ist konfiguriert, Tabellen werden jedoch nicht sofort in der Datenbank erstellt. Wenn die nächste relevante Transaktion oder Buchänderung erfolgt, werden die Tabellen in der Rich History-Datenbank erstellt.

Verbindung zur Rich History-Datenbank ändern

Sie können die Verbindungsinformationen der Rich History-Datenbank ändern.

Nachdem Tabellen in der Datenbank für einen Kanal erstellt wurden, hat die Änderung der Rich History-Konfiguration für den Kanal auch nach dem Klicken auf Speichern keine Auswirkungen, es sei denn, Sie ändern den Benutzernamen und das Kennwort oder die Verbindungszeichenfolge. Wenn Sie den Benutzernamen und das Kennwort ändern, werden Tabellen in derselben Datenbank erstellt. Wenn Sie die Verbindungszeichenfolge und die Zugangsdaten ändern, wird eine andere Datenbank konfiguriert, und Tabellen werden nach der nächsten relevanten Transaktion oder Buchänderung erstellt. Sie können eine Rich History-Datenbank nicht von Standardtabellen in Blockchain-Tabellen ändern, und Sie können die Aufbewahrungszeiten nur ändern, wenn Sie auch die Zugangsdaten oder die Verbindungszeichenfolge ändern.
  1. Gehen Sie zur Konsole, klicken Sie auf die Schaltfläche Optionen, und klicken Sie auf Rich-Historie konfigurieren. Diese Schaltfläche befindet sich über der Leiste mit den Registerkarten, mit denen Sie zu Knoten, Kanälen und Chaincodes navigieren können.
  2. Aktualisieren Sie bei Bedarf den Benutzernamen und das Kennwort, die für den Zugriff auf die Oracle-Datenbank erforderlich sind.
  3. Ändern Sie gegebenenfalls im Feld Verbindungszeichenfolge die Verbindungszeichenfolge für die Datenbank, die Sie zum Speichern von Rich History-Daten verwenden. Was Sie hier eingeben, hängt von der verwendeten Oracle-Datenbank ab.
    • Wenn Sie Oracle Autonomous Data Warehouse verwenden, geben Sie etwas Ähnliches wie <username>adw_high ein. Um die Verbindungsinformationen von Oracle Autonomous Data Warehouse zu suchen, gehen Sie zur ZIP-Datei des Zugangsdaten-Wallets, und öffnen Sie die TNS-Datei.
    • Wenn Sie Oracle Database Classic Cloud Service mit Oracle Cloud Infrastructure verwenden, finden Sie weitere Informationen unter Oracle Database Classic Cloud Service-Verbindungszeichenfolge erstellen.
    • Wenn Sie eine nicht autonome Oracle-Datenbank verwenden (eine Datenbank, die kein Zugangsdaten-Wallet verwendet) und mit dem Benutzer sys eine Verbindung zur Datenbank herstellen möchten, müssen Sie ?as=sys[dba|asm|oper] an die Verbindungszeichenfolge anhängen. Beispiel: 123.123.123.123:1521/example.oraclevcn.com?as=sysdba
  4. Wenn Sie eine autonome Oracle Cloud-Datenbankinstanz verwenden (z.B. Oracle Autonomous Data Warehouse oder Oracle Autonomous Transaction Processing), verwenden Sie das Feld Wallet-Packagedatei, um die erforderliche Wallet-Datei für Zugangsdaten hochzuladen oder erneut hochzuladen. Diese Datei enthält Clientzugangsdaten und wird aus der autonomen Oracle-Datenbank generiert.

    Hinweis:

    Wenn Sie das Dialogfeld Rich-Historie konfigurieren erneut öffnen, nachdem Sie die Rich-Historie konfiguriert haben, wird der Name der Wallet-Datei nicht angezeigt. Wenn Sie andere Einstellungen aktualisieren, müssen Sie die Wallet-ZIP-Datei erneut hochladen, bevor Sie auf Speichern klicken. Wenn Sie auf Speichern klicken, während kein Wallet-Dateiname angezeigt wird, wird die Konfiguration aktualisiert, sodass keine Wallet-Datei verwendet wird.
  5. Um die Rich History-Datenbank mit Blockchain-Tabellen zu speichern, wählen Sie Datenbank-Blockchain-Tabelle verwenden aus.
    Die zugrunde liegende Datenbank muss Blockchain-Tabellen unterstützen.
    • Um die Anzahl der Tage anzugeben, die Tabellen und Zeilen beibehalten werden sollen, wählen Sie Basiskonfiguration aus, und geben Sie dann die Anzahl der Tage ein, die Tabellen und Zeilen beibehalten werden sollen. Geben Sie 0 ein, um Tabellen oder Zeilen dauerhaft beizubehalten. Um weitere Änderungen an den Aufbewahrungswerten zu verhindern, wählen Sie Gesperrt aus.
    • Um die Tabellen- und Zeilenaufbewahrung mit einer DDL-(Data Definition Language-)Anweisung anzugeben, wählen Sie Erweiterte Konfigurationsabfrage aus, und geben Sie die DDL-Anweisung ein.
  6. Klicken Sie auf Speichern.

Kanäle konfigurieren, die Daten in die Rich History-Datenbank schreiben

Sie können Channels ermöglichen, Chaincode-Ledger-Daten in die Rich-History-Datenbank zu schreiben, und Sie können verhindern, dass Kanäle Daten in die Rich-History-Datenbank schreiben. Sie können auch einen einzelnen Kanal so konfigurieren, dass eine andere Rich History-Datenbankkonfiguration als die globale Einstellung verwendet wird.

Sie müssen die globalen Informationen angeben, um eine Verbindung zur Rich History-Datenbank herzustellen, bevor Sie Kanäle auswählen können, die in die Rich History-Datenbank schreiben. Siehe Rich History-Datenbank aktivieren und konfigurieren.

Nachdem Tabellen in der Datenbank für einen Kanal erstellt wurden, hat die Änderung der Rich History-Konfiguration für den Kanal auch nach dem Klicken auf Speichern keine Auswirkungen, es sei denn, Sie ändern den Benutzernamen und das Kennwort oder die Verbindungszeichenfolge. Wenn Sie den Benutzernamen und das Kennwort ändern, werden Tabellen in derselben Datenbank erstellt. Wenn Sie die Verbindungszeichenfolge und die Zugangsdaten ändern, wird eine andere Datenbank konfiguriert, und Tabellen werden nach der nächsten relevanten Transaktion oder Buchänderung erstellt. Sie können eine Rich History-Datenbank nicht von Standardtabellen in Blockchain-Tabellen ändern, und Sie können die Aufbewahrungszeiten nur ändern, wenn Sie auch die Zugangsdaten oder die Verbindungszeichenfolge ändern.

  1. Navigieren Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
  2. Suchen Sie den Kanal, für den Sie den Zugriff ändern möchten. Klicken Sie auf die Schaltfläche Weitere Optionen, und wählen Sie Rich-Historie konfigurieren aus.
    Das Dialogfeld Rich-Historie konfigurieren wird angezeigt.
  3. Um die Erfassung von Rich History-Daten für den Kanal zu aktivieren, aktivieren Sie das Kontrollkästchen Rich History aktivieren. Um die Erfassung von Rich History-Daten für den Kanal zu deaktivieren, deaktivieren Sie das Kontrollkästchen Rich History aktivieren.
  4. Um den Kanal so zu konfigurieren, dass Rich History-Daten mit einer anderen Datenbank oder anderen Einstellungen erfasst werden, wählen Sie Konfiguration auf Kanalebene verwenden aus, und geben Sie dann die zu verwendenden Einstellungen an.
    Weitere Informationen zu den Rich History-Einstellungen finden Sie unter Rich History-Datenbank aktivieren und konfigurieren.
  5. Klicken Sie auf Speichern.

Rich History-Status überwachen

Nach der Konfiguration der Rich History-Datenbank können Sie mit der Konsole den Rich History-Replikationsstatus überwachen.

  1. Navigieren Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
  2. Klicken Sie in der Kanaltabelle auf die Schaltfläche Weitere Aktionen für den zu überwachenden Kanal, und klicken Sie dann auf Status der Berechtigungshistorie.
    Das Dialogfeld Status der Berechtigungshistorie wird angezeigt, das Details zu Replikation und Konfigurationsstatus enthält.
  3. Klicken Sie auf Aktualisieren, um den neuesten Status anzuzeigen.

Zugriff auf Rich History beschränken

Sie können Kanal-Policys und Access Control-Listen (ACLs) verwenden, um die Organisationen einzuschränken, die Rich History-Datenbanken konfigurieren und Rich History-Status- oder Konfigurationsinformationen abrufen können.

Standardmäßig können alle Organisationen, die administrativen Zugriff auf einen Kanal haben, Rich History Collection konfigurieren und Rich History-Status und Konfigurationsdetails abrufen. Um diesen Zugriff auf beispielsweise die Gründerorganisation einzuschränken, erstellen Sie eine Kanal-Policy und wenden die Policy auf die Ressourcen an, die den Zugriff kontrollieren.
  1. Navigieren Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
    Die Registerkarte Kanäle wird angezeigt. Die Kanaltabelle enthält eine Liste aller Kanäle in Ihrem Netzwerk.
  2. Klicken Sie in der Kanaltabelle auf den Namen des Kanals, auf den Sie den Zugriff einschränken möchten.
  3. Klicken Sie auf Kanal-Policys, und erstellen Sie eine Signatur-Policy, die Organisationsmitglieder enthält, die auf die Rich History-Funktionen zugreifen.
    Weitere Informationen zu Kanal-Policys finden Sie unter Mit Kanal-Policys und ACLs arbeiten.
    Beispiel: Erstellen Sie eine Policy, die nur die Identität der Gründerorganisation und nicht die Identität von Teilnehmerorganisationen enthält.
  4. Klicken Sie auf ACLs.
  5. Suchen Sie in der Tabelle "Ressourcen" die Ressource, die Sie aktualisieren möchten, um die neue Policy zu verwenden. Klicken Sie für die Ressource auf Einblenden, und wählen Sie die Policy aus, die der Ressource zugewiesen werden soll.
    In der folgenden Tabelle sind die Ressourcen aufgeführt, die den Zugriff auf die Rich History steuern.
    Ressource Zugriffskontrolle
    obpadmin/ConfigureRichHistoryChannel Steuert die Konfiguration, Aktivierung und Deaktivierung der Rich History für einen Kanal.
    obpadmin/GetRichHistoryChannelStatus Steuert das Abrufen des Rich History-Replikationsstatus für einen Kanal.
    obpadmin/GetRichHistoryChannelConfig Steuert das Abrufen der aktuellen Rich History-Konfiguration für einen Kanal.
  6. Klicken Sie auf ACLs aktualisieren.
Der Zugriff auf die reiche Geschichte wird jetzt durch die neue Politik kontrolliert. Organisationsmitglieder, die nicht in der neuen Policy enthalten sind, erhalten eine Fehlermeldung, wenn sie versuchen, auf eine Ressource zuzugreifen, die von der Policy gesteuert wird.

Rich History-Datenbanktabellen und -Spalten

Die Rich History-Datenbank enthält drei Tabellen für jeden Kanal: Historie, Status und neueste Höhe. Sie fragen die Historien- und Statustabellen ab, wenn Sie Analysen zu den Buchtransaktionen Ihrer Chaincodes erstellen. Wenn Sie beim Aktivieren der Rich History eine der Transaktionsdetails ausgewählt haben, wird eine zusätzliche Tabelle mit den Transaktionsdetails erstellt.

Historientabelle

Die Tabelle <instanceName><channelName>_hist enthält die Ledger-Historie. Die Daten in dieser Tabelle geben die Chaincode-ID, den verwendeten Schlüssel, den Wert, falls die Transaktion gültig war, den dem Schlüssel zugewiesenen Wert usw. an.

Beachten Sie, dass die Spalten Wert und valueJson sich gegenseitig ausschließen. Wenn ein Schlüsselwert json gültig ist, wird der Wert in die Spalte valueJson gesetzt. Andernfalls wird der Wert in der Spalte Wert festgelegt. Die Spalte valueJson ist als Json-Spalte in der Datenbank eingerichtet. Das bedeutet, dass Benutzer diese Spalte mit den üblichen Oracle JSON-spezifischen Erweiterungen abfragen können.

Bei entsprechender Konfiguration werden auch private Daten in dieser Tabelle gespeichert. Für private Daten verwendet die Chaincode-ID das folgende Format: <chaincodeName>$$<collectionName>.

Spalte Datentyp
chaincodeId VARCHAR2 (256)
Schlüssel   VARCHAR2 (1024)
txnIsValid     ANZAHL (1)
Wert VARCHAR2 (4000)
valueJson CLOB
blockNo NUMMER NICHT NULL
txnNo-NUMMER NOT NULL
txnId VARCHAR2 (128)  
txnTimestamp TIMESTAMP
txnIsDelete ANZAHL (1)

Tabelle

Die Tabelle <instanceName><channelName>_state enthält Datenwerte, die aus der Statusdatenbank repliziert wurden. Sie fragen die Statustabelle ab, wenn Sie Analysen zum Status des Buchs erstellen.

Beachten Sie, dass die Spalten Wert und valueJson sich gegenseitig ausschließen. Wenn ein Schlüsselwert json gültig ist, wird der Wert in die Spalte valueJson gesetzt. Andernfalls wird der Wert in der Spalte Wert festgelegt. Die Spalte valueJson ist als Json-Spalte in der Datenbank eingerichtet. Das bedeutet, dass Benutzer diese Spalte mit den üblichen Oracle JSON-spezifischen Erweiterungen abfragen können.

Spalte Datentyp
chaincodeId VARCHAR2 (256)
Schlüssel VARCHAR2 (1024)
Wert VARCHAR2 (4000) 
valueJson CLOB
blockNo NUMBER
txnNo NUMBER

Letzte Höhe - Tabelle

Die Tabelle <instanceName><channelName>_last wird intern von Oracle Blockchain Platform verwendet, um die in der Rich History-Datenbank aufgezeichnete Blockhöhe zu verfolgen. Es bestimmt, wie aktuell die Rich History-Datenbank ist und ob alle Chaincode-Transaktionen in der Rich History-Datenbank aufgezeichnet wurden. Sie können diese Datenbank nicht für Analysen abfragen.

Transaktionsdetails - Tabelle

Die Tabelle <instanceName><channelName>_more enthält Attribute für festgeschriebene Transaktionen. Wenn Sie die Rich History-Datenbank aktivieren, können Sie auswählen, welche dieser Attribute Sie in dieser Tabelle aufzeichnen möchten. In der Tabelle mit den Transaktionsdetails werden nur Informationen zu Endorsertransaktionen erfasst - nicht zu Konfigurationstransaktionen oder zu anderen Hyperledger Fabric-Transaktionen.

Spalte Datentyp
KETTENCODE-ID VARCHAR2 (256)
BLOCKNR. NUMBER
TXNNO NUMBER
TXNID VARCHAR2(128)
TRANSAKTIONSZEITSTEMPEL TIMESTAMP
WEITERLEITENDER VARCHAR2(512)
WEITERLEITUNGSORG VARCHAR2(512)
WEITERLEITENDER VARCHAR2(512)
KETTENCODETYP VARCHAR2(32)
VALIDIERUNGSCODENAME VARCHAR2(32)
BESTÄTIGUNGEN CLOB
EINGABE CLOB
EREIGNISSE CLOB
REAKTIONSSTATUS ANZAHL(0)
RESPONSEPAYLOAD VARCHAR2(1024)
RWSET CLOB
BLOCKERSTELLER VARCHAR2(512)
BLOCKCREATORORG VARCHAR2(512)
BLOCKCREATOROU VARCHAR2(512)
KONFIGURATIONSBLOCKNUMMER ANZAHL(0)
CONFIGBLOCKCREATORCN VARCHAR2(512)
CONFIGBLOCKCREATORORG VARCHAR2(512)
CONFIGBLOCKCREATOROU VARCHAR2(512)

Hinweis:

  • Organisation (ORG) und Organisationseinheit (OU) werden durch Identitätszertifikate gesteuert. Dies bedeutet, dass sie mehreren Werten zugewiesen werden können. Sie werden als kommagetrennte Liste in den Tabellenwerten erfasst.
  • Bei Identitäten enthält die Tabelle nur Informationen über den "Betreff"-Teil der Zertifikate, nicht den "Emittenten".
  • Die Spalte RWSET enthält Vorgänge für alle Chaincodes (in demselben Buch), die während der Freigabe ausgeführt werden. Daher werden in der Regel sowohl lscc-Lesevorgänge als auch die eigentlichen Chaincode-Namespace-Vorgänge angezeigt.