lunes, 31 de octubre de 2011

pivot con oracle o pivot simulado con decode

Este blog está muy bien explicado y con un muy buen y claro ejemplo.




http://www.plsql.biz/2008/05/oracle-11g-y-la-clusula-pivot-como.html

compartir archivos en linux, para windows y linux

Desde hace tiempo que no trabajo linux con dedicacion y he encontrado un tutorial de como compartir un directorio y eso es bastante util.
esta es la url para poder realizar la configuracion del archivo que está localizado

en /etc/smb/smb.conf

http://www.jesusda.com/docs/howtos/samba/index.html

lunes, 24 de octubre de 2011

alt+f2 compiz-fusion dialogo ejecutar perdido

en la siguiente entrada de blog encontré la solución, vale aclarar que es valida tambien para gnome "ya lo probé", la url es la siguiente:

http://christianpzcs.blogspot.com/2009/02/alt-f2-y-compiz-fusion-en-opensuse110.html

domingo, 23 de octubre de 2011

instalando drupal en linux

tener instalado PHP+ MySQL+ Apache

se sugiere xaamp

descargar cualquier version de drupal
drupal.org

ingresar por consola y escribir:
mysqladmin -u root -p create drupal
despues escribir:
mysql –u root –p
se escribe el password
paso seguido se escribe
create user admin identified by admin;
y luego se escribe
GRANT ALL PRIVILEGES ON drupal.* TO admin@localhost IDENTIFIED BY 'admin';
despues se ingresa por consola a la carpeta www:
cd /var/www/
copiar la carpeta drupal
modificar el nombre del archivo default.settings.php y copiar y pegar
archivo pero con el nombre settings.php
crear el directorio drupal/sites/default/files
permisosDrupal:
sudo chmod 777 drupal/sites/default/files/
sudo chmod 777 drupal/sites/default/settings.php
despues de la instalacion antes de ingresar al sitio se sugiere escribir:
chmod 444 settings.php
lo anterior es por seguridad y para quitar una advertencia que se muestra.

gracias y hasta la proxima

xvidcap con sonido, grabar pantalla centos

Bueno, despues de un tiempo tuve la nesecidad de grabar lo que realizaba en mi escritorio, la verdad no queria volver a windows entonces me di a la tarea de realizar la instalacion de xvidcap que sirve para eso, capturar las acciones que un usuario realiza en video o todo lo que sucede en pantalla. pero me encontré con un problema y es que no grababa sonido, entonces me di a la tarea de intentar solucionarlo y encontre la siguiente informacion:

se debe instalar el paquete,

padsp

yum install pavucontrol

y ahora se debe arrancar xvidcap con siguiente comando

padsp xvidcap
y listo!!!, ahora sirve el sonido, la fuente está al fnal.

tambien encontré unos trucos que saqué de aquí:

http://writkas.wordpress.com/2010/11/03/problema-sonido-xvidcap/

sábado, 1 de octubre de 2011

Manejo o administracion de usuarios en oracle y vistas utiles DBA

http://databaseandtech.wordpress.com/2008/05/19/administracion-de-usuarios-en-oracle/


1. Crear Usuarios y asignar privilegios en Oracle




El siguiente es un resumen de algunas consideraciones al momento de crear un usuario o cuenta en Oracle, y los privilegios y roles que le podemos asignar.



» El nombre de usuario no debe superar 30 caracteres, no debe tener caracteres especiales y debe iniciar con una letra.

» Un método de autentificación. El mas común es una clave o password, pero Oracle 10g soporta otros métodos (como biometric, certificado y autentificación por medio de token).

» Un Tablespace default, el cual es donde el usuario va a poder crear sus objetos por defecto, sin embargo, esto no significa que pueda crear objetos, o que tenga una cuota de espacio. Estos permisos se asignan de forma separada, salvo si utiliza el privilegio RESOURCE el que asigna una quota unlimited, incluso en el Tablespace SYSTEM! Sin embargo si esto ocurre, ud. puede posteriormente mover los objetos creados en el SYSTEM a otro Tablespace.

