Oracle: Tablespace verwalten – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher (2024)

Zurück zu " Benutzerverwaltung " | Hoch zu " Inhaltsverzeichnis " | Vor zu " Backup und Recover "

Konfiguration von Tablespaces

[Bearbeiten]

Nach der Installation von Oracle gibt es nur den SYSTEM-Tablespace (bei Oracle Version < 10g), ab Oracle Version 10g gibt es mind. den SYSTEM und den SYSAUX Tablespace.

Es ist empfehlenswert, die System-Daten und die Anwendungsdaten in getrennten Tablespaces zu speichern.

Für die Systemdaten kann man eigene Tablespaces einrichten für

  • Datadictionary (existiert schon)
  • Tools
  • Rollback-Segmente
  • Sort-Bereich (temporärer Tablespace)

Für die Anwendungsdaten kann man Tablespaces einrichten für

  • die einzelnen Fachgebiete
  • Indices

Informationen von Tablespaces auslesen

[Bearbeiten]

 select file_name, tablespace_name, bytes/1048576, maxbytes/1048576, CASE WHEN maxbytes = 0 THEN 0 ELSE 100*bytes/maxbytes END, blocks/1024, maxblocks/1024, CASE WHEN maxblocks = 0 THEN 0 ELSE 100*blocks/maxblocks END, status, autoextensible, online_status from dba_data_files order by tablespace_name;

Neuen Tablespace erstellen

[Bearbeiten]

 CREATE TABLESPACE user_ts DATAFILE 'c:\oracle\oradata\ora\userts.dbf' SIZE 10M;

Der Tablespace wird mit einer festen Größe von 10MB angelegt.

 CREATE TABLESPACE user_ts DATAFILE 'c:\oracle\oradata\ora\userts.dbf' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 100K;

Die Extent-Verwaltung erfolgt bei diesem Tablespace lokal im Tablespace durch ein BITMAP und nicht über das Datadictionary. Alle Extents haben dieselbe Größe.

 CREATE TABLESPACE user_ts DATAFILE 'c:\oracle\oradata\ora\userts.dbf' SIZE 10M AUTOEXTEND ON NEXT 200K MAXSIZE 200M;

Dieser Tablespace wird zunächst mit 10MB angelegt. Er kann sich bei Bedarf in Schritten von 200 KB bis zu einer Maximalgröße von 200MB selbst erweitern.

Tablespace erweitern

[Bearbeiten]

 ALTER TABLESPACE user_ts1 ADD DATAFILE 'c:\oracle\oradata\ora\userts1.dbf' SIZE 10M;
 ALTER TABLESPACE user_ts2 ADD DATAFILE 'c:\oracle\oradata\ora\userts2.dbf' SIZE 10M AUTOEXTEND ON NEXT 200K MAXSIZE 200M;

Die beiden Tablespaces werden erweitert, indem eine weitere Datei hinzugefügt wird. Im ersten Fall ist es eine Datei mit fester Größe, im zweiten Fall ist es eine Datei, die sich bei Bedarf selbst erweitern kann.

 ALTER TABLESPACE user_ts1 ADD DATAFILE 'c:\oracle\oradata\ora\userts1.dbf' SIZE 10M AUTOEXTEND ON NEXT 200K MAXSIZE 200M;
 ALTER TABLESPACE user_ts2 ADD DATAFILE 'c:\oracle\oradata\ora\userts2.dbf' SIZE 10M AUTOEXTEND OFF;
 ALTER DATABASE DATAFILE 'c:\oracle\oradata\ora\userts2.dbf' AUTOEXTEND ON NEXT 200K MAXSIZE 100M;

Wenn der TEMP Tablespace erweitert werden soll, dann wird TEMPFILE anstelle von DATAFILE angegeben:

 ALTER TABLESPACE temp ADD TEMPFILE 'c:\oracle\oradata\ora\temp2.dbf' SIZE 10M AUTOEXTEND ON NEXT 200K MAXSIZE 200M;

Die AUTOEXTEND-Einstellung kann man nachträglich mit Hilfe des ALTER-DATABASE-Befehls verändern.

 ALTER DATABASE DATAFILE 'c:\oracle\oradata\ora\userts1.dbf' resize 10M;

Die Tablespace-Datei wird wieder verkleinert auf 10 MB. Dieser Befehl kann nur dann ausgeführt werden, wenn das bestehende Datenvolumen nicht den abzutrennenden Speicherbereich verwendet.

 ALTER TABLESPACE user_ts1 COALESCE;

Die einzelnen hintereinanderliegenden freien Extents in den Tablespace-Dateien werden zu ganzen Blöcken zusammengefasst. Dadurch können neue größere Extents in dem freien Platz angelegt werden.

Tablespace administrieren

[Bearbeiten]

Für bestimmte administrative Tätigkeiten müssen Tablespaces offline gesetzt werden.

