Tải bản đầy đủ (.ppt) (30 trang)

Managing tablespaces and data files

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (127.58 KB, 30 trang )

8

Managing Tablespaces and Data Files

Copyright © Oracle Corporation, 2002. All rights reserved.


Objectives
After completing this lesson, you should be able to do
the following:
• Define the purpose of tablespaces and data files
• Create tablespaces
• Manage tablespaces
• Create and manage tablespaces using Oracle
Managed Files (OMF)
• Obtain tablespace information

8-2

Copyright © Oracle Corporation, 2002. All rights reserved.


Tablespaces and Data Files
Oracle stores data logically in tablespaces and
physically in data files.
• Tablespaces:
– Can belong to only one database at a time
– Consist of one or more data files
– Are further divided into logical units of storage

• Data files:


– Can belong to only one
tablespace and one database
– Are a repository for schema
object data

8-3

Database
Tablespace
Data files

Copyright © Oracle Corporation, 2002. All rights reserved.


Types of Tablespaces
• SYSTEM tablespace
– Created with the database
– Contains the data dictionary
– Contains the SYSTEM undo segment

• Non-SYSTEM tablespace
– Separate segments
– Eases space administration
– Controls amount of space allocated to a user

8-4

Copyright © Oracle Corporation, 2002. All rights reserved.



Creating Tablespaces
A tablespace is created using the command:
CREATE TABLESPACE
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf' SIZE 5M;

8-5

Copyright © Oracle Corporation, 2002. All rights reserved.


Space Management in Tablespaces
• Locally managed tablespace:





Free extents are managed in the tablespace.
Bitmap is used to record free extents.
Each bit corresponds to a block or group of blocks.
Bit value indicates free or used.

• Dictionary-managed tablespace:
– Free extents are managed by the data dictionary.
– Appropriate tables are updated when extents are
allocated or deallocated.

8-9


Copyright © Oracle Corporation, 2002. All rights reserved.


Locally Managed Tablespaces
• Reduced contention on data dictionary tables
• No undo generated when space allocation or
deallocation occurs
• No coalescing required
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;

8-10

Copyright © Oracle Corporation, 2002. All rights reserved.


Dictionary-Managed Tablespaces
• Extents are managed in the data dictionary.
• Each segment stored in the tablespace can have a
different storage clause.
• Coalescing is required.
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf'
SIZE 500M EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE
(initial 1M NEXT 1M PCTINCREASE 0);

8-12


Copyright © Oracle Corporation, 2002. All rights reserved.


Migrating a Dictionary-Managed
SYSTEM Tablespace
Migrate a dictionary managed SYSTEM tablespace to
locally managed:
DBMS_SPACE_ADMIN.
TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');

8-13

Copyright © Oracle Corporation, 2002. All rights reserved.


Undo Tablespace





Used to store undo segments
Cannot contain any other objects
Extents are locally managed
Can only use the DATAFILE and EXTENT
MANAGEMENT clauses

CREATE UNDO TABLESPACE undo1
DATAFILE '/u01/oradata/undo01.dbf' SIZE 40M;


8-14

Copyright © Oracle Corporation, 2002. All rights reserved.


Temporary Tablespaces





Used for sort operations
Can be shared by multiple users
Cannot contain any permanent objects
Locally managed extents recommended

CREATE TEMPORARY TABLESPACE temp
TEMPFILE '/u01/oradata/temp01.dbf' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4M;

8-15

Copyright © Oracle Corporation, 2002. All rights reserved.


Default Temporary Tablespace
• Specifies a database-wide default temporary
tablespace
• Eliminates using SYSTEM tablespace for storing
temporary data

• Can be created by using:
– CREATE DATABASE
– ALTER DATABASE

8-18

Copyright © Oracle Corporation, 2002. All rights reserved.


Creating a Default Temporary Tablespace
• During database creation:
CREATE DATABASE DBA01
LOGFILE
GROUP 1 ('/$HOME/ORADATA/u01/redo01.log') SIZE 100M,
GROUP 2 ('/$HOME/ORADATA/u02/redo02.log') SIZE 100M,
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
DATAFILE '/$HOME/ORADATA/u01/system01.dbf' SIZE 325M
UNDO
– TABLESPACE undotbs
DATAFILE '/$HOME/ORADATA/u02/undotbs01.dbf' SIZE 200
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/$HOME/ORADATA/u03/temp01.dbf' SIZE 4M
CHARACTER SET US7ASCII

8-19


Copyright © Oracle Corporation, 2002. All rights reserved.