» Un Tablespace temporal, donde el usuario crea sus objetos temporales y hace los sort u ordenamientos.

» Un perfil o profile de usuario, que son las restricciones que puede tener su cuenta (opcional).

Por ejemplo, conectado como el usuario SYS, creamos un usuario y su clave asi:



SQL> CREATE USER ahernandez IDENTIFIED BY ahz

DEFAULT TABLESPACE users;



Si no se indica un Tablespace por defecto, el usuario toma el que está definido en la BD (generalmente el SYSTEM). Para modificar el Tablespace default de un usuario se hace de la siguiente manera:



SQL> ALTER USER jperez DEFAULT TABLESPACE datos;



También podemos asignar a los usuarios un Tablespace temporal donde se almacenan operaciones de ordenamiento. Estas incluyen las cláusulas ORDER BY, GROUP BY, SELECT DISTINCT, MERGE JOIN, o CREATE INDEX (también es utilizado cuando se crean Tablas temporales).



SQL> CREATE USER jperez IDENTIFIED BY jpz

DEFAULT TABLESPACE users

TEMPORARY TABLESPACE temp;



Adicionalmente, a cada usuario se puede asignar a un profile o perfil, que tiene dos propósitos principalmente:



» Limita el uso de recursos, lo que es recomendable, por ejemplo en ambientes de Desarrollo

» Garantiza y refuerza reglas de Seguridad a nivel de cuentas

Ejemplos, cuando se crea el usuario o asignar un perfil existente:



SQL> CREATE USER jperez IDENTIFIED BY jpz

DEFAULT TABLESPACE users

TEMPORARY TABLESPACE temp

PROFILE resource_profile;



SQL> ALTER USER jperez

PROFILE perfil_desa;



2. Eliminar un Usuario de la Base de Datos



Para eliminar un usuario de la BD se hace uso de la clausula DROP USER y opcionalmente se puede utilizar CASCADE, para decirle que también elimine todos los objetos creados por ese usuario.



SQL> DROP USER jperez CASCADE;



3. Modificar cuentas de Usuarios



Para modificar un usuario creado, por ejemplo cambiar su clave, tenemos la sintáxis:



SQL> ALTER USER NOMBRE_USUARIO

IDENTIFIED BY CLAVE_ACCESO

[DEFAULT TABLESPACE ESPACIO_TABLA]

[TEMPORARY TABLESPACE ESPACIO_TABLA]

