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 erstellen Sie Analyseberichte und Visualisierungen der Aktivitäten Ihres Buchs.

Was ist die Rich History Database?

Die Rich History-Datenbank ist extern zu Oracle Blockchain Platform und enthält Daten zu den Transaktionen des Blockchain-Ledgers in den ausgewählten Kanälen. Mit dieser Datenbank erstellen Sie Analyseberichte und Visualisierungen zu den Aktivitäten Ihres Buchs.

Beispiel: Mit der Rich History-Datenbank können Sie Analysen erstellen, um den durchschnittlichen Saldo aller Kunden in Ihrer Bank in einem bestimmten Zeitintervall zu ermitteln, oder wie lange es dauerte, Waren von einem Großhändler an einen Einzelhändler zu versenden.

Intern verwendet Oracle Blockchain Platform die Historiendatenbank von Hyperledger Fabric, um das Hauptbuch zu verwalten und Ihnen Ledger-Transaktionsinformationen in der Konsole zu präsentieren. Nur die Chaincodes können auf diese Historiendatenbank zugreifen. 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 Ebene der Datenerfassung macht die Rich History-Datenbank zu einer hervorragenden Datenquelle für Analysen. Informationen zu den Daten, die von der Rich History-Datenbank erfasst werden, finden Sie unter Datenbanktabellen und -spalten der Rich History.

Sie können nur eine Oracle-Datenbank wie Oracle Autonomous Data Warehouse oder Oracle Database Classic Cloud Service mit Oracle Cloud Infrastructure verwenden, um Ihre Datenbank mit umfangreicher Historie zu erstellen. Mit der Oracle Blockchain Platform-Konsole können Sie die Verbindungszeichenfolge und Zugangsdaten für den Zugriff auf die Oracle-Datenbank und für das Schreiben in diese angeben. Beachten Sie, dass die von Ihnen angegebenen Zugangsdaten die Zugangsdaten der Datenbank sind und Oracle Blockchain Platform sie nicht verwaltet. 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 Tabellen, die als sicheres Hauptbuch verwendet werden können und gleichzeitig für Transaktionen und Abfragen mit anderen Tabellen verfügbar sind. Weitere Informationen finden Sie in der Oracle Blockchain-Tabelle.

Mit einem beliebigen Analysetool, wie Oracle Analytics Cloud oder Oracle Data Visualization Cloud Service, können Sie auf die Rich History-Datenbank zugreifen und Analyseberichte oder Datenvisualisierungen erstellen.

Oracle Database Classic Cloud Service-Verbindungszeichenfolge erstellen

Sie müssen Informationen aus dem Oracle Database Classic Cloud Service erfassen, der auf Oracle Cloud Infrastructure bereitgestellt ist, 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.

Oracle Database Classic Cloud Service-Informationen suchen und aufzeichnen

Die Informationen, die Sie zum Erstellen einer Verbindung zu Oracle Database Classic Cloud Service benötigen, 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 notieren Sie die Werte in den folgenden Feldern:

    • Eindeutiger Datenbankname

    • Hostdomainname

    • Port

  4. Suchen Sie einen Benutzernamen und ein Kennwort eines Datenbankbenutzers mit Leseberechtigung für diese Datenbank, und notieren Sie diese. Beispiel: 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 klicken Sie dann unter Datenbanken auf DB-Systeme.

  2. Klicken Sie auf die Datenbank, mit der Sie sich verbinden 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 eingehender Traffic vom öffentlichen Internet den Port 1521 auf diesem Datenbankknoten erreichen kann. Beachten Sie die folgenden Einstellungen:

    • SOURCE 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 Rich History-Funktionalität ihre Datenbanksessions verwalten und nach temporären Datenbank- oder Netzwerkausfallzeiten wiederherstellen kann, stellen Sie sicher, dass der bei Oracle Blockchain Platform registrierte Datenbankbenutzer die folgenden beiden Berechtigungen hat:
grant select on v_$session to <user>;
grant alter system to <user>;
Wenn die Rich History-Datenbank Oracle Autonomous Data Warehouse verwendet, muss der Datenbankbenutzer außerdem über die folgende Berechtigung verfügen:
grant unlimited tablespace to <user>;
Wenn der Datenbankbenutzer diese Berechtigungen noch nicht hat, muss er vom Systemdatenbankadministrator erteilt werden.

