domingo, 24 de julio de 2011

Borrar nombre de usuario del login Skype

Al iniciar sesión en Skype, nuestro nombre de usuario queda en la lista «Nombre de usuario». Es decir, que cuando se abre Skype, antes de iniciar sesión, en el cuadro donde se introduce el nombre de usuario de Skype, sale un listado de las cuentas que se han utilizado, y queremos quitar uno o varios nombres de usuario de esa lista.
Ventana de login de Skype
  • Windows
Inicio—>Ejecutar
Escribimos: %appdata%\skype

En la ventana que se abrirá, eliminamos la carpeta que tenga el nombre de la cuenta que deseamos quitar del listado del login de skype.
Probado en Windows XP SP3


  • Mac
Previamente cerrar Skype. Tener en cuenta mayúsculas y minúsculas en la ruta.

Sin terminal:

Abrimos el Finder
—>Macintosh HD
——>Usuarios
———>NombreDeNuestroUsuario
————>Librería
—————>Application Support
——————>Skype

Si no encuentras una de las carpetas prueba a ir al menú «Ir—>Ir a la carpeta» en el Finder; y escribir:
~/Library/Application Support/Skype
Finalmente eliminamos la carpeta que tenga el nombre del usuario de Skype que deseamos quitar del listado del login.

Desde un terminal:

rm -rf $HOME/Library/Application\ Support/Skype/usuarioSkype

Probado en Mac OS X 10.6.8


  • Ubuntu
Desde terminal:

Escribimos la siguiente línea, reemplazando por el correspondiente nombre de usuario de Skype que se desea borrar.

rm -r /home/$USER/.Skype/UsuarioSkype

Sin terminal:

Lugares
—>carpeta personal (Sistema de ficheros—>home—>usurioUbuntu)
——>.Skype (para ver ésta carpeta; menú ver — mostrar los archivos ocultos)
Eliminamos la carpeta que corresponda con el nombre de usuario de Skype a borrar.

Probado en Ubuntu 10.10


  • Android

Lo primero es ir a Ajustes, y buscar la sección de Aplicaciones, suele estar en la sección General.

Buscamos a Skype entre todas las aplicaciones.

Y finalmente procedemos a limpiar los datos. Esto borrará los datos de todas las cuentas, no solo de una en específico.


Y con estos pasos quitamos el nombre de usuario de Skype de la ventana de login (inicio de sesión).

martes, 19 de julio de 2011

Error al activar autotrace

SP2-0611


Al intentar activar desde sqlplus el informe de estadísticas da los mensajes siguiente.


SQL> set autotrace on
SP2-0618: No se ha podido encontrar el identificador de sesión. Compruebe si el rol PLUSTRACE está a
SP2-0611: Error al activar el informe STATISTICS

En otras ocaciones algo similar
SP2-0613: Unable to verify PLAN_TABLE format or existence
SP2-0611: Error enabling EXPLAIN report

Los pasos a seguir son 3:

1. Ejecutar el script $ORACLE_HOME/sqlplus/admin/plustrce.sql como usuario SYS
2. Ejecurar el script $ORACLE_HOME/rdbms/admin/utlxplan.sql como el user que ejecuta el autotrace
3. Otorgar el privilegio PLUSTRACE al user que ejecuta el autotrace.

Ejemplo:

1.*
conn sys/contraseña@orcl as sysdba
start %ORACLE_HOME%/sqlplus/admin/plustrce.sql

2.
conn hr/hr@orcl
start %ORACLE_HOME%/rdbms/admin/utlxplan.sql

3.
conn sys/contraseña@orcl as sysdba
grant plustrace to hr;


¡Listo! Al volver a iniciar una sesión con el usuario HR, hacer un «set autotrace on» y no saldrá el error.

* Al ejecutar los scripts es posible ver los mensajes sobre lo que realiza. Es normal por ejemplo que dé error al intentar eliminar un rol que no existe, posteriormente se ve que lo crea.

Realizado en:
—Windows XP
—Oracle 10.2.0.1
ORACLE_HOME es una variable de entorno que contiene la ruta del HOME de Oracle. Ej. C:\Oracle\product\10.2\db_1