In einer NOARCHIVELOG-Umgebung (d.h. es ist kein ARCH-Prozess aktiv, dementsprechend werden die Redolog-Dateien nicht archiviert):

 ALTER TABLESPACE user_ts1 OFFLINE DROP;
 ALTER TABLESPACE user_ts1 ONLINE;

In einer ARCHIVELOG-Umgebung (die Redolog-Dateien werden vom ARCH-Prozess archiviert):

 ALTER TABLESPACE user_ts1 OFFLINE NORMAL; ALTER TABLESPACE user_ts1 OFFLINE IMMEDIATE; ALTER TABLESPACE user_ts1 OFFLINE TEMPORARY;
 ALTER TABLESPACE user_ts1 ONLINE;

Schlüsselwort NORMAL: die Anweisung wird nur dann ausgeführt, wenn sich der Tablespace in einer Fehlersituation befindet.

Schlüsselwort IMMEDIATE: der Tablespace wird sofort in den OFFLINE-Modus gesetzt, auch wenn eine Transaktion diesen gerade benutzt. Beim ONLINE-Setzen muss ein Recover stattfinden.

Schlüsselwort TEMPORARY: die Dateien, die sich nicht in einer Fehlersituation befinden, werden durch einen Checkpoint gesichert. Beim ONLINE-Setzen muss ein Recover nur für die fehlerhaften Dateien stattfinden.

 ALTER DATABASE DATAFILE <Dateiname> OFFLINE; ALTER DATABASE DATAFILE <Dateiname> OFFLINE DROP; ALTER DATABASE DATAFILE <Dateiname> ONLINE;

Man kann auch einzelne Datenbankdateien online / offline setzen. In einer NOARCHIVELOG-Umgebung muss der Parameter DROP angegeben werden. Dies kann es ggf. erforderlich machen ein recover auf die Datenbankdatei auszuführen, bevor sie wieder online gesetzt werden kann.

 ALTER DATABASE RECOVER DATAFILE <Dateiname>;

Datenbankdatei umbenennen

[Bearbeiten]

1. Schritt: Tablespace OFFLINE setzen

2. Schritt: Datei auf Betriebssystemebene kopieren (Oracle schaut in beiden Dateien nach)

3. Schritt: Neuen Namen im Oracle bekannt geben:

 ALTER TABLESPACE user_ts RENAME DATAFILE <Dateiname-alt> TO <Dateiname-neu>;

oder:

 ALTER TABLESPACE user_ts RENAME DATAFILE <Dateiname1-alt>, <Dateiname2-alt>, ... TO <Dateiname1-neu>, <Dateiname2-neu>, ...;

4. Schritt: Tablespace ONLINE setzen

5. Kontrollieren:

SQL> select * from v$datafile;...Online...

6. Wenn die neue Datenbankdatei Online ist, kann die alte Datenbankdatei auf Betriebssystemebene gelöscht werden

Falls mehrere Datenbankdateien oder Dateien aus dem SYSTEM-Tablespace umbenannt werden sollen, können folgende Schritte ausgeführt werden:

1. Schritt: Datenbank in den MOUNT-Status versetzen

2. Schritt: Datei mit Betriebsystemmitteln umbenennen

3. Schritt: Neuen Namen im Oracle bekannt geben:

 ALTER DATABASE RENAME FILE <Dateiname-alt> TO <Dateiname-neu>;

oder:

 ALTER DATABASE RENAME FILE <Dateiname1-alt>, <Dateiname2-alt>, ... TO <Dateiname1-neu>, <Dateiname2-neu>, ...;

4. Schritt: Datenbank in den OPEN-Status versetzen

Tablespace löschen

[Bearbeiten]

Falls der Tablespace leer ist (keine Tabellen, Indexe, Rollback-Segmente vorhanden):

 DROP TABLESPACE user_ts;

Falls sich noch Objekte im Tablespace befinden:

 DROP TABLESPACE user_ts INCLUDING CONTENTS;

Ab Version 9 können auch die Datendateien auf Betriebssystemebene mit gelöscht werden:

 DROP TABLESPACE user_ts INCLUDING CONTENTS AND DATAFILES;

Falls sich noch Objekte im Tablespace befinden und von anderen Objekten Referenzen auf die Objekte im zu löschenden Tablespace existieren:

 DROP TABLESPACE user_ts INCLUDING CONTENTS CASCADE CONSTRAINTS;

Ohne die Angabe "AND DATAFILES" müssen die Dateien noch manuell mit Betriebssystemmitteln gelöscht werden.

Temporary Tablespace

[Bearbeiten]

