Sei sulla pagina 1di 16

UNSCH-

Escuela de Ing. De Sistemas

I. OBJETIVOS
Crear base de datos

Gestin de Tablespaces y DataFiles


Administracin de usuarios en oracle
II. MARCO TERICO
Conceptos de almacenamiento
TableSpace:
Una base de datos se divide en unidades lgicas denominadas TABLESPACE.
Un tablespace no es un archivo fsico en el disco; simplemente, es el nombre
que tiene un conjunto de propiedades de almacenamiento que se aplican a los
objetos(tablas, secuencias) que se crean en la base de datos bajo el tablespace
indicado(tabla, secuencias)

DataFile:
Un datafile es la representacin fsica de un tablespace. Son los archivos de
datos donde se almacena la informacin fsicamente.
Un dataFile est asociado a un solo tablespace y un tablespace est asociado a
uno o varios datafiles.

III. DESARROLLO
CREACION DE UNA BASE DE DATOS
por medio del asistente de configuracin de base de datos seguir los siguientes
pasos:
1.

Modelamiento de Base de Datos

-1-

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

2.

3.

Modelamiento de Base de Datos

-2-

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

4.

5.

Modelamiento de Base de Datos

-3-

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

6.

7.

Modelamiento de Base de Datos

-4-

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

8.

9.

Modelamiento de Base de Datos

-5-

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

10.

11.

Modelamiento de Base de Datos

-6-

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

12.

13.

Modelamiento de Base de Datos

-7-

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

14.

15.

Modelamiento de Base de Datos

-8-

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

16.

17.

GESTIN DE TABLESPACES Y DATAFILES


CREAR ESPACIO DE TABLAS
Al crear el espacio de tablas, es para almacenar en esta parte o
porcin de la base de datos la data de las tablas a crear.
Modelamiento de Base de Datos

-9-

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

