blog serrado
vete :v
1. DONDE SE GUARDA LA INFORMACIÓN DE MI BBDD
ResponderEliminarPara acceder al directorio donde se almacenan los ficheros
de mi BBDD debemos abrir un terminar y escribir la siguiente
instrucción:
cd $ORACLE_HOME
Esta instrucción nos dejará en la carpeta home de nuestra
base de datos. Veremos que se llama como esta (FREE).
Para confirmar que nos vamos a conectar a la base de
datos que queremos, podemos escribir la siguiente instrucción:
printenv | grep ORACLE
Al ejecutar esta instrucción, nos aparecen una serie de
parámetros, entre los que debe estar ORACLE_SID. El valor de
este parámetro será la base de datos a la que nos estamos
conectando si iniciamos una sesión con SQLPlus.
También podemos consultar las instancias de la base de
datos que se están ejecutando. Para ello, escribimos la
siguiente instrucción:
ps -ef|grep pmon
2. ACCESO A SQLPLUS
Se puede iniciar sesión en SQLPlus de diferentes formas,
voy a explicar 3:
• Usuario: hr
• Password: oracle
Este primer usuario es el mismo que usábamos en SQL
Developer, para acceder a la base de datos de ejemplo y
realizar consultas sobre la misma.
• Usuario: system
• Password: oracle
Este usuario es administrador del sistema Oracle, pero no
tiene todos los privilegios para realizar cualquier tarea, hay
algunas que las tiene restringidas.
• Usuario: sys
• Password: Oracle
Este último usuario es también administrador, pero esta
vez si que tiene privilegios para hacer cualquier cosa. Se debe
añadir as sysdba si queremos que sea administrador total, o
as opedba si queremos utilizar un perfil de operario, más
restringido.
3. AYUDA PARA USAR COMANDOS SQLPlus
Si necesitas consultar los diferentes comandos que se
pueden usar en sqlplus, lo haremos con la siguiente
instrucción:
help index
Si quiero consultar, por ejemplo, valores del uso de la SGA
por parte de la base de datos, escribiré la siguiente
instrucción:
show sga
Podremos ver el tamaño total de la SGA, el tamaño del
buffer de la base de datos o del Redo buffer.
Para consultar todos los parámetros definidos de nuestra
base de datos, escribiremos la instrucción:
show parameters
Nos aparecen una gran cantidad de parámetros junto a su
valor.
Estos comandos son propios de SQLPlus. Si ejecutamos
comandos propios de SQL, debemos finalizar la instrucción con
“;”. Un ejemplo sería la siguiente instrucción:
select sysdate from dual;
Con esta instrucción se consulta la fecha de una tabla que
tiene Oracle llamada dual.
4. VISTAS EN ORACLE
ResponderEliminarComo administradores de una base de datos, una de las
herramientas que utilizaremos serán las vistas. Oracle nos
ofrece vistas dinámicas sobre el rendimiento de la base de
datos, sobre estadísticas y funcionalidades de la base de
datos. Una vista es una unidad lógica de almacenamiento que
representa un grupo de tablas, o parte de una tabla. Es decir,
es una sentencia SELECT que queda guardada
permanentemente en el diccionario de datos. No ocupa
espacio, ya que sus datos son dinámicos.
Podemos crear una vista en la base de datos de Estudios
(la que insertamos para hacer ejercicios). Un ejemplo sería el
siguiente:
create view PROFWEB as
select NUMPRO, NOMPRO, SALPRO
from PROFESORES where ESPPRO=’Web’;
Podemos también modificar una vista ya creada, para ello
utilizaremos la opción OR REPLACE, que modifica una vista ya
existente y si no existe, la crea. Un ejemplo sería:
create or replace view PROFWEB (NUMERO,
NOMBRE, SALARIO) as
select NUMPRO, NOMPRO, SALPRO
from PROFESORES where ESPPRO=’Web’;
De esta forma modificamos en nombre de los campos en la
vista PROFWEB.
Otra opción que podemos utilizar en la creación de una
vista, es la restricción WITH CHECK OPTION. Con ella,
evitaremos que se pueda modificar el valor de un campo que
es clave primaria en la vista.
Create or replace view CURSOS104 as
Select * from CURSOS where NUMPRO=104
Whit check option constraint CURSOS104_CK;
Para consultar las vistas que podemos utilizar, podemos
realizar la siguiente consulta:
select * from v$fixed_table;
Obtenemos más de 3200 vistas del diccionario que
podemos consultar. Los resultados se ven en tablas con una
anchura excesiva. Podemos modificar esta anchura, con la
siguiente instrucción:
col name format A40
Para repetir la última instrucción, lo podemos hacer con r.
También puedo paginar el resultado de la respuesta, en
este caso, vemos que hay más de 3000 registros, por tanto,
vendría bien. Para hacerlo, utilizaremos la siguiente
instrucción:
set pause on
Los resultados que empiezan por x$ son tablas del
sistema, y solo las modifica ORACLE. En cambio, las que
empiezan por V$ o GV$, son vistas con las que trabajará el
administrador de la BBDD.
Si queremos consultar las vistas que tienen que ver con la
SGA, introduciremos la siguiente instrucción:
select * from v$fixed_table where name like 'V$SGA
%';
Si hacemos una consulta sobre la primera vista, V$SGA,
obtendremos el mismo resultado que el que se mostró con la
instrucción show sga que realizamos en el punto 3.
Si hacemos una consulta sobre la segunda vista del
resultado anterior, nos aparece mucho más detallada la
información sobre la memoria que ocupa cada elemento más
en concreto. La consulta sería:
select * from v$sgainfo;
Por último, la vista V$sgastat nos mostrará de una forma
más concreta la información de la shared pool.
5. CONSULTA DE LOS ARCHIVOS LOG
Para consultar la ubicación de los archivos log, podemos
realizar la siguiente consulta:
Select value form v$parameter where name =
‘background_dump_dest’;
6. PARÁMETROS
Para consultar los parámetros de la base de datos, junto a
sus valores, podemos ejecutar la instrucción:
select name, value from V$parameter;
Para ver bien el resultado podemos configurar la anchura
de las columnas name y value.
Si queremos concretar más, y consultar los parámetros de
la SGA, podemos escribir la siguiente instrucción:
select name, value from v$parameter where
upper(name) like ‘%SGA%’;
Vamos a ver como cambiar algún parámetro. Vamos a
cambiar el idioma. Para eso, primero hacemos una consulta:
select name, value from v$parameter where name
like ‘%language%’;
Con esta consulta, veremos el lenguaje del sistema, y
podemos cambiarlo. Para hacerlo, ejecutaremos la siguiente
instrucción:
alter session set nls_language = 'SPANISH';
Si volvemos a hacer la consulta, veremos que ha cambiado
de AMERICAN a SPANISH.
7. PROCESOS
ResponderEliminarPara saber que usuario ha lanzado que proceso, podemos
realizar la siguiente consulta:
select username, program from v$session
Veo los parámetros lanzados por el sistema y por los
diferentes usuarios.
8. USUARIOS
Para consultar los usuarios existentes en Oracle database,
podemos realizar la siguiente consulta:
select username from all_users;
Para consultar los usuarios y sus passwords en Oracle
podemos realizar la siguiente consulta:
select name,password from sys.user$;
Como se puede observar se devuelve el nombre del
usuario, junto con su password encriptado.
Para crear un usuario, primero debemos definir que es un
tablespace. Un tablespace es un almacén lógico de los
ficheros de la base de datos. Cada tablespace posee uno o
varios ficheros (datafiles) donde almacena toda la información;
estos ficheros deben tener una estructura lógica. Para saber
que tablespaces hay creados, podemos realizar la siguiente
consulta:
select tablespace_name from dba_tablespaces;
Ahora que ya sabemos los tablespaces que tenemos,
vamos a crear un usuario con la siguiente sentencia:
create user asir identified by torrent
default tablespace USERS
quota 15M on USERS
account lock;
Si queremos consultar los datos de los usuarios, podemos
realizar la siguiente consulta:
select username, account_status, profile from
DBA_USERS
Se pueden consultar cualquiera de los diferentes campos
de la tabla.
Para modificar cualquier parámetro del usuario,
utilizaremos la siguiente sentencia:
alter user asir quota unlimited on USERS;
Con esta sentencia en concreto, modificamos la cuota en
disco a ilimitada.
Para eliminar un usuario y los objetos del esquema del
mismo, lo haremos con la siguente instrucción:
drop user asir cascade
Si queremos conceder privilegios al usuario, podemos
hacerlo con la siguiente instrucción:
grant create session, alter session to asir;
Esto le permitiría crear y modificar una sesión. Si
queremos revocar determinados privilegios a un usuario, lo
haríamos con la siguiente instrucción:
revoke create session, alter session from asir;
9. SINONIMOS
Para simplificar el acceso a los objetos, podemos crear
sinónimos. De esta forma simplificamos nombres de tablas o
vistas muy largos o complicados. Un ejemplo de como
crearlos es el siguiente:
create synonym PROF for PROFESORES;
También podemos borar sinónimos, si ya no los vamos a
necesitar, de la siguiente forma:
drop synonym PROF;
10. INDICES
Para acelerar las búsquedas, pordemos crear indices que
nos permitan recuperar la información de una forma más àgil.
Hay dos formas de crearlos:
1. Se crear auntomáticamente cuando un campo es clave
primaria.
2. Manualmente
create index ID_JEFPRO on PROFESORES(JEFPRO);