Está en la página 1de 12

1.

Cmo hacer el almacenamiento fsico (en disco) de los registros procesados en una base
de datos Oracle?

2. Cmo se gestionan los usuarios en Oracle y qu tipo de operaciones se pueden


hacer?

Creacin y gestin de cuentas de usuario, grupos y roles


En Oracle Solaris 11, los usuarios, los grupos y los roles se crean y gestionan nicamente con las
herramientas de la lnea de comandos. En la actualidad, no existe ninguna herramienta GUI para realizar
estas tareas. Adems, las herramientas de la lnea de comandos que utiliza Solaris Management Console ya
no estn disponibles. Consulte Eliminacin de los archivos, las herramientas, los servicios y los comandos de
gestin del sistema heredado.
Para obtener informacin sobre la gestin de cuentas de usuario y grupos, consulte el Captulo 2, Gestin de
grupos y cuentas de usuario (descripcin general) de Administracin de Oracle Solaris: tareas comunes y
el Captulo 3, Gestin de cuentas de usuario y grupos (tareas) de Administracin de Oracle Solaris: tareas
comunes.

Contraseas de usuario
Ahora, el algoritmo de hash de contraseas predeterminado es SHA256. Esta contrasea de hash es similar a
la siguiente:
$5$cgQk2iUy$AhHtVGx5Qd0.W3NCKjikb8.KhOiA4DpxsW55sP0UnYD
Adems, ya no existe una limitacin de 8 caracteres para las contraseas de usuario. La limitacin de 8
caracteres slo se aplica a contraseas que usan el algoritmo anteriorcrypt_unix(5), que se ha
conservado para brindar compatibilidad con versiones anteriores con cualquier entrada de
archivo passwd existente y con las asignaciones NIS.
Las contraseas se codifican usando uno de los otros algoritmos crypt(3c), incluido el algoritmo SHA256,
que es el predeterminado en el archivo policy.conf. Por lo tanto, las contraseas ahora pueden ser
mucho ms largas que ocho caracteres. Consulte
policy.conf
(4).

Creacin de cuentas de usuario


A continuacin, se describen los cambios en la creacin y la gestin de cuentas de usuario que presenta
Oracle Solaris 11:

Las cuentas de usuario se crean como sistemas de archivos ZFS individuales, lo cual permite a los
usuarios tener su propio sistema de archivos y su propio conjunto de datos ZFS. Cada directorio principal
que se crea con los comandos useradd y roleadd ubica el directorio principal del usuario
en /export/home como un sistema de archivos ZFS individual.

El comando useradd depende del servicio de montaje


automtico, svc:/system/filesystem/autofs, para montar los directorios principales. Este
servicio nunca debe deshabilitarse. Cada entrada del directorio principal de un usuario de la base de
datos passwd est en el formato /home/username, que es un desencadenador autofs que se
resuelve mediante el montador automtico con la asignacin auto_home.

El comando useradd crea automticamente entradas en el mapa auto_home que se


corresponden con el nombre de ruta especificado utilizando la opcin d de este comando. Si el nombre
de ruta incluye una especificacin de host remoto (por ejemplo, foobar:/export/home/jdoe), el
directorio principal para jdoe se debe crear en el sistema foobar. El nombre de ruta predeterminado
es localhost:/export/home/usuario. Como /export/home es el punto de montaje de un
conjunto de datos ZFS, el directorio principal del usuario se crea como un conjunto de datos ZFS
secundario, con el permiso ZFS para tomar instantneas delegado al usuario. Si se especifica un nombre
de ruta que no se corresponde a un conjunto de datos ZFS, se crea un directorio regular. Si se especifica
la opcin S ldap, se actualiza la entrada de asignacin auto_home en el servidor LDAP en lugar de
la asignacin auto_home.

Modificacin de cuentas de usuario


En Oracle Solaris 10, no se pueden asignar atributos de auditora mediante el comando usermod. En la
Oracle Solaris 11, el comando usermod funciona con LDAP y archivos. Todos los atributos de seguridad
pueden asignarse a un usuario mediante este mecanismo.
Por ejemplo, un administrador puede agregar un rol a una cuenta de usuario con el comando usermod.

3. Qu son los privilegios en una base de datos, qu tipos de privilegios existen y


cmo se asignan en los objetos de una base de datos (tablas, paquetes,
procedimientos, etc.)?

Un privilegio es un derecho para ejecutar un tipo particular de sentencia SQL para acceder
un objeto de otro usuario.
Un usuario puede recibir los privilegios de dos maneras:

Explcitamente.

Se asignan privilegios a un rol (un conjunto nominado de privilegios) y luego se


asignan estos roles a uno o ms usuarios.

El objetivo de los roles es permitir una mejor administracin de los privilegios, por lo general,
se deberan garantizar privilegios a los roles y no a los usuarios individuales.
Privilegios del sistema

Un privilegio del sistema es el derecho a realizar una accin particular, o realizar una accin
sobre cualquier (any) objeto de un tipo particular.
Existen alrededor de 60 privilegios del sistema distintos.
Los modos disponibles para asignar (grant) o desasignar (revoke) privilegios del sistema a
usuarios y roles son los siguientes:

Emplear el utilitario Server Manager.

Los comandos SQL GRANT y REVOKE.

Los usuarios con la opcin de ADMIN OPTION o con GRANT ANY PRIVILEGE pueden
asignar o quitar privilegios del sistema a otros usuarios.
Cualquier usuario con el privilegio del sistema GRANT ANY ROLE puede asignar o anular
cualquier rol a los usuarios de la base de datos. Cualquier usuario con la opcin ADMIN
OPTION tambin puede asignar o anular roles a los usuarios.
Privilegios sobre los objetos del schema
Un privilegio sobre un objeto del schema es un derecho para efectuar una accin particular
sobre una tabla, vista, secuencia, procedimiento, funcin o paquete.
Algunos otros objetos como clusters, ndices, triggers y vnculos de base de datos (database
links) no se asocian a privilegios sobre los objetos, sino que son controlados por medio de
privilegios del sistema.
Un objeto del schema y su sinnimo son equivalentes en cuanto a los privilegios.
Un usuario posee automticamente todos los privilegios sobre los objetos que se encuentran
en su schema.
Privilegios de objetos sobre tablas
Los privilegios de objetos sobre tablas pueden asignarse al nivel de las operaciones de DML o
DDL que se quieran hacer.
Para las operaciones de DML se pueden asignar los privilegios de DELETE, INSERT, SELECT
y UPDATE. Los privilegios de INSERT y UPDATE se pueden restringir inclusive a nivel de
columna de una tabla.
Cuando se inserta una fila con valores solo para las columnas asignadas las otras columnas
reciben el valor NULL o los valores default definidos para esa columna.
Para las operaciones del DDL se pueden asignar los privilegios de ALTER, INDEX y
REFERENCES.

El privilegio REFERENCES habilita a quien se le asigna este privilegio que pueda usar la tabla
(sus columnas) como clave primaria de cualquier clave fornea que necesite definir sobre sus
propias tablas.
Privilegios de objetos sobre vistas
Los privilegios de objetos sobre vistas permiten a los usuarios llevar a cabo varias
operaciones DML que afectan a las tablas bases desde las cuales las vistas son derivadas.
Los privilegios de objetos sobre tablas se pueden aplicar de manera similar sobre las vistas.
Para crear una vista se debe haber garantizado los siguientes privilegios:

CREATE VIEW o CREATE ANY VIEW (privilegio de sistema) directamente o a travs


de un rol.

Explcitamente los privilegios de objeto SELECT, INSERT, UPDATE o DELETE sobre


las tablas base que corresponden a las vistas, o los privilegios SELECT ANY TABLE,
INSERT ANY TABLE, UPDATE ANY TABLE DELETE ANY TABLE (privilegios del
sistema).

Para poder garantizar a otros usuarios el acceso a las vistas se deben tener el
privilegio sobre los objetos base con GRANT OPTION o el privilegio del sistema ADMIN
OPTION.

Para usar una vista se necesita tener privilegios sobre la vista nicamente. No se requiere
tener privilegios sobre los objetos base que soportan a las vistas.
Las vistas agregan dos niveles adicionales de seguridad sobre las tablas base: a nivel de
columna y a nivel de valores de la tabla: una vista puede proveer el acceso slo a algunas
columnas de la tabla, o a determinadas filas, filtradas por determinados valores en cada
columna.
Privilegios de objeto sobre procedimientos
El nico privilegio de objetos para procedimientos (incluyendo funciones y paquetes) es el de
EXECUTE. Con esto se puede agregar otro nivel de seguridad a la base de datos, ya que un
usuario solo requiere el privilegio de ejecutar un procedimiento, pero no necesita los privilegios
de acceder a las bases que el procedimiento accede. De esta manera se fuerza que los
usuarios se accedan a las tablas base slo a travs los procedimientos, cuyo funcionamiento
est debidamente probado.
Un usuario con el privilegio de sistema EXECUTE ANY PROCEDURE puede ejecutar
cualquier procedimiento que exista en el sistema.

Para crear un procedimiento el usuario debe tener alguno de los privilegios CREATE
PROCEDURE o CREATE ANY PROCEDURE (privilegio del sistema). Para modificar un
procedimiento el usuario debe ser el dueo del procedimiento o tener el privilegio del sistema
ALTER ANY PROCEDURE.
El usuario que es dueo del procedimiento debe tener tambin el privilegio sobre los objetos
del schema que son accedidos en el cuerpo del procedimiento. Estos privilegios deben ser
adquiridos explcitamente y NO a travs de roles.

4.

Qu son los roles en una base de datos y cmo de administran en Oracle?

En general los roles se emplean para asignar los privilegios relacionados con los usuarios
finales de las aplicaciones de un sistema o para asignar roles a otro roles.
Los roles de la base de datos tienen la siguiente funcionalidad:

Un rol puede tener privilegios del sistema y privilegios de objetos del schema.

Un rol se puede asignar a otro roles (excepto a s mismo directa o indirectamente).

A cualquier usuario de la base de datos se le puede asignar cualquier rol.

Un rol asignado a un usuario se puede habilitar o inhabilitar en cualquier momento.

Un rol garantizado indirectamente puede ser explcitamente habilitado o inhabilitado al


usuario. No obstante para habilitar un rol que contiene otro roles, los roles contenidos se
habilitan implcitamente habilitando el rol que los contiene.

En una base de datos cada rol debe ser nico y ningn nombre de usuario o rol puede ser el
mismo.
El dominio de seguridad de un usuario consiste de los privilegios de todos los objetos creados
en su propio schema, los privilegios asignados explcitamente al usuario, los privilegios y roles
garantizados al usuario que actualmente estn habilitados, y los privilegios y roles
garantizados al grupo de usuarios PUBLIC.
Un usuario requiere uno ms privilegios del sistema y de objetos del schema para ejecutar
sentencias DDL.
No obstante, existen algunas restricciones relacionada con los roles y los privilegios de los
usuarios que son:

Todo privilegio del sistema o de objeto que permite a un usuario realizar una operacin
DDL se pueden usar si se reciben a travs de un rol, con excepcin del privilegio
REFERENCES que no puede usarse si se recibe por medio de un rol.

Todo privilegio de sistema o de objeto que permite a un usuario realizar una operacin
DML que es requerida para ejecutar una sentencia DDL no se puede usar para ejecutar la
sentencia DDL cuando se recibe por medio de un rol.

ORACLE provee automticamente los roles CONNECT, RESOURCE, DBA,


EXP_FULL_DATABASE and IMP_FULL_DATABASE para todos los usuarios de la base
de datos.
5. Si tuvieran que realizar una auditora a una base de datos, qu criterios tendran en
cuenta para evaluar la informacin guardada, el diseo y las modificaciones?
6.

Qu es PL/SQL y cules son sus principales caractersticas. Adicionalmente qu


se puede hacer con PL/SQL?

Cada Motor de Bases de Datos, tiene implementado el lenguaje SQL, y en cada Motor
puede variar. El PL-SQL, es la versin de SQL que maneja Oracle
Tiene como caracterstica principal que es un lenguaje procedural, que supera y
amplia las capacidades del SQL estndar, por ejemplo, puede definir secuencias de
control, de flujo y toma de decisiones.
Los programas que son creados en PL-SQL, solo pueden compilarse si se utilizan
herramientas de Oracle, tales como Fonts, Reports, etc., y tambin se implementa en
un servidor de Bases de Datos
PL-SQL, adems de soportar todas las formas de manipulacin de datos de SQL,
incluye las siguientes caractersticas

Estructuras modulares.
El manejo de variables.
Control de excepciones.
Estructuras de control.

Todos los programas creados utilizando PL-SQL, de la misma manera los paquetes,
pueden ser almacenados en la Base de Datos, como un dato ms, lo cual optimiza el
uso por parte del usuario
Cada lnea de PL-SQL, tiene grupos de caracteres, que normalmente se conocen como
Unidades Lxicas, estas estn clasificadas en 4 grupos:
DELIMITADORES: Smbolos simples o compuestos, como por ejemplo operadores
aritmticos, lgicos o relacionales, que cumplen con un objetivo especifico en PL-SQL

IDENTIFICADORES: Compuesto por Constantes, Variables, Cursores, Subprogramas,


Excepciones y Paquetes, que se invocan con el fin de nombrar objetos de programas y
unidades dentro del PL-SQL
LITERAL: Es un valor especifico, de tipo numrico, lgico, carcter o cadena, que no
esta representado por un identificador
COMENTARIO: Se encierran en los caracteres // para una sola lnea y /* */ para un
conjunto de lneas
Tipos de Datos
Cada una de las variables y las constantes deben ir asociadas a un tipo de dato, que
tiene un grupo de caractersticas como formato de almacenamiento, restricciones y
rango de valores validos, y principalmente estn divididos en dos grupos, Escalares y
Compuestos
NUMBER (numrico): Almacena todo tipo de nmeros reales, sin limite de longitud,
aunque esta puede limitarse
CHAR (Carcter): Almacena hasta 32767 datos de tipo carcter, o sea letras
VARCHAR (Carcter de longitud variable): Almacena datos de tipo carcter pero solo
utiliza la cantidad necesaria
BOOLEAN (lgico): Se almacenan datos, de tipo booleano, es decir los datos de tipo
True o False
DATE (Fecha): Almacena datos de fechas que estn contenidas entre el ao de 4712
a.C. hasta el 4712 D.C.

7. Cules son los comandos o funcionalidades ms importantes que se maneja en


SQLPlus.

SQL PLUS es una herrramienta de Oracle para interactuar con la base de datos. Un intrprete
SQL, con el que podemos editar y formatear los resultados. Para comenzar:

sqlplus usuario/contrasea@servicio

SQL Plus almacena en el buffer la ltima sentencia que se ha ejecutado, pero slo la ltima.
Esta se puede volver a ejecutar con poner r ( run, que edita la sentencia antes de
ejecutarla) / (que simplemente la ejecuta).

Se consideran que hay dos tipos de archivos, los de spool y los de comandos:

El fichero spool almacena los resultados de consultas en un fichero .lst o lo manda a una
impresora:
SPOOL fichero ( puedes ponerle el nombre con la extensin que t quieras). Guarda el
resultado al fichero.
SPOOL OUT Manda el resultado la impresora.
SPOOL OFF Cierra el fichero.
EXIT Si cerramos, se cierran automticamente los ficheros.
Los archivos de comandos son para los comandos SQL y SQL*Plus. Estos se pueden editar,
guardar y ejecutar. Su extensin es sql.
DEFINE_EDITOR: Se indica a SQL PLUS el editor de textos que se va a usar.
define_editor = vi >Si ests usando Oracle de UNIX

define_editor = notepad > Si ests usando Oracle para Windows

EDIT (ed): Editar fichero , con lo indicado anteriormente, sino se hace crea un fichero temporal
(AFIEDT.BUF)
EXIT: Sale de SQL PLUS
GET: Lleva al buffer el fichero. GET <fichero>
HELP: Muestra la ayuda (si est disponible). Si ponemos help index ( nos dar un ndice con
la ayuda de la que disponemos.
LIST (l): Sirve para ver ltimo comando metido sin ejecutar.
QUIT: Sale de SQL PLUS
RUN (r /): Ejecuta el ltimo comando metido. (hay que usarlo cuando el comando o select
indicada no acaba en ; )
SAVE: Graba el fichero. La opcin REPLACE sirve para sobreescribir el fichero.
Formato: SAVE <nombre> [REPLACE] Ejemplo: SAVE C:\prueba.txt REPLACE

START (sta) : Ejecuta un fichero de texto con ordenes SQL. Si la extensin del fichero no
es .SQL hay que indicarlo.

Formato: START <fichero> <parametros>

CONNECT: para conectarse como otro usuario.


HOST o !: para ejecutar un comando del Sistema Operativo
Estas otras son bastante tiles:

PROMPT: Escribe un mensaje en pantalla.


ACCEPT: Pide un valor y lo almacena en la variable que se indique.
PAUSE: Se para la ejecucin hasta que se da al intro.
prompt Introduzca cdigo

pause

accept codigo prompt Cdigo?

select * from prueba where codigo=&codigo;

Comandos de edicin para la select:


Supongamos que tenemos esta select:

SQL> select distinct(cddni) from prueba;

Si queremos aadir una condicin ms, ponemos:

SQL> 2 where cdhabil = DEM';


Y al ejecutar la select veremos que se ha transformado en:

1 select distinct(cddni) from bperret

2 where cdhabil = DEM

Podemos trabajar y cambiar las lneas con slo indicar el nmero de lnea que vamos a aadir
o cambiar o borrar.

Por ejemplo si ponemos SQL> 2 where cdhabil = ROS

1 select distinct(cddni) from prueba

2 where cdhabil = ROS

Lo mismo ocurrir si escribimos:

SQL> a and cdclasnm = 02 genera:


1 select distinct(cddni) from prueba

2 where cdhabil = DEM and cdclasnm = 02

Aqu os dejo unos cuantos comandos para editarla, su versin abreviada entre parntesis:

append (a) Aade texto al final de la lnea:


SQL> a and and cdclasnm = 02 genera:

1 select distinct(cddni) from bperret

2 where cdhabil = DEM and cdclasnm = 02

change (c) Cambia una expresin por otra (c/antigua/nuevo)


SQL> c /02/03

3* and cdclasnm = 03

Sino ponemos nada en nuevo, nos eliminar esa expresin.

clear buffer (cl buff) Limpia el buffer


del Para borrar lneas. Tiene varias opciones:
del Borra la lnea actual

del n Borra la lnea nmero n

del * Borra la lnea actual

del n * Borra desde la lnea n hasta la actual

del last Borra la ltima lnea

del m n Borra las lneas situadas entre ellas.

del * n Borra la actual lnea hasta la lnea n.

input (i) Inserta el texto que quieras


list (l) Muestra las lneas que hay en el buffer. Puede tener las siguientes combinaciones:
list n Muestra la lnea n

list * Muestra la lnea actual.

list n * Muestra las lneas entre la actual y el final

list last Muestra la ltima lnea

list m n Muestra las lneas entre m y n

Variables de usuario
Se pueden definir Variables de usuario con el comando DEFINE

DEFINE Variable = valor


Para borrar una variable se utiliza el comando UNDEFINE

UNDEFINE variable

Variables de Sustitucin
Las variables de sustitucin son un nombre de variable de usuario con el smbolo & delante.
Cuando SQL*Plus detecta una variable de sustitucin en un comando, ejecuta el comando
tomando el valor de la variable si ya est definida ( ver punto anterior ) o lo solicita por
pantalla.

Si slo quiere que el valor se solicite una vez pon &&nombrevariable.

SQL> define tabla=dual

SQL> select 2 from &tabla;

old 1: select 2 from &tabla

new 1: select 2 from dual

8.Cmo gerentes de proyectos o lderes administrativos qu criterios tendran e