generieren "create tablespace" - Skript ohne dbms_metadata.get_ddl
ich möchte erstellen Sie einen "create tablespace"-Skript aus unserer Produktion-Datenbank. ich habe bereits versucht die folgende, die führt zu einem ORA-31603:
select dbms_metadata.get_ddl('TABLESPACE',tablespace_name) from dba_tablespaces where tablespace_name != 'SYSTEM'
Nach googlen fand ich, dass ich brauche, die SELECT_CATALOG_ROLE
zu verwenden dbms_metadata.get_ddl
. Was ich habe, ist der Zugang zu DBA_TABLESPACES
.
Frage: gibt es einen Weg zu erzeugen, einen "create tablespace"-Skript, ohne die SELECT_CATALOG_ROLE
mit nur DBA_TABLESPACES
?
Ich würde schreiben das Skript auf meiner eigenen, aber ich nicht wirklich wissen, wie Sie zu interpretieren sind die Angaben select * from DBA_TABLESPACES
(ist AUOTEXTEND AN oder AUS, wie viel wird die ursprüngliche GRÖßE und so weiter...).
InformationsquelleAutor some_coder | 2014-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Autoextend und Größe details finden Sie in der
DBA_DATA_FILES
Tabelle. Ein tablespace kann mehrere Dateien, die unterschiedliche Größen und-Attributen, wenn Ihr nicht einBIGFILE
tablespace.Ein Beispiel für ein einfaches Skript erstellen (11g), ohne die meisten Besonderheiten berücksichtigt (also bitte überprüfen Sie Ihre tablespaces für details wie Kompression und Verschlüsselung und fügen Sie Sie in das Skript entsprechend. Siehe die vollständige
CREATE TABLESPACE
Referenz hier) - und, wie immer, gründlich testen. SchließtUNDO
undTEMP
tablespaces:Wenn Sie mehrere Datendateien im tablespace ändern Sie es zu einem
BIGFILE
tablespace.InformationsquelleAutor Jon Tofte-Hansen
Dies ist hilfreich, wenn Sie wissen, dass Ihre Daten-Dateien Pfad und geben Sie den gleichen Namen wie Ihre tablespaces.
Auch erzeugen einige von Ihnen tablespaces, wenn nötig.
InformationsquelleAutor Najee Ghanim