Sintaxis Completa:
CREATE TABLESPACE nombre_tablespace
DATAFILE Datafile_options Storage_options;
Datafile_options
Filespec[AUTOEXTEND OFF]
Filespec[AUTOEXTEND ON [NEXT int k M][MAXSIZE int k M]
La clausula Autoextend ser UNLIMITED si el valor no es especificado
Storage_options;
MINIMUN EXTEND int {k,m}
LOGGING/NOLOGGING
EXTEND MANAGEMENT {DICTIONARY/LOCAL{UNIFORM[SIZEint
k/M]}}
SEGMENT SPACE MANAGEMENT {MANUAL/AUTO}
Donde, entre lo ms importante, se menciona que la opcin EXTEND
MANAGEMENT DICTIONARY(manejados por el diccionario), ya no es
usada en las ltimas versiones. En las ltimas versiones, lo que se
acostumbra es usar EXTEND MANAGEMENT LOCAL(manejados
localmente, es decir, en los mismos datafiles existe informacin
acerca de su crecimiento), el cual puede ser UNIFORM(los segmentos
de ese tablespace crece en extend del tamao que se especifique)
Ejemplos:
1. Creacin de un nuevo datafile de 50 megabytes junto con un nuevo tablespace
TS_MiTablespaces:
SQL> CREATE TABLESPACE TS_MiTablespaces
DataFile d:\BaseDAtos\ArchivoDatos.dbf
Size 50M ;
Uma vez creado este tablespace, si com el tempo se quiere aadir
espacio, se puede hacer creando um nuevo datafile y
asignndoseleal tablespace, usando la siguiente sentencia:
SQL> ALTER TABLESPACE TS_MiTablespaces
add
DataFile d:\BaseDAtos\ArchivoDatos2.dbf
Size 100M ;
Con las dos instrucciones anteriores se han creado un tablespace
nuevo en la base de datos en el que caben 150 megabytes de
informacin.

Modelamiento de Base de Datos

- 10 -

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

Aumentar El Tamao Sin Agregar Nuevo Archivo de datos


Conocer DATAFILES que forman parte de nuestra base de datos
Para conocer DATAFILES que forman parte de nuestra base de datos se puede
consultar la vista dba_datefiles en la que se indica por cada datafile o archivo de datos,
a que tablespace pertenece y canto espacio total tiene reservado.
Select tablespace_name, file_name, bytes/1024/1024 from dba_data_files
SQL> ALTER TABLESPACE TS_MiTablespaces
DataFile d:\BaseDAtos\ArchivoDatos2.dbf
Size 100M ;

2. Creacin de un nuevo datafile de 20 megabytes junto con un nuevo tablespace


TS_SISTEMAS para que los archivos de datos se incremente automticamente
cuando estos se estn llenando.
SQL> CREATE TABLESPACE TS_SISTEMAS
DataFile d:\BaseDAtos\Datos.dbf
resize 100M
AUTOEXTEND ON NEXT 150K MAXSIZE 100M;
3. Creacin de un nuevo datafile de 15 megabytes junto con un nuevo tablespace
TS_SISTEMAS2 para que se administre localmente y automaticamente
SQL> CREATE TABLESPACE TS_SISTEMAS
LOGGING
DataFile d:\BaseDAtos\Datos.dbf
Size 5M EXTEND
MANAGEMENT LOCAL SEGMENT SPACE
MANAGEMENT AUTO;

Administracin de usuarios en Oracle


1. CREACIN DE USUARIOS
Una de las ms bsicas tareas de un administrador de base de
datos es identificar los usuarios. Cada usuario que conecta en la
base de datos debe de tener una cuenta.
Para crear un usuario utilizamos la sentencia CREATE USER.
Cuando se crea una cuenta como mnimo tienes que asignar un
nico nombre (username) y una contrasea para poder
autenticarse.
Modelamiento de Base de Datos

- 11 -

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

Para cambiar alguno de los atributos que se le ha aadido al


usuario creado se utiliza la sentencia ALTER USER.
2. AUTENTICACIN ORACLE
Cuando uno se conecta con una instancia de una base de datos
la cuenta de usuario debe de estar autenticada.
AUTENTICACIN MEDIANTE PASSWORD
Cuando un usuario se conecta con una base de datos verifica
que este usuario y la contrasea introducida almacenada en la
base de datos, sea correcta. Las contraseas se guardan
encriptados en la base de datos (en el data dictionary).
Sintaxis:
SQL>CREATE USER nombre_usuario IDENTIFIED BY contrasea
EJEMPLO;
SQL > CREATE USER juancito IDENTIFIED BY jperez;
En este caso jperez es la contrasea de juancito que ser
guardada encriptada en la base de datos.

Mostrar el usuario.
SQL>SHOW USER;

3. ASIGNACIONES A LOS USUARIOS


ASIGNACIN DE UN USUARIO A UN TABLESPACE (
DEFAULT TABLESPACE )
Mediante esta sentencia asignamos un usuario a un tablespace,
este ser su tablespace por defecto cuando creamos un
usuario.
SQL > CREATE USER juancito IDENTIFIED BY jperez
DEFAULT TABLESPACE users;
Modelamiento de Base de Datos

- 12 -

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

Mediante esta sentencia, en caso de tener creado ya el usuario


le asignamos un tablespace.
SQL
>
ALTER
TS_SISTEMAS;

USER

Ejercicio01:
Crear
un
usuario
TS_ADMISION

USER02

DEFAULT

(nombre)

un

TABLESPACE

tablespace

BORRADO DE UN USUARIO
Para borrar un usuario utilizamos la sentencia DROP USER,
podemos opcionalmente incluir la opcin CASCADE, se utiliza
para borrar recursivamente los objetos del usuario que se
pretende borrar.

SQL > DROP USER USER02 CASCADE


La clusula CASCADE permite borrar el usuario y todos los objetos que posea
ASIGNAR CUOTAS A USUARIOS
SINTAXIS
QUOTA

{ENTERO

{K

M}

UNLIMITED

ON

ESPACIO_TABLA]

QUOTA= Asigna un espacio en megabites o kilobites en el tablespace asignado. Si


no se especifica esta clusula, el usuario no tiene cuota asignada y no podr crear
objetos en el tablespace. Para tener espacio y acceso ilimitado a un tablespace es:
GRANT UNLIMITED TABLESPACE NOMBRE_TABLESPACE;

Ejemplo
Alter user user02 quota unlimited on ts_sistemas
OTORGANDO PRIVILEGIOS (GRANTING)
A un usuario podemos otorgarle una serie de privilegios. Un
privilegio permite a un usuario acceder a ciertos objetos o
realizar ciertas acciones:
- Privilegios sobre Objetos ( Object privileges ) a permisos
sobre vistas, tablas, secuencias, procedimientos, paquetes.
- Privilegios del Sistema ( System privileges ) a permisos sobre
niveles de la base de datos como pueden ser conexin a la
Modelamiento de Base de Datos

- 13 -

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

base de datos, creacin de usuarios, limitar cuentas.


- Privilegios sobre Roles ( Role privileges ) a muchos permisos
son otorgados mediante roles agrupando un conjunto de
privilegios.
Para otorgar privilegios utilizamos la sentencia GRANT, para
quitar un privilegio o permiso a un usuario utilizamos la
sentencia REVOKE
Privilegios del Sistema
|| CONNECT || Todos los permisos necesarios para iniciar una sesin en
Oracle
||
|| RESOURCE || Todos los permisos necesarios para tener recursos para
la
creacin
de
objetos
||
|| DBA || Todos los permisos para un administrador de base de datos
(DBA)
||
|| EXP_FULL_DATABASE || Permisos para poder exportar toda la base
de
datos.
||
|| IMP_FULL_DATABASE || Permisos para poder importar toda la base
de
datos.
||
Podemos decir que un usuarios normal, debe tener al menos los
permisos de CONNECT (para conectarse) y de RESOURCE (para poder
crear objetos).
Nota: Existen algunos roles predefinidos, tales como:
CONNECT, CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE
SYNONYM, CREATE SEQUENCE, CREATE DATABASE LINK, CREATE
CLUSTER, ALTER SESSION, RESOURCE, CREATE PROCEDURE, CREATE
SEQUENCE, CREATE TRIGGER, CREATE TYPE, CREATE CLUSTER, CREATE
INDEXTYPE, CREATE OPERATOR SCHEDULER, CREATE ANY JOB, CREATE
JOB, EXECUTE ANY CLASS, EXECUTE ANY PROGRAM,
MANAGE SCHEDULER, etc.
DBA: Tiene la mayora de los privilegios, no es recomendable asignarlo a usuarios que
no son administradores.
EJEMPLOS
OTROGAR PRIVILEGIOS
Otorgar privilegios necesarios para el usuario con el fin que pueda efectuar la
conexin.
SQL>GRANT CONNECT TO nombre_usuario;

SQL>GRANT dba TO nombre_usuario;


Modelamiento de Base de Datos

- 14 -

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

Realizar la conexin
SQL>CONNECT nombre_usuario/contrasea@cadena_conexion;

GRANT

DBA

GRANT

CREATE

GRANT

DROP

GRANT

CONNECT,

ADMINISTRADOR;

USER

TO

USER
RESOURCE

GRANT
CONNECT,
IMP_FULL_DATABASE
GRANT

TO

TO

JUANCITO;

PEPOTE,

JUANCITO;

TO

RESOURCE,
TO

DBA,

CONTROL_TOTAL

PEPOTE;

TO

EXP_FULL_DATABASE,
CONTROL_TOTAL;
ADMINISTRADOR;

Instruccin REVOKE
REVOKE [privilegios_de_sistema | roles] FROM [usuarios | roles |PUBLIC];
Es posible eliminar ms de un privilegio de sistema o rol, separndolos por
comas. Tambin es posible eliminar uno (o varios) privilegios a varios
usuarios,
separndolos
por
comas
Ejemplos:
REVOKE

DBA

FROM

REVOKE

CREATE

REVOKE

DROP

USER

RECOKE

CONNECT,

RESOURCE

REVOKE
CONNECT,
IMP_FULL_DATABASE

USER

nombre_usuario;
FROM

nombre_usuario;

FROM

nombre_usuario;

FROM

RESOURCE,
FROM

DBA,

PEPOTE,

JUANCITO;

EXP_FULL_DATABASE,
CONTROL_TOTAL;

Privilegios sobre objetos


Los privilegios sobre objetos permiten que cierto objeto (creado por
un usuario) pueda ser accedido por otros usuarios. El nivel de acceso
Modelamiento de Base de Datos

- 15 -

Doc. Elvira Fernndez Jer

UNSCH-

Escuela de Ing. De Sistemas

depende del permiso que le demos: podemos darle permiso de


SELECT, de UPDATE, de DELETE, de INSERT o de todos ellos.
La sintaxis bsica es:
GRANT [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE] ON objeto
TO
[usuario
|
rol
|
PUBLIC]
{WITH
ADMIN
OPTION};
Al igual que con los permisos de sistema, es posible asignar un
permiso de objeto sobre uno o varios (separados por comas) usuario
y/o roles.
Si se incluye la clusula WITH ADMIN OPTION, este permiso podr
ser concedido por el usuario al que se le ha asignado.
Ejemplos:
GRANT SELECT, UPDATE ON ALUMNO (TABLA) TO PEPOTE, JUANCITO WITH
ADMIN
OPTION;
El modo de eliminar permisos de objeto es con la instruccin REVOKE:
REVOKE [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE] ON objeto
FROM
[usuario
|
rol
|
PUBLIC]
{WITH
ADMIN
OPTION};
Al igual que con los permisos de sistema, es posible asignar un permiso de
objeto sobre uno o varios (separados por comas) usuario y/o roles. Si se asigna
a
PUBLIC
ser
accesible
en
toda
la
base
de
datos.
Si se incluye la clusula WITH ADMIN OPTION, este permiso podr ser
concedido
por
el
usuario
al
que
se
le
ha
asignado.
Ejemplos:
GRANT SELECT, UPDATE
JUANCITO(USUARIOS);

Modelamiento de Base de Datos

ON

ALUMNO(NOMBRE_TABLA)

- 16 -

TO

PEPOTE,

Doc. Elvira Fernndez Jer

Potrebbero piacerti anche