Ohne diese Berechtigungen kann Oracle Blockchain Platform in der Datenbank replizieren, kann aber nicht nach Situationen wiederhergestellt werden, die zu einer beschädigten Datenbanksession führen. Dadurch wird verhindert, dass die umfangreiche Historie über einen längeren Zeitraum mit den letzten Transaktionen aufholt. Ohne diese Berechtigungen in Oracle Autonomous Data Warehouse werden keine Rich History-Daten gespeichert.

Rich History-Datenbank aktivieren und konfigurieren

Geben Sie in der Konsole Informationen zur Datenbankverbindung an, und wählen Sie die Kanäle mit den Chaincode-Ledger-Daten aus, die Sie in die Rich History-Datenbank schreiben möchten. Standardmäßig sind Kanäle nicht zum Schreiben von Daten in die Rich History-Datenbank aktiviert.

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 dem Balken mit den Registerkarten, die Sie zum Navigieren zu Knoten, Kanälen und Chaincodes verwenden.
      Das Dialogfeld Rich History 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 ähnlichem wie <username>adw_high ein. Um die Verbindungsinformationen von Oracle Autonomous Data Warehouse zu suchen, gehen Sie zur ZIP-Datei des Wallet mit den Zugangsdaten, und öffnen Sie die zugehörige TNS-Datei.
      • Wenn Sie Oracle Database Classic Cloud Service mit Oracle Cloud Infrastructure verwenden, finden Sie weitere Informationen unter Verbindungszeichenfolge für Oracle Database Classic Cloud Service erstellen.
      • Wenn Sie eine nicht autonome Oracle-Datenbank (eine Datenbank, die kein Zugangsdaten-Wallet verwendet) verwenden 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 Wallet-Dateiname 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. Weitere Informationen finden Sie in der Oracle Blockchain-Tabelle.
      • 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.
      • Um die Tabellen- und Zeilenaufbewahrung mit einer DDL-Anweisung anzugeben, wählen Sie Erweiterte Konfigurationsabfrage aus, und geben Sie die DDL-Anweisung ein.
    6. Klicken Sie auf Speichern.
  2. Aktivieren Sie die umfassende Historie in den Kanälen, die Chaincodedaten enthalten, die Sie in die Rich History-Datenbank schreiben möchten.
    1. Gehen Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
    2. Suchen Sie den Kanal, der die Chaincode-Daten enthält, 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 History 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 Liste mit privaten Datenerfassungsnamen ein, die durch Kommas getrennt sind. Weitere Informationen zu privaten Datenerfassungen finden Sie unter Was sind private Datenerfassungen?. Um der Rich-History-Datenbank Transaktionsdetails hinzuzufügen, wählen Sie die Details aus, die Sie hinzufügen möchten. Klicken Sie auf Speichern.
Die Rich History-Datenbank wird konfiguriert, aber Tabellen werden 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 keine Auswirkungen, selbst nachdem Sie auf Speichern geklickt haben, 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 nach der nächsten relevanten Transaktion oder Ledger-Änderung werden Tabellen erstellt. Sie können eine Rich History-Datenbank nicht von Standardtabellen in Blockchain-Tabellen ändern. 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 dem Balken mit den Registerkarten, die Sie zum Navigieren zu Knoten, Kanälen und Chaincodes verwenden.
  2. Aktualisieren Sie bei Bedarf den Benutzernamen und das Kennwort, die für den Zugriff auf die Oracle-Datenbank erforderlich sind.
  3. Ändern Sie bei Bedarf 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 ähnlichem wie <username>adw_high ein. Um die Verbindungsinformationen von Oracle Autonomous Data Warehouse zu suchen, gehen Sie zur ZIP-Datei des Wallet mit den Zugangsdaten, und öffnen Sie die zugehörige TNS-Datei.
    • Wenn Sie Oracle Database Classic Cloud Service mit Oracle Cloud Infrastructure verwenden, finden Sie weitere Informationen unter Verbindungszeichenfolge für Oracle Database Classic Cloud Service erstellen.
    • Wenn Sie eine nicht autonome Oracle-Datenbank (eine Datenbank, die kein Zugangsdaten-Wallet verwendet) verwenden 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 Zugangsdaten-Wallet-Datei 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 Wallet-Dateiname 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.
    • Um die Tabellen- und Zeilenaufbewahrung mit einer DDL-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 Kanälen 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 Channels 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 keine Auswirkungen, selbst nachdem Sie auf Speichern geklickt haben, 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 nach der nächsten relevanten Transaktion oder Ledger-Änderung werden Tabellen erstellt. Sie können eine Rich History-Datenbank nicht von Standardtabellen in Blockchain-Tabellen ändern. Sie können die Aufbewahrungszeiten nur ändern, wenn Sie auch die Zugangsdaten oder die Verbindungszeichenfolge ändern.

  1. Gehen 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 History 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 die zu verwendenden Einstellungen an.
    Weitere Informationen zu den Rich-Historieneinstellungen finden Sie unter Rich-History-Datenbank aktivieren und konfigurieren.
  5. Klicken Sie auf Speichern.