[QUOTA {ENTERO {K
M }
UNLIMITED } ON ESPACIO_TABLA

[PROFILE PERFIL];



4. Privilegios de Sistema y de Objetos



En Oracle existen dos tipos de privilegios de usuario.



4.1 System: Que permite al usuario hacer ciertas tareas sobre la BD, como por ejemplo crear un Tablespace. Estos permisos son otorgados por el administrador o por alguien que haya recibido el permiso para administrar ese tipo de privilegio. Existen como 100 tipos distintos de privilegios de este tipo.



En general los permisos de sistema, permiten ejecutar comandos del tipo DDL (Data definition Language), como CREATE, ALTER y DROP o del tipo DML (Data Manipulation Language). Oracle 10g tiene mas de 170 privilegios de sistema los cuales pueden ser vistos consultando la vista: SYSTEM_PRIVILEGE_MAP



Entre todos los privilegios de sistema que existen, hay dos que son los importantes: SYSDBA y SYSOPER. Estos son dados a otros usuarios que serán administradores de base de datos.



Para otorgar varios permisos a la vez, se hace de la siguiente manera:



SQL> GRANT CREATE USER, ALTER USER, DROP USER TO ahernandez;



4.2 Object: Este tipo de permiso le permite al usuario realizar ciertas acciones en objetos de la BD, como una Tabla, Vista, un Procedure o Función, etc. Si a un usuario no se le dan estos permisos sólo puede acceder a sus propios objetos (véase USER_OBJECTS). Este tipo de permisos los da el owner o dueño del objeto, el administrador o alguien que haya recibido este permiso explícitamente (con Grant Option).



Por ejemplo, para otorgar permisos a una tabla Ventas para un usuario particular:



SQL> GRANT SELECT,INSERT,UPDATE, ON analista.venta TO jperez;



Adicionalmente, podemos restringir los DML a una columna de la tabla mencionada. Si quisieramos que este usuario pueda dar permisos sobre la tabla Factura a otros usuarios, utilizamos la cláusula WITH GRANT OPTION. Ejemplo:



SQL> GRANT SELECT,INSERT,UPDATE,DELETE ON venta TO mgarcia WITH GRANT OPTION;



5. Asignar cuotas a Usuarios



Por defecto ningun usuario tiene cuota en los Tablespaces y se tienen tres opciones para poder proveer a un usuario de una quota:

5.1Sin limite, que permite al usuario usar todo el espacio disponible de un Tablespace.

5.2 Por medio de un valor, que puede ser en kilobytes o megabytes que el usuario puede usar. Este valor puede ser mayor o nenor que el tamaño del Tablespace asignado a él.

5.3 Por medio del privilegio UNLIMITED TABLESPACE, se tiene prioridad sobre cualquier cuota dada en un Tablespace por lo que tienen disponibilidad de todo el espacio incluyendo en SYSTEM y SYSAUX.



No se recomienda dar cuotas a los usuarios en los Tablespaces SYSTEM y SYSAUX, pues tipicamente sólo los usuarios SYS y SYSTEM pueden crear objetos en éstos. Tampoco dar cuotas en los Tablespaces Temporal o del tipo Undo.



6. Roles



Finalmente los Roles, que son simplemente un conjunto de privilegios que se pueden otorgar a un usuario o a otro Rol. De esa forma se simplifica el trabajo del DBA en esta tarea.



Por default cuando creamos un usuario desde el Enterprise Manager se le asigna el permiso de connect, lo que permite al usuario conectarse a la BD y crear sus propios objetos en su propio esquema. De otra manera, debemos asignarlos en forma manual.



Para crear un Rol y asignarlo a un usuario se hace de la siguiente manera:



SQL> CREATE ROLE appl_dba;



Opcionalmente, se puede asignar una clave al Rol:



SQL> SET ROLE appl_dba IDENTIFIED BY app_pwd;



Para asignar este Rol a un usuario:



SQL> GRANT appl_dba TO jperez;



Otro uso común de los roles es asignarles privilegios a nivel de Objetos, por ejemplo en una Tabla de Facturas en donde sólo queremos que se puedan hacer Querys e Inserts:



SQL> CREATE ROLE consulta;



SQL> GRANT SELECT,INSERT on analista.factura TO consulta;



Y finalmente asignamos ese rol con este “perfil” a distintos usuarios finales:



SQL> GRANT consulta TO ahernandez;



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 mayoría de los privilegios, no es recomendable asignarlo a usuarios que no son administradores.

SELECT_CATALOG_ROLE: No tiene privilegios de sistema, pero tiene cerca de 1600 privilegios de objeto.



Para consultar los roles definidos y los privilegios otorgados a través de ellos, utilize las vistas:



SQL> select * from DBA_ROLES;

SQL> select * from DBA_ROLE_PRIVS order by GRANTEE;
 
extraido de: http://dbagroup.cl/blog/?p=205
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Consultas SQL útiles para obtener información sobre Oracle Database

Consultas SQL útiles para obtener información sobre Oracle Database


Vista que muestra el estado de la base de datos:

select * from v$instance

Consulta que muestra si la base de datos está abierta:

select status from v$instance

Vista que muestra los parámetros generales de Oracle:

select * from v$system_parameter



Versión de Oracle:

select value from v$system_parameter where name = 'compatible'



Ubicación y nombre del fichero spfile:

select value from v$system_parameter where name = 'spfile'



Ubicación y número de ficheros de control:

select value from v$system_parameter where name = 'control_files'



Nombre de la base de datos

select value from v$system_parameter where name = 'db_name'



Vista que muestra las conexiones actuales a Oracle:

select osuser, username, machine, program

from v$session

order by osuser



Vista que muestra el número de conexiones actuales a Oracle agrupado por aplicación que realiza la conexión

select program Aplicacion, count(program) Numero_Sesiones

from v$session

group by program

order by Numero_Sesiones desc



Vista que muestra los usuarios de Oracle conectados y el número de sesiones por usuario

select username Usuario_Oracle, count(username) Numero_Sesiones

from v$session

group by username

order by Numero_Sesiones desc



Propietarios de objetos y número de objetos por propietario

select owner, count(owner) Numero

from dba_objects

group by owner

order by Numero desc



Diccionario de datos (incluye todas las vistas y tablas de la Base de Datos):

select * from dictionary





select table_name from dictionary



Muestra los datos de una tabla especificada (en este caso todas las tablas que lleven la cadena "EMPLO"):

select * from ALL_ALL_TABLES where upper(table_name) like '%EMPLO%'



Muestra los disparadores (triggers) de la base de datos Oracle Database:

select *from ALL_TRIGGERS



Tablas propiedad del usuario actual:

select * from user_tables



Todos los objetos propiedad del usuario conectado a Oracle:

select * from user_catalog



Consulta SQL para el DBA de Oracle que muestra los tablespaces, el espacio utilizado, el espacio libre y los ficheros de datos de los mismos:

Select t.tablespace_name "Tablespace", t.status "Estado",

ROUND(MAX(d.bytes)/1024/1024,2) "MB Tamaño",

ROUND((MAX(d.bytes)/1024/1024) -

(SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024),2) "MB Usados",

ROUND(SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024,2) "MB Libres",

t.pct_increase "% incremento",

SUBSTR(d.file_name,1,80) "Fichero de datos"

FROM DBA_FREE_SPACE f, DBA_DATA_FILES d, DBA_TABLESPACES t

WHERE t.tablespace_name = d.tablespace_name AND

f.tablespace_name(+) = d.tablespace_name

AND f.file_id(+) = d.file_id GROUP BY t.tablespace_name,

d.file_name, t.pct_increase, t.status ORDER BY 1,3 DESC



Productos Oracle instalados y la versión:

select * from product_component_version



Roles y privilegios por roles:

select * from role_sys_privs



Reglas de integridad y columna a la que afectan:

select constraint_name, column_name from sys.all_cons_columns



Tablas de las que es propietario un usuario, en este caso "HR":

SELECT table_owner, table_name from sys.all_synonyms where table_owner like 'HR'



Otra forma más efectiva (tablas de las que es propietario un usuario):

SELECT DISTINCT TABLE_NAME

FROM ALL_ALL_TABLES

WHERE OWNER LIKE 'HR'



Parámetros de Oracle, valor actual y su descripción:

SELECT v.name, v.value value, decode(ISSYS_MODIFIABLE, 'DEFERRED',

'TRUE', 'FALSE') ISSYS_MODIFIABLE, decode(v.isDefault, 'TRUE', 'YES',

'FALSE', 'NO') "DEFAULT", DECODE(ISSES_MODIFIABLE, 'IMMEDIATE',

'YES','FALSE', 'NO', 'DEFERRED', 'NO', 'YES') SES_MODIFIABLE,

DECODE(ISSYS_MODIFIABLE, 'IMMEDIATE', 'YES', 'FALSE', 'NO',

'DEFERRED', 'YES','YES') SYS_MODIFIABLE , v.description

FROM V$PARAMETER v

WHERE name not like 'nls%' ORDER BY 1



Usuarios de Oracle y todos sus datos (fecha de creación, estado, id, nombre, tablespace temporal,...):

Select * FROM dba_users



Tablespaces y propietarios de los mismos:

select owner, decode(partition_name, null, segment_name,

segment_name

':'

partition_name) name,

segment_type, tablespace_name,bytes,initial_extent,

next_extent, PCT_INCREASE, extents, max_extents

from dba_segments

Where 1=1 And extents > 1 order by 9 desc, 3



Últimas consultas SQL ejecutadas en Oracle y usuario que las ejecutó:

select distinct vs.sql_text, vs.sharable_mem,

vs.persistent_mem, vs.runtime_mem, vs.sorts,

vs.executions, vs.parse_calls, vs.module,

vs.buffer_gets, vs.disk_reads, vs.version_count,

vs.users_opening, vs.loads,

to_char(to_date(vs.first_load_time,

'YYYY-MM-DD/HH24:MI:SS'),'MM/DD HH24:MI:SS') first_load_time,

rawtohex(vs.address) address, vs.hash_value hash_value ,

rows_processed , vs.command_type, vs.parsing_user_id ,

OPTIMIZER_MODE , au.USERNAME parseuser

from v$sqlarea vs , all_users au

where (parsing_user_id != 0) AND

(au.user_id(+)=vs.parsing_user_id)

and (executions >= 1) order by buffer_gets/executions desc



Todos los ficheros de datos y su ubicación:

select * from V$DATAFILE



Ficheros temporales:

select * from V$TEMPFILE



Tablespaces:

select * from V$TABLESPACE



Otras vistas muy interesantes:

select * from V$BACKUP

select * from V$ARCHIVE

select * from V$LOG



select * from V$LOGFILE



select * from V$LOGHIST

select * from V$ARCHIVED_LOG



select * from V$DATABASE

Memoria Share_Pool libre y usada:

select name,to_number(value) bytes

from v$parameter where name ='shared_pool_size'

union all

select name,bytes

from v$sgastat where pool = 'shared pool' and name = 'free memory'



Cursores abiertos por usuario:

select b.sid, a.username, b.value Cursores_Abiertos

from v$session a,

v$sesstat b,

v$statname c

where c.name in ('opened cursors current')

and b.statistic# = c.statistic#

and a.sid = b.sid

and a.username is not null

and b.value >0

order by 3



Aciertos de la caché (no debe superar el 1 por ciento):

select sum(pins) Ejecuciones, sum(reloads) Fallos_cache,

trunc(sum(reloads)/sum(pins)*100,2) Porcentaje_aciertos

from v$librarycache

where namespace in ('TABLE/PROCEDURE','SQL AREA','BODY','TRIGGER');



Sentencias SQL completas ejecutadas con un texto determinado en el SQL:

SELECT c.sid, d.piece, c.serial#, c.username, d.sql_text

FROM v$session c, v$sqltext d

WHERE c.sql_hash_value = d.hash_value

and upper(d.sql_text) like '%WHERE CAMPO LIKE%'

ORDER BY c.sid, d.piece



Una sentencia SQL concreta (filtrado por sid):

SELECT c.sid, d.piece, c.serial#, c.username, d.sql_text

FROM v$session c, v$sqltext d

WHERE c.sql_hash_value = d.hash_value and sid = 105

ORDER BY c.sid, d.piece



Tamaño ocupado por la base de datos

select sum(BYTES)/1024/1024 MB from DBA_EXTENTS



Tamaño de los ficheros de datos de la base de datos:

select sum(bytes)/1024/1024 MB from dba_data_files



Tamaño ocupado por una tabla concreta sin incluir los índices de la misma

select sum(bytes)/1024/1024 MB from user_segments

where segment_type='TABLE' and segment_name='NOMBRETABLA'



Tamaño ocupado por una tabla concreta incluyendo los índices de la misma

select sum(bytes)/1024/1024 Table_Allocation_MB from user_segments

where segment_type in ('TABLE','INDEX') and

(segment_name='NOMBRETABLA' or segment_name in

(select index_name from user_indexes where table_name='NOMBRETABLA'))



Tamaño ocupado por una columna de una tabla:

select sum(vsize('NOMBRECOLUMNA'))/1024/1024 MB from NOMBRETABLA



Espacio ocupado por usuario:

SELECT owner, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB

GROUP BY owner



Espacio ocupado por los diferentes segmentos (tablas, índices, undo, rollback, cluster, ...):

SELECT SEGMENT_TYPE, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB

GROUP BY SEGMENT_TYPE



Espacio ocupado por todos los objetos de la base de datos, muestra los objetos que más ocupan primero:

SELECT SEGMENT_NAME, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB

GROUP BY SEGMENT_NAMEORDER BY 2 DESC



Obtener todas las funciones de Oracle: NVL, ABS, LTRIM, ...:

SELECT distinct object_name

FROM all_arguments

WHERE package_name = 'STANDARD'

order by object_name



Obtener los roles existentes en Oracle Database:

select * from DBA_ROLES



Obtener los privilegios otorgados a un rol de Oracle:

select privilege

from dba_sys_privs

where grantee = 'NOMBRE_ROL'

Obtener la IP del servidor de la base de datos Oracle Database:

select utl_inaddr.get_host_address IP

from dual



Mostrar datos de auditoría de la base de datos Oracle (inicio y desconexión de sesiones):

select username, action_name, priv_used, returncodefrom dba_audit_trail



Comprobar si la auditoría de la base de datos Oracle está activada:

select name, valuefrom v$parameter

where name like 'audit_trail'



Comandos utiles Oracle como DBA, tablas, tablespeces, usuarios, cuotas

•• Consulta Oracle SQL para conocer Vista que muestra el estado de la base de datos:


select * from v$instance

•• Consulta Oracle SQL para conocer Consulta que muestra si la base de datos está abierta

select status from v$instance

•• Consulta Oracle SQL para conocer Vista que muestra los parámetros generales de Oracle

select * from v$system_parameter

•• Consulta Oracle SQL para conocer Versión de Oracle

select value from v$system_parameter where name = 'compatible'

•• Consulta Oracle SQL para conocer Ubicación y nombre del fichero spfile

select value from v$system_parameter where name = 'spfile'

•• Consulta Oracle SQL para conocer Ubicación y número de ficheros de control

select value from v$system_parameter where name = 'control_files'

•• Consulta Oracle SQL para conocer Nombre de la base de datos

select value from v$system_parameter where name = 'db_name'

•• Consulta Oracle SQL para conocer Vista que muestra las conexiones actuales a Oracle Para visualizarla es necesario entrar con privilegios de administrador

select osuser, username, machine, program

from v$session

order by osuser

•• Consulta Oracle SQL para conocer Vista que muestra el número de conexiones actuales a Oracle agrupado por aplicación que realiza la conexión

select program Aplicacion, count(program) Numero_Sesiones

from v$session

group by program

order by Numero_Sesiones desc

•• Consulta Oracle SQL para conocer Vista que muestra los usuarios de Oracle conectados y el número de sesiones por usuario

select username Usuario_Oracle, count(username) Numero_Sesiones

from v$session

group by username

order by Numero_Sesiones desc

Propietarios de objetos y número de objetos por propietario

select owner, count(owner) Numero

from dba_objects

group by owner

order by Numero desc

•• Consulta Oracle SQL para conocer Diccionario de datos (incluye todas las vistas y tablas de la Base de Datos)

select * from dictionary

•• Consulta Oracle SQL para conocer Muestra los datos de una tabla especificada (en este caso todas las tablas que lleven la cadena "XXX"

select * from ALL_ALL_TABLES where upper(table_name) like '%XXX%'

•• Consulta Oracle SQL para conocer Tablas propiedad del usuario actual

select * from user_tables

•• Consulta Oracle SQL para conocer Todos los objetos propiedad del usuario conectado a Oracle

select * from user_catalog

•• Consulta Oracle SQL para conocer Consulta SQL para el DBA de Oracle que muestra los tablespaces, el espacio utilizado, el espacio libre y los ficheros de datos de los mismos:

Select t.tablespace_name "Tablespace", t.status "Estado",

ROUND(MAX(d.bytes)/1024/1024,2) "MB Tamaño",

ROUND((MAX(d.bytes)/1024/1024) -

(SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024),2) "MB Usados",

ROUND(SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024,2) "MB Libres",

t.pct_increase "% incremento",

SUBSTR(d.file_name,1,80) "Fichero de datos"

FROM DBA_FREE_SPACE f, DBA_DATA_FILES d, DBA_TABLESPACES t

WHERE t.tablespace_name = d.tablespace_name AND

f.tablespace_name(+) = d.tablespace_name

AND f.file_id(+) = d.file_id GROUP BY t.tablespace_name,

d.file_name, t.pct_increase, t.status ORDER BY 1,3 DESC

•• Consulta Oracle SQL para conocer Productos Oracle instalados y la versión:

select * from product_component_version

•• Consulta Oracle SQL para conocer Roles y privilegios por roles:

select * from role_sys_privs

•• Consulta Oracle SQL para conocer Reglas de integridad y columna a la que afectan:

select constraint_name, column_name from sys.all_cons_columns

•• Consulta Oracle SQL para conocer Tablas de las que es propietario un usuario, en este caso "xxx":

SELECT table_owner, table_name from sys.all_synonyms where table_owner like 'xxx'

•• Consulta Oracle SQL para conocer Otra forma más efectiva (tablas de las que es propietario un usuario):

SELECT DISTINCT TABLE_NAME

FROM ALL_ALL_TABLES

WHERE OWNER LIKE 'HR'

Parámetros de Oracle, valor actual y su descripción:

SELECT v.name, v.value value, decode(ISSYS_MODIFIABLE, 'DEFERRED',

'TRUE', 'FALSE') ISSYS_MODIFIABLE, decode(v.isDefault, 'TRUE', 'YES',

'FALSE', 'NO') "DEFAULT", DECODE(ISSES_MODIFIABLE, 'IMMEDIATE',

'YES','FALSE', 'NO', 'DEFERRED', 'NO', 'YES') SES_MODIFIABLE,

DECODE(ISSYS_MODIFIABLE, 'IMMEDIATE', 'YES', 'FALSE', 'NO',

'DEFERRED', 'YES','YES') SYS_MODIFIABLE , v.description

FROM V$PARAMETER v

WHERE name not like 'nls%' ORDER BY 1

•• Consulta Oracle SQL para conocer Usuarios de Oracle y todos sus datos (fecha de creación, estado, id, nombre, tablespace temporal,...):

Select * FROM dba_users

•• Consulta Oracle SQL para conocer Tablespaces y propietarios de los mismos:

select owner, decode(partition_name, null, segment_name,

segment_name

':'

partition_name) name,

segment_type, tablespace_name,bytes,initial_extent,

next_extent, PCT_INCREASE, extents, max_extents

from dba_segments

Where 1=1 And extents > 1 order by 9 desc, 3

Últimas consultas SQL ejecutadas en Oracle y usuario que las ejecutó:

select distinct vs.sql_text, vs.sharable_mem,

vs.persistent_mem, vs.runtime_mem, vs.sorts,

vs.executions, vs.parse_calls, vs.module,

vs.buffer_gets, vs.disk_reads, vs.version_count,

vs.users_opening, vs.loads,

to_char(to_date(vs.first_load_time,

'YYYY-MM-DD/HH24:MI:SS'),'MM/DD HH24:MI:SS') first_load_time,

rawtohex(vs.address) address, vs.hash_value hash_value ,

rows_processed , vs.command_type, vs.parsing_user_id ,

OPTIMIZER_MODE , au.USERNAME parseuser

from v$sqlarea vs , all_users au

where (parsing_user_id != 0) AND

(au.user_id(+)=vs.parsing_user_id)

and (executions >= 1) order by buffer_gets/executions desc

•• Consulta Oracle SQL para conocer todos los Tablespaces:

select * from V$TABLESPACE

•• Consulta Oracle SQL para conocer Memoria Share_Pool libre y usada

select name,to_number(value) bytes

from v$parameter where name ='shared_pool_size'

union all

select name,bytes

from v$sgastat where pool = 'shared pool' and name = 'free memory'

Cursores abiertos por usuario

select b.sid, a.username, b.value Cursores_Abiertos

from v$session a,

v$sesstat b,

v$statname c

where c.name in ('opened cursors current')

and b.statistic# = c.statistic#

and a.sid = b.sid

and a.username is not null

and b.value >0

order by 3

•• Consulta Oracle SQL para conocer Aciertos de la caché (no debería superar el 1 por ciento)

select sum(pins) Ejecuciones, sum(reloads) Fallos_cache,

trunc(sum(reloads)/sum(pins)*100,2) Porcentaje_aciertos

from v$librarycache

where namespace in ('TABLE/PROCEDURE','SQL AREA','BODY','TRIGGER');

Sentencias SQL completas ejecutadas con un texto determinado en el SQL

SELECT c.sid, d.piece, c.serial#, c.username, d.sql_text

FROM v$session c, v$sqltext d

WHERE c.sql_hash_value = d.hash_value

and upper(d.sql_text) like '%WHERE CAMPO LIKE%'

ORDER BY c.sid, d.piece

Una sentencia SQL concreta (filtrado por sid)

SELECT c.sid, d.piece, c.serial#, c.username, d.sql_text

FROM v$session c, v$sqltext d

WHERE c.sql_hash_value = d.hash_value

and sid = 105

ORDER BY c.sid, d.piece

•• Consulta Oracle SQL para conocer Tamaño ocupado por la base de datos

select sum(BYTES)/1024/1024 MB from DBA_EXTENTS

•• Consulta Oracle SQL para conocer Tamaño de los ficheros de datos de la base de datos

select sum(bytes)/1024/1024 MB from dba_data_files

•• Consulta Oracle SQL para conocer Tamaño ocupado por una tabla concreta sin incluir los índices de la misma

select sum(bytes)/1024/1024 MB from user_segments

where segment_type='TABLE' and segment_name='NOMBRETABLA'

•• Consulta Oracle SQL para conocer Tamaño ocupado por una tabla concreta incluyendo los índices de la misma

select sum(bytes)/1024/1024 Table_Allocation_MB from user_segments

where segment_type in ('TABLE','INDEX') and

(segment_name='NOMBRETABLA' or segment_name in

(select index_name from user_indexes where table_name='NOMBRETABLA'))

•• Consulta Oracle SQL para conocer Tamaño ocupado por una columna de una tabla

select sum(vsize('NOMBRECOLUMNA'))/1024/1024 MB from NOMBRETABLA

•• Consulta Oracle SQL para conocer Espacio ocupado por usuario

SELECT owner, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB

group by owner

•• Consulta Oracle SQL para conocer Espacio ocupado por los diferentes segmentos (tablas, índices, undo, rollback, cluster, ...)

SELECT SEGMENT_TYPE, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB

group by SEGMENT_TYPE

•• Consulta Oracle SQL para conocer Obtener todas las funciones de Oracle: NVL, ABS, LTRIM, ...

SELECT distinct object_name

FROM all_arguments

WHERE package_name = 'STANDARD'

order by object_name

•• Consulta Oracle SQL para conocer Espacio ocupado por todos los objetos de la base de datos, muestra los objetos que más ocupan primero

SELECT SEGMENT_NAME, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB

group by SEGMENT_NAME

order by 2 desc

 
 
extraido de: http://www.cibermanuales.com/bases-de-datos/oracle/consultas-sql-de-oracle-practicas-para-administradores-y-usuarios-avanzados
 
 
Bueno de acuerdo con los problemas presentados con el VirtualBox colocaré la solución para para el molesto letrero que sale cuando uno desea acceder a un puerto USB desde Virtual box desde Centos, bueno los comandos son los siguientes:

1. usermod -G vboxusers username
2. como usuario root:
 mkdir /vbusbfs


echo "none /vbusbfs usbfs rw,devgid=$(awk -F : '/vboxusers/ {print $3}' /etc/group),devmode=664 0 0" >> /etc/fstab

mount -a

y con esos cortos comandos se arreglaron los problemas, ya tenemos VirtualBox con usb funcionando, hasta pronto.