sábado, 16 de julio de 2011

Activar/desactivar disparadores Oracle

Si queremos activar o desactivar todos los triggers asociados a las tablas de un esquema, tendríamos que programarlo. Un ejemplo de ello es el post sobre «Activar/desactivar todos los triggers de todas la tablas».

Para activar o desactivar un trigger, necesitamos conocer su nombre, además, tener el privilegio adecuado:

—Si es nuestro (el usuario con el que iniciamos sesión): CREATE TRIGGER, lleva implícito el poder eliminar, modificar código y estado de nuestros disparadores.
—No es nuestro trigger: necesitamos ALTER ANY TRIGGER.
—Si es un trigger sobre base de datos ADMINISTER DATABASE TRIGGER.

Por ejemplo:
alter trigger hr.secure_employees disable; 
alter trigger hr.secure_employees enable;

«Si utilizamos una herramienta gráfica como SQL Developer, esta tarea se puede hacer como se indica en la imagen.»
Si queremos ver su estado podemos consultarlo:
select   statusfrom     all_triggerswhere  trigger_name='SECURE_EMPLOYEES';
Si queremos desactivar/activarlos todos los triggers de una tabla:
alter table hr.employees enable all triggers; 
alter table hr.employees disable all triggers;

«Si utilizas SQL Developer, se puede realizar la activación/desactivación de todos los triggers como se indica en la imagen.»
Otros enlaces:
Consultar información sobre los disparadores.
Mas información en Oracle: enabling and disabling triggers.

Información de los disparadores. Oracle.

Si utilizas SQL Developer simplemente puedes ir a la pestaña "Código"
«Si utilizas SQL Developer simplemente puedes ir a la pestaña "Código"»

Para consultar información de los disparadores (triggers), utilizamos vistas del diccionario de datos como:

USER_TRIGGERS trigger pertenecientes al esquema del usuario actual.
ALL_TRIGGERS triggers sobre tablas accesibles por el usuario actual. (Si el usuario posee el privilegio CREATE ANY TRIGGER podrá ver todos los triggers de la base de datos.)
DBA_TRIGGERS todos los disparadores de la base de datos.

Tienen las mismas columnas, excepto USER_TRIGGERS la columna «owner».

Al describir por ejemplo ALL_TRIGGERS; columnas que nos daran información como: propietario, nombre del disparador, tipo, evento, propietario de la tabla, nombre de la tabla/vista, tipo de objeto base (tabla/vista), estado (enabled, disabled), código, etc.
Salida de: desc all_triggers

Solo tenemos que realizar la consulta de nuestro interes, por ejemplo:
Si estamos conectados con el usuario HR, y queremos ver los triggers que tienen las tablas pertenecientes al usuario HR (nuestro usuario); la siguiente select muestra el nombre del trigger y el propietario de éste (que sin permisos no se podría borrar dicho trigger al no pertenecernos, aunque este sobre nuestra tabla).
select   owner,trigger_name,table_name  
from    all_triggers 
where  table_owner='HR';
OWNER
-----  
TRIGGER_NAME
------------------  
TABLE_NAME
---------------
HR
SECURE_EMPLOYEES
EMPLOYEES
HR
UPDATE_JOB_HISTORY
EMPLOYEES
JP
TRIJP
EMPLOYEES
HR
TRIHR
EMPLOYEES

Si queremos ver el código del trigger, tenemos el cuerpo -solo- (trigger_body) en las vistas mencionadas; pero mejor aún si lo consultamos en ALL_SOURCE (similares: USER_SOURCE, DBA_SOURCE), donde está todo el código, no solo el cuerpo (además código de procedimientos, funciones, paquetes, disparadores).
select   text 
from    all_source 
where  name='SECURE_EMPLOYEES'  
      and owner='HR';
TEXT
------------------------------------------------------
TRIGGER secure_employees
BEFORE INSERT OR UPDATE OR DELETE ON employees
BEGIN
secure_dml;
END secure_employees;


Otros enlaces:
Web Oracle. Vistas: user_triggers, all_triggers, dba_triggers y otras más.