2016-07-12 11 views
-2

Unsere Oracle DB-Größe beträgt rund 220 GB und es gibt zwei Tabellen, die die Binärdaten als BLOB-Spalten speichert. Eine der binären Tabellengröße ist etwa 150 GB und andere Tabelle ist 30 GB. Es hat uns sehr erschwert, tägliche Backups zu erstellen und Disaster Recovery an einem anderen Ort zu planen, da die Datenbankgröße sehr groß ist. Möchten Sie wissen, wie Sie Binärdaten aus den Tabellen separieren und diese Tabellendaten in einige zentrale Speicherbereiche verschieben können.So trennen Sie binäre Daten in Oracle DB

Antwort

0

Was Sie tun können, ist eine zweite RDS-Instanz zu erstellen und die 2 blob Tabellen in dieser neuen Instanz bewegen, so dass Sie mit 2 Servern werden: - Haupt Server: 30 GB - Document Server mit Blob Tabellen

Sie werden multi-AZ und tägliche Schnappschüsse auf dem Main Server verlassen und Snapshot auf wöchentliche vielleicht für das Dokument planen.

Erste: Backup aller Tabellen, außer Blob Tabellen

Sie expdp bestimmte Tabellen verwenden können, nur für den Export wie

expdp <master user>/<master pass>@source.cnrsdab7emat.us-east-1.rds.amazonaws.com:1521/DB schemas=SCOTT exclude=TABLE:"IN ('BLOB1', 'BLOB2')" directory= data_pump_dir dumpfile=dump.dmp 

Zweite: Erstellen Sie neue Instanz und Import-Dump

erstellen Achten Sie bei einer neuen Datenbankinstanz darauf, genügend Speicherplatz bereitzustellen. Sie müssen nicht unbedingt die DMP-Dateien übertragen und Sie können die DB über die Netzwerkverbindung

create database link to_rds connect to USERX identified by PASSX using '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=source.cnrsdab7emat.us-east-1.rds.amazonaws.com)(PORT=1521))(CONNECT_DATA=(SID=<ORCL_SID>)))'; 

laufen impdp von der neuen Instanz

impdp <master user>/<master pass>@target.cnrsdab7emat.us-east-1.rds.amazonaws.com:1521/NEWDB network_link=to_rds directory=data_pump_dir dumpfile=dump.dmp 

DRITTE importieren: Reinigen Sie Ihren alten db

ALTER die Tabelle, um die übertragenen Tabellen zu löschen.

+0

Durch diese Schritte können Sie möglicherweise die Blobdaten aus der Datenbank in einen Objektspeicher wie S3 verschieben. Die vorhandene BLOB-Tabelle könnte durch eine Tabelle ersetzt werden, die Zeiger (URIs) für die Objekte in S3 enthält. – jbird

+0

wahr, könnte sein; oder woanders wie aws elastic suchen und von der Suche profitieren, wenn Dateien indiziert werden können; Wenn Dateien nicht indiziert werden können, ist s3 eine gute Speicheroption –