Wenn bei der Ausführung von SQL-Statements Sortierungen gefordert werden, und diese Daten für die SGA zu umfangreich sind, dann werden sie in einem Tablespace auf der Platte zwischengespeichert und sortiert. Dabei können kurzfristig viele Extents angefordert werden, die danach wieder freigegeben werden. Um die Speicherplatzverwaltung im SYSTEM-Tablespace und in den Daten-Tablespaces nicht unnötig zu belasten, sollten temporäre Tablespaces zur Aufnahme dieser Daten bereitgestellt werden.

Temporary Tablespace anlegen

 CREATE TEMPORARY TABLESPACE user_temp_ts TEMPFILE <Dateiname> SIZE 10M;

Ein temporärer Tablespace hat ein TEMPFILE und KEIN DATAFILE.

Man kann auch einen "normalen" Tablespace in einen temporären Tablespace umwandeln:

 ALTER TABLESPACE user_ts TEMPORARY;

Und man kann einen temporären Tablespace in einen "normalen" Tablespace umwandeln:

 ALTER TABLESPACE user_temp_ts PERMANENT;

Datadictionary-Views für Tablespaces

[Bearbeiten]

Anzeige aller Tablespaces:

 select * from user_tablespaces; select * from dba_tablespaces;

Anzeige der Datendateien:

 select * from dba_data_files; select * from v$datafile;

Anzeige der Temp-Dateien:

 select * from dba_temp_files;

Freiplatzverwaltung:

 select * from dba_free_space;

Tablespaces mit AUTOEXTEND ON:

 select * from filext$;

Anzeige der Objekte in den Tablespaces:

 select * from dba_segments;

Wie groß ist der Redolog-Bereich? Redologs werden nicht in einem Tablespace gespeichert, sondern als "Archive-Log-Dateien" in einem dafür vorgesehenen Verzeichnis ausgegeben.

 select group#, bytes / 1024 / 1024 Redo_mb from v$log;

Zurück zu " Benutzerverwaltung " | Hoch zu " Inhaltsverzeichnis " | Vor zu " Backup und Recover "

Oracle: Tablespace verwalten – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher (2024)

References

Top Articles
The Code and the Rules – Paralegal Standards of Conduct and Integrity, Part 1
Texas Paralegal Definition & Standards
Matka 786 Guessing
Craigslist Rooms For Rent North County San Diego
Discovering The Height Of Hannah Waddingham: A Look At The Talented Actress
Cookie Clicker The Advanced Method
Schüleraustausch Neuseeland - Schulabschluss mit Study Nelson
Childersburg Busted Mugshots
Craigslist Shelves
Apple Store Near Me Make Appointment
Wolfgang's Thanks Crossword
Stepmom Full Video Hd
Comcast Business Sign In
The First 10 Years, Leslie Bricusse - Qobuz
How to Sign Out of Microsoft Outlook: Step-by-Step Guide - Solve Your Tech
Texas Motors Specialty Photos
American Eagle Store Locator
Free Bubble Letters Generator | Add bubble letters with a click!
Food King El Paso Ads
Mynorthwoodtech
Optum Primary Care - Winter Park Aloma
Rubmaps Springfield
Rachel Zoe first outing hours after announcing shock marriage split
No Prob-Llama Plotting Points
Rural King Credit Card Minimum Credit Score
Vidant My Chart Login
Jockey Standings Saratoga 2023
Craigslist Chicagoland Area
Arapahoe Youth League Baseball
Sotyktu Pronounce
Kayak Parts Amazon
Freeway Insurance Actress
Hyvee.com Login
What is a W-8BEN Form and Why Does It Matter?
Look Who Got Busted New Braunfels
Locals Canna House Deals
Www.lookmovie.og
Fx Channel On Optimum
Best Turntables of 2023 - Futurism
Seats 3D Ubs Arena
Culver's Flavor Of The Day Whitewater
Morning Call Obits Today Legacy
600 Aviator Court Vandalia Oh 45377
Pre-Order Apple Watch Series 10 – Best Prices in Dubai, UAE
About My Father Showtimes Near Marcus Saukville Cinema
Kingdom Tattoo Ithaca Mi
Stock Hill Restaurant Week Menu
Assistant Store Manager Dollar General Salary
Sesame Street 4323
Senna Build Guides :: League of Legends Strategy Builds, Runes, Items, and Abilities :: Patch 14.18
German police arrest 25 suspects in plot to overthrow state – DW – 12/07/2022
Latest Posts
Article information

Author: Melvina Ondricka

Last Updated:

Views: 5732

Rating: 4.8 / 5 (68 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Melvina Ondricka

Birthday: 2000-12-23

Address: Suite 382 139 Shaniqua Locks, Paulaborough, UT 90498

Phone: +636383657021

Job: Dynamic Government Specialist

Hobby: Kite flying, Watching movies, Knitting, Model building, Reading, Wood carving, Paintball

Introduction: My name is Melvina Ondricka, I am a helpful, fancy, friendly, innocent, outstanding, courageous, thoughtful person who loves writing and wants to share my knowledge and understanding with you.