Rich History-Status überwachen

Nachdem Sie die Rich History-Datenbank konfiguriert haben, können Sie mit der Konsole den Status der Rich History-Replikation überwachen.

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

Zugriff auf Rich History beschränken

Mit Kanal-Policys und Access-Control-Listen (ACLs) können Sie die Organisationen einschränken, die eine Rich-History-Datenbank konfigurieren und Rich-History-Status- oder Konfigurationsinformationen abrufen können.

Standardmäßig können alle Organisationen mit administrativem Zugriff auf einen Kanal Rich History Collection konfigurieren und Rich History-Status und Konfigurationsdetails abrufen. Um diesen Zugriff auf beispielsweise die Gründerorganisation zu beschränken, erstellen Sie eine Kanal-Policy und wenden die Policy auf die Ressourcen an, die den Zugriff kontrollieren.
  1. Gehen 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 mit den Organisationsmitgliedern, 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-Historie kontrollieren.
    Ressource Access Control
    obpadmin/ConfigureRichHistoryChannel Steuert die Konfiguration, Aktivierung und Deaktivierung der umfangreichen Historie 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-Historienkonfiguration für einen Kanal.
  6. Klicken Sie auf ACLs aktualisieren.
Der reiche Zugang zur Geschichte wird nun von der neuen 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 Hauptbuchtransaktionen Ihrer Chaincodes erstellen. Wenn Sie bei der Aktivierung der Rich-Historie eine der Transaktionsdetails auswählen möchten, wird eine zusätzliche Tabelle mit den Transaktionsdetails erstellt.

Historiktabelle

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

Beachten Sie, dass sich die Spalten Wert und valueJson gegenseitig ausschließen. Wenn ein Schlüsselwert 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. Bei privaten Daten verwendet die Chaincode-ID das folgende Format: <chaincodeName>$$<collectionName>.

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

Statustabelle

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

Beachten Sie, dass sich die Spalten Wert und valueJson gegenseitig ausschließen. Wenn ein Schlüsselwert 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

Tabelle "Letzte Höhe"

Die Tabelle <instanceName><channelName>_last wird von Oracle Blockchain Platform intern verwendet, um die in der Rich History-Datenbank aufgezeichnete Blockhöhe zu verfolgen. Sie 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.

Tabelle "Transaktionsdetails"

Die Tabelle <instanceName><channelName>_more enthält Attribute für festgeschriebene Transaktionen. Wenn Sie die Rich-History-Datenbank aktivieren, können Sie wählen, welches dieser Attribute in dieser Tabelle aufgezeichnet werden soll. In der Tabelle mit den Transaktionsdetails werden nur Informationen über Transaktionen des Bestätigers erfasst, nicht über Konfigurationstransaktionen oder andere Hyperledger Fabric-Transaktionen.

Spalte Datentyp
KETTENCODE-ID VARCHAR2 (256)
BLOCKNR. NUMBER
TXNNO NUMBER
TXNID VARCHAR2(128)
ZEITSTEMPEL TIMESTAMP
WEITERLEITENDE TECHNIK VARCHAR2(512)
WEITERLEITEN VARCHAR2(512)
WEITERLEITENDE VARCHAR2(512)
KETTENCODETYP VARCHAR2(32)
VALIDIERUNGSCODENAME VARCHAR2(32)
BESTÄTIGUNGEN CLOB
EINGABE CLOB
EREIGNISSE CLOB
RESPONSESTATUS ANZAHL (0)
RESPONSEPAYLOAD VARCHAR2(1024)
RWSET CLOB
BLOCKCREATORCN 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 von Identitätszertifikaten gesteuert. Dies bedeutet, dass sie mehreren Werten zugewiesen werden können. Sie werden als kommagetrennte Liste in den Werten der Tabelle erfasst.
  • Bei Identitäten enthält die Tabelle nur Informationen über den Teil "Betreff" der Zertifikate, nicht den "Aussteller".
  • Die Spalte RWSET enthält Vorgänge für alle Chaincodes (im selben Ledger), 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.