Creating a Default Temporary Tablespace
• After database creation:
ALTER DATABASE
DEFAULT TEMPORARY TABLESPACE default_temp2;

• To find the default temporary tablespace for the
database query DATABASE_PROPERTIES:
SELECT * FROM DATABASE_PROPERTIES;

8-20

Copyright © Oracle Corporation, 2002. All rights reserved.


Restrictions on Default
Temporary Tablespace
Default temporary tablespaces cannot be:
• Dropped until after a new default is made available
• Taken offline
• Altered to a permanent tablespace

8-22

Copyright © Oracle Corporation, 2002. All rights reserved.


Read-Only Tablespaces

• Use the following command to place a tablespace in
read-only mode:
ALTER TABLESPACE userdata READ ONLY;
– Causes a checkpoint
– Data available only for read operations
– Objects can be dropped from tablespace

8-23

Copyright © Oracle Corporation, 2002. All rights reserved.


Taking a Tablespace Offline
• Not available for data access
• Tablespaces that cannot be taken offline:
– SYSTEM tablespace
– Tablespaces with active undo segments
– Default temporary tablespace

• To take a tablespace offline:
ALTER TABLESPACE userdata OFFLINE;

• To bring a tablespace online:
ALTER TABLESPACE userdata ONLINE;

8-26

Copyright © Oracle Corporation, 2002. All rights reserved.



Changing Storage Settings
• Using ALTER TABLESPACE command to change
storage settings:
ALTER TABLESPACE userdata MINIMUM EXTENT 2M;
ALTER TABLESPACE userdata
DEFAULT STORAGE (INITIAL 2M NEXT 2M
MAXEXTENTS 999);

• Storage settings for locally managed tablespaces
cannot be altered.

8-29

Copyright © Oracle Corporation, 2002. All rights reserved.


Resizing a Tablespace
A tablespace can be resized by:
• Changing the size of a data file:
– Automatically using AUTOEXTEND
– Manually using ALTER DATABASE

• Adding a data file using ALTER TABLESPACE

8-31

Copyright © Oracle Corporation, 2002. All rights reserved.


Enabling Automatic Extension

of Data Files
• Can be resized automatically with the following
commands:
– CREATE DATABASE
– CREATE TABLESPACE
– ALTER TABLESPACE … ADD DATAFILE

• Example:
CREATE TABLESPACE user_data
DATAFILE
'/u01/oradata/userdata01.dbf' SIZE 200M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M;

• Query the DBA_DATA_FILES view to determine
whether AUTOEXTEND is enabled.
8-33

Copyright © Oracle Corporation, 2002. All rights reserved.


Manually Resizing a Data File
• Manually increase or decrease a data file size using
ALTER DATABASE.
• Resizing a data file adds more space without adding
more data files.
• Manual resizing of a data file reclaims unused space
in database.
• Example:
ALTER DATABASE
DATAFILE '/u03/oradata/userdata02.dbf'

RESIZE 200M;

8-36

Copyright © Oracle Corporation, 2002. All rights reserved.


Adding Data Files to a Tablespace
• Increases the space allocated to a tablespace by
adding additional data files
• ADD DATAFILE clause is used to add a data file
• Example:
ALTER TABLESPACE user_data
ADD DATAFILE '/u01/oradata/userdata03.dbf'
SIZE 200M;

8-37

Copyright © Oracle Corporation, 2002. All rights reserved.


Methods for Moving Data Files
• ALTER TABLESPACE
– Tablespace must be offline.
– Target data files must exist.
ALTER TABLESPACE userdata RENAME
DATAFILE '/u01/oradata/userdata01.dbf'
TO '/u02/oradata/userdata01.dbf';

8-39


Copyright © Oracle Corporation, 2002. All rights reserved.


Methods for Moving Data Files
• ALTER DATABASE
– Database must be mounted.
– Target data file must exist.
ALTER DATABASE RENAME
FILE '/u01/oradata/system01.dbf'
TO '/u03/oradata/system01.dbf';

8-40

Copyright © Oracle Corporation, 2002. All rights reserved.


Dropping Tablespaces
• You cannot drop a tablespace if it:
– Is the SYSTEM tablespace
– Has active segments

• INCLUDING CONTENTS drops the segments.
• INCLUDING CONTENTS AND DATAFILES deletes
data files.
• CASCADE CONSTRAINTS drops all referential
integrity constraints.
DROP TABLESPACE userdata
INCLUDING CONTENTS AND DATAFILES;


8-42

Copyright © Oracle Corporation, 2002. All rights reserved.


×