Você está na página 1de 10

Administrando Tablespaces y Datafiles

1 Crear un tablespace permanente con el siguiente nombre y almacenamiento:


a. DATA01 administrado por el diccionario de datos.
SQL> CREATE TABLESPACE data01
2 DATAFILE 'D:\ORACLASS\ORADATA\u04\data01.dbf' SIZE 2M
3

EXTENT MANAGEMENT DICTIONARY;

No se puede crear.

b. DATA02 administrado localmente con tamao de extents uniformes. Asegrese que


cada tamao de extent usado en el tablespace sea un mltiplo de 100 KB.
SQL> CREATE TABLESPACE data02
2

DATAFILE 'D:\ORACLASS\ORADATA\u03\data02.dbf' SIZE 1M

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 100K;

Tablespace created.

c. INDEX01 administrado localmente con extents de tamao uniforme de


40K. Habilite extensin automtica de 500 KB cuando requiera ms extents con un
tamao mximo de MB.
SQL> CREATE TABLESPACE index01
2

DATAFILE 'D:\oraclass\ORADATA\u02\index01.dbf' SIZE 1M

AUTOEXTEND ON NEXT 500K MAXSIZE 2M

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 40K;

Tablespace created.

d. RONLY para tablas de solo lectura con almacenamiento por defecto. NO HAGA el
tablespace en solo lectura para este momento.
SQL> CREATE TABLESPACE ronly
2 DATAFILE 'D:\ORACLASS\ORADATA\u01\ronly01.dbf' SIZE 1M;
Tablespace created.

Administrando Tablespaces y Datafiles


e. Muestre la informacin desde el diccionario de datos.
Sugerencia: Informacin acerca de tablespaces pueden ser mostrados usando cualquiera de
las siguientes vistas.
- DBA_TABLESPACES
- V$TABLESPACE
- V$DATAFILE
SQL> SELECT tablespace_name FROM dba_tablespaces;
TABLESPACE_NAME
-----------------------------SYSTEM
SYSAUX
UNDOTBS
TEMP
INDX
SAMPLE
QUERY_DATA
EXAMPLE
USERS
DATA01
DATA02
INDEX01
RONLY
13 rows selected.

Administrando Tablespaces y Datafiles


2. Asigne 500K de espacio de disco adicional al tablespace DATA02.Verifique el resultado.
SQL> ALTER DATABASE
2 DATAFILE 'D:\ORACLASS\ORADATA\u03\data02.dbf' RESIZE 1500K;
Database altered.
SQL> COLUMN name FORMAT a40
SQL> SELECT name, bytes, create_bytes
2

FROM

v$datafile

WHERE

name LIKE '%DATA02%;

NAME

BYTES

CREATE_BYTES

------------------------------------- ------- -----------D:\oraclass\ORADATA\u03\data02.dbf


1048576 1048576

Administrando Tablespaces y Datafiles


3. Reubicar al tablespace INDEX01 a la carpeta u06. Verifique la reubicacin y el
estado de INDEX01.
Sugerencia:
- Tome el tablespace INDEX01 fuera de lnea.
- Use V$DATAFILE para verificar el estado.
-

Use el comando move de sistema operativo para mover el tablespace a u06.


Use ALTER TABLESPACE para reubicar al tablespace.

Ponga el tablespace INDEX01 online.

Use V$DATAFILE para verificar el estado.


SQL> ALTER TABLESPACE index01 OFFLINE;
Tablespace altered.
SQL> SELECT name, status
2 FROM v$datafile;
NAME

STATUS

-------------------------------------------------- ------D:\ORACLASS\ORADATA\u01\system01.dbf

SYSTEM

D:\ORACLASS\ORADATA\u02\undotbs01.dbf

ONLINE

D:\ORACLASS\ORADATA\u03\users01.dbf
D:\ORACLASS\ORADATA\u03\indx01.dbf

ONLINE
ONLINE

D:\ORACLASS\ORADATA\u02\sample01.dbf

ONLINE

D:\ORACLASS\ORADATA\u01\querydata01.dbf
D:\ORACLASS\ORADATA\u04\data01.dbf

ONLINE
ONLINE

D:\ORACLASS\ORADATA\u03\data02.dbf

ONLINE

D:\ORACLASS\ORADATA\u02\index01.dbf
D:\ORACLASS\ORADATA\u01\ronly01.dbf

OFFLINE
ONLINE

13 rows selected.
SQL> host move D:\ORACLASS\ORADATA\u02\index01.dbf
D:\ORACLASS\ORADATA\u06\index01.dbf
SQL> ALTER TABLESPACE index01
2
3

RENAME DATAFILE
'D:\ORACLASS\ORADATA\u02\index01.dbf' TO

'D:\ORACLASS\ORADATA\u06\index01.dbf';

Tablespace altered.
SQL> ALTER TABLESPACE index01 ONLINE;
Tablespace altered.
- continua -

Administrando Tablespaces y Datafiles


- continua SQL> SELECT name, status
2 FROM v$datafile;
NAME

STATUS

-------------------------------------------------- ------D:\ORACLASS\ORADATA\u01\system01.dbf
SYSTEM
D:\ORACLASS\ORADATA\u01\sysaux01.dbf
SYSTEM
D:\ORACLASS\ORADATA\u02\undotbs01.dbf
ONLINE
D:\ORACLASS\ORADATA\u03\users01.dbf
ONLINE
D:\ORACLASS\ORADATA\u03\indx01.dbf
ONLINE
D:\ORACLASS\ORADATA\u02\sample01.dbf
ONLINE
D:\ORACLASS\ORADATA\u02\example01.dbf
ONLINE
D:\ORACLASS\ORADATA\u01\querydata01.dbf
ONLINE
D:\ORACLASS\ORADATA\u04\data01.dbf
ONLINE
D:\ORACLASS\ORADATA\u03\data02.dbf
ONLINE
D:\ORACLASS\ORADATA\u06\index01.dbf
ONLINE
D:\ORACLASS\ORADATA\u01\ronly01.dbf
ONLINE
D:\ORACLASS\ORADATA\u03\users01.dbf
ONLINE
13 rows selected.

Administrando Tablespaces y Datafiles


4 . a. Crear una tabla en el tablespace RONLY. Haga el tablespace RONLY de solo lectura.
Ejecute la consulta para verificar esto.
SQL> CREATE TABLE table1 (x CHAR (1))
2 TABLESPACE ronly;
Table created.
SQL> ALTER TABLESPACE ronly READ ONLY;
Tablespace altered.
SQL> SELECT name, enabled, status
2 FROM v$datafile;
NAME

ENABLED

STATUS

------------------------------------------- ---------- -----D:\ORACLASS\ORADATA\u01\system01.dbf


D:\ORACLASS\ORADATA\u01\sysaux01.dbf
D:\ORACLASS\ORADATA\u02\undotbs01.dbf
D:\ORACLASS\ORADATA\u03\users01.dbf

READ
READ
READ
READ

WRITE
WRITE
WRITE
WRITE

SYSTEM
SYSTEM
ONLINE
ONLINE

D:\ORACLASS\ORADATA\u03\indx01.dbf

READ WRITE ONLINE

D:\ORACLASS\ORADATA\u02\example01.dbf

READ WRITE ONLINE

D:\ORACLASS\ORADATA\u02\sample01.dbf

READ WRITE ONLINE

D:\ORACLASS\ORADATA\u01\querydata01.dbf

READ ONLY

D:\ORACLASS\ORADATA\u04\data01.dbf

READ WRITE ONLINE

D:\ORACLASS\ORADATA\u03\data02.dbf

READ WRITE ONLINE

D:\ORACLASS\ORADATA\u06\index01.dbf

READ WRITE ONLINE

D:\ORACLASS\ORADATA\u01\ronly01.dbf

READ ONLY

D:\ORACLASS\ORADATA\u03\users01.dbf
13 rows selected.

READ WRITE ONLINE

ONLINE

ONLINE

Administrando Tablespaces y Datafiles


4 . b. Intente crear una tabla adicional TABLE2. Elimine la primera tabla creada, TABLE1.
Que pasa?
SQL> CREATE TABLE table2 (y CHAR (1))
2 TABLESPACE ronly;
CREATE TABLE table2 (y CHAR (1))
*
ERROR at line 1:
ORA-01647: tablespace 'RONLY' is read only, cannot allocate
space in it
SQL> DROP TABLE table1;
Table dropped.

Administrando Tablespaces y Datafiles


5 Eliminar el tablespace RONLY y el datafile asociado. Verificar lo realizado.
SQL> DROP TABLESPACE ronly INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
SQL> SELECT *
2 FROM
v$tablespace;
TS# NAME

INC

------- ------------- --0 SYSTEM


1 UNDOTBS

YES
YES

3 USERS
4 INDX

YES
YES

5 SAMPLE

YES

2 TEMP
6 QUERY_DATA

YES
YES

7 DATA01
8 DATA02

YES
YES

9 INDEX01

YES

10 rows selected.
SQL> host dir D:\ORACLASS\ORADATA\u01\*
D:\ORACLASS\ORADATA\u01\control01.bak
D:\ORACLASS\ORADATA\u01\querydata01.dbf
D:\ORACLASS\ORADATA\u01\control01.ctl
D:\ORACLASS\ORADATA\u01\system01.dbf

Administrando Tablespaces y Datafiles


6. Configurar DB_CREATE_FILE_DEST a D:\ORACLASS\ORADATA\u05 solo en memoria.
Crear el tablespace DATA03 de tamao 5M. No especifique la ubicacin del archivo.
Verifique la creacin del archive de datos.
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='D:\ORACLASS\ORADATA\u05
SCOPE=MEMORY;
System altered.
SQL> CREATE TABLESPACE data03
2
DATAFILE SIZE 5M;
Tablespace created.
SQL> SELECT *
2 FROM
v$tablespace;
TS# NAME
------0
1
3
4
5
2
6
7
8
9
11

------------SYSTEM
UNDOTBS
USERS
INDX
SAMPLE
TEMP
QUERY_DATA
DATA01
DATA02
INDEX01
DATA03

INC
--YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES

11 rows selected.
SQL> host dir D:\ORACLASS\ORADATA\u05
ora_data03_xg17n9nd.dbf

Você também pode gostar