Documente Academic
Documente Profesional
Documente Cultură
Cmo hacer el almacenamiento fsico (en disco) de los registros procesados en una base
de datos Oracle?
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).
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.
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.
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:
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:
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.
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.
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.
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
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
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.
pause
Podemos trabajar y cambiar las lneas con slo indicar el nmero de lnea que vamos a aadir
o cambiar o borrar.
Aqu os dejo unos cuantos comandos para editarla, su versin abreviada entre parntesis:
3* and cdclasnm = 03
Variables de usuario
Se pueden definir Variables de usuario con el comando DEFINE
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.