jueves, 17 de abril de 2008

Deshabilitar el cambio del fondo de pantalla en XP

Puede cambiar la configuración del papel tapiz del escritorio después de que el administrador seleccione "Impedir cambios en el papel tapiz" en Directiva de grupo

La Directiva de grupo Impedir cambios en el papel tapiz impide que los usuarios cambien el papel tapiz del escritorio utilizando Propiedades de Pantalla. Sin embargo, hay maneras de cambiar la configuración del papel tapiz, como Vista previa de la imagen, que no implican el uso de Propiedades de Pantalla. Con estos otros métodos, los usuarios no experimentan las limitaciones que se aplican a Propiedades de Pantalla. Debe especificar Papel tapiz de Active Desktop en Directiva de grupo para evitar que los usuarios cambien el papel tapiz del escritorio sin utilizar Propiedades de Pantalla.

Solución

Para resolver este problema, especifique una configuración de papel tapiz de Active Desktop en Directiva de grupo. Para ello, siga estos pasos:

  1. Haga clic en Inicio y en Ejecutar, y escriba gpedit.msc.
  2. Bajo Directiva de equipo local, expanda sucesivamente Configuración del usuario, Plantillas administrativas y Escritorio y, a continuación, haga clic en Active Desktop.
  3. Haga doble clic en Papel tapiz de Active Desktop.
  4. En la ficha Configuración, haga clic en Habilitada, escriba la ruta de acceso al papel tapiz del escritorio que desea utilizar y haga clic en Aceptar.


Si no obtiene el resultado esperado pruebe con esta otra opción

Algunas de las características del escritorio activo de Windows pueden ser controladas y deshabilitadas de forma individual a través del registro de Windows.

Para modificar dicho registro iniciaremos la herramienta de edición del registro de sistema, con el comando "regedit.exe" desde el menú Inicio/Ejecutar

Localizaremos la clave dentro del árbol o directorio

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop

Allí crearemos o modificaremos los valores DWORD existentes, cuyo contenido será :

  • 1 : para activar la restricción de configuración de esos elementos.
  • 0 : para desactivar la restricción:

Las propiedades que pueden existir son :

· NoChangingWallpaper :Deshabilita la posibilidad de cambiar el papel tapiz.

· NoAddingComponents: Deshabilita la posibilidad e añadir componentes

· NoDeletingComponents : Deshabilita la posibilidad de eliminar componentes.

· NoEditingComponents : Deshabilita la posibilidad de editar componentes.

· NoHTMLWallPaper : Deshabilita el uso de archivos diferentes de mapas de bits (.bmp) como fondo de escritorio.

De todas formas, este cambio no es siempre efectivo ya que en WinXP hay otras vias para cambiar el fondo de escritorio.

martes, 8 de abril de 2008

Mover Datafiles de Oracle

Renombrar o Mover Todos los Files de Oracle

Este artículo presenta una breve explicación de cómo una variedad de archivos de Oracle pueden ser renombrados o movidos a una nueva ubicación.

Los ejemplos se basan en una instalación por defecto de Oracle 10g en Linux, pero el método es el mismo para diferentes versiones de Oracle en cualquier plataforma, con la excepción del comando utilizado para cambiar o mover el nombre del archivo.

En este ejemplo específico lo que realizaremos es mover todos los files que componen una instancia estandar ( Controlfiles, logfiles y datafiles ) desde el file system /u01/app/oracle/product/10.1.0/oradata/test/ hacia el nuevo file system /datos/test/

Esta actividad va estar dividida en 4 pasos generales:
  • Controlfiles
  • Logfiles
  • Datafiles
  • Regenerar el Controlfile


1 -Controlfiles

La actual ubicación de los controlfiles pueden ser solicitados a partir de la Vista V$CONTROLFILE, como se muestra a continuación.

SQL> select name from v$controlfile;

NAME
-------------------------------------------------------------
/u01/app/oracle/product/10.1.0/oradata/test/control01.ctl
/u01/app/oracle/product/10.1.0/oradata/test/control02.ctl
/u01/app/oracle/product/10.1.0/oradata/test/control03.ctl

3 rows selected.

SQL>

Con la intencion de cambiar de nombre o mover estos archivos hay que modificar el parametro de intancia del control_file.

SQL> show parameter control_files

NAME TYPE VALUE
-------------------------------------------------------------------------------------
control_files string /u01/app/oracle/product/10.1.0/
oradata/test/control01.ctl/u01/
app/oracle/product/10.1.0/orada
ta/test/control02.ctl/u01/app/o
racle/product/10.1.0/oradata/te
st/control03.ctl
SQL>

Para mover o renombrar los control_files se vas a realizar los siguientes pasos:
* Modificar los parametros de instancia del control_files usando el comando ALTER SYSTEM.
* Shutdown de la base de datos.
* Renombar fisicamente los files a nivel de sistema operativo.
* Startup de la base de datos.

La siguiente salida de SQL*Plus muestra cómo se hace para el caso que se esté utilizando un spfile. Para los casos que se esta utilizando un pfile sustituir el paso de manipulacion spfile con una enmienda del parámetro en el archivo init.ora.

SQL> ALTER SYSTEM SET control_files='/datos/test/control01.ctl', -
> '/datos/test/control02.ctl', -
> '/datos/test/control03.ctl' SCOPE=SPFILE;

System altered.

SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> host mv /u01/app/oracle/product/10.1.0/oradata/test/control01.ctl /datos/test/control01.ctl

SQL> host mv /u01/app/oracle/product/10.1.0/oradata/test/control02.ctl /datos/test/control02.ctl

SQL> host mv /u01/app/oracle/product/10.1.0/oradata/test/control03.ctl /datos/test/control03.ctl

SQL> STARTUP
ORACLE instance started.

Total System Global Area 167772160 bytes
Fixed Size 787968 bytes
Variable Size 61864448 bytes
Database Buffers 104857600 bytes
Redo Buffers 262144 bytes
Database mounted.
SQL>


Repitiendo la query inicial vemos que muestra que los controlfiles han sido movidos de file system en el diccionario de datos.

SQL> select name from v$controlfile;

NAME
-------------------------------------------------------------
/datos/test/control01.ctl
/datos/control02.ctl
/datos/test/control03.ctl

3 rows selected.

SQL>


2 - Logfiles

La actual ubicación de los logfiles pueden ser solicitados a partir de la vista V$LOGFILE, como se muestra a continuación:

SQL> SELECT member FROM v$logfile;

MEMBER
-------------------------------------------------
/u01/app/oracle/product/10.1.0/oradata/test/redo03.log
/u01/app/oracle/product/10.1.0/oradata/test/redo02.log
/u01/app/oracle/product/10.1.0/oradata/test/redo01.log

3 rows selected.

SQL>

Para mover o nemombrar los archivos logfile realizar los siguientes pasos:

* Shutdown de la base de datos.
* Renombrar los file fisicamente a nivel de sistema operativo.
* Startup de la base de datos en modo mount.
* Ejecutar el comando ALTER DATABASE RENAME FILE para modificar el Diccionario de Oracle de la base de datos.
* Open de la base de datos.

La siguiente salida SQL*Plus muestra como se realiza.

SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> host mv /u01/app/oracle/product/10.1.0/oradata/test/redo03.log /datos/test/redo03.log

SQL> host mv /u01/app/oracle/product/10.1.0/oradata/test/redo02.log /datos/test/redo02.log

SQL> host mv /u01/app/oracle/product/10.1.0/oradata/test/redo01.log /datos/test/redo01.log

SQL> STARTUP MOUNT
ORACLE instance started.

Total System Global Area 167772160 bytes
Fixed Size 787968 bytes
Variable Size 61864448 bytes
Database Buffers 104857600 bytes
Redo Buffers 262144 bytes
Database mounted.

SQL> alter database rename file '/u01/app/oracle/product/10.1.0/oradata/test/redo03.log' TO '/datos/test/redo03.log';

Database altered.

SQL> alter database rename file '/u01/app/oracle/product/10.1.0/oradata/test/redo02.log' TO '/datos/test/redo02.log';

Database altered.

SQL> alter database rename file '/u01/app/oracle/product/10.1.0/oradata/test/redo01.log' TO '/datos/test/redo01.log';

Database altered.

SQL> ALTER DATABASE OPEN;

Database altered.

SQL>

Repitiendo la query inicial vemos que muestra que los logfiles han sido movidos de file system en el diccionario de datos.

SQL> SELECT member FROM v$logfile;

MEMBER
-------------------------------------------------
/datos/test/redo03.log
/datos/test/redo02.log
/datos/test/redo01.log

3 rows selected.

SQL>


3 - Datafiles

El proceso para renombrar o mover un fichero de datos es el mismo que el utilizado en el punto anterior para los logfiles, pero por si queda alguna duda se repite a continuación.
La ubicación actual de la de datos pueden ser solicitados a partir de la vista V$DATAFILE, como se muestra a continuación.

SQL> SELECT name FROM v$datafile;

NAME
---------------------------------------------------------
/u01/app/oracle/product/10.1.0/oradata/test/system01.dbf'
/u01/app/oracle/product/10.1.0/oradata/test/undotbs01.dbf'
/u01/app/oracle/product/10.1.0/oradata/test/sysaux01.dbf'
/u01/app/oracle/product/10.1.0/oradata/test/users01.dbf'

4 rows selected.

SQL>

Para mover o renombrar los datafiles realizar los siguientes pasos:

* Shutdown de la base de datos.
* Renombrar los file fisicamente a nivel de sistema operativo.
* Startup de la base de datos en modo mount.
* Ejecutar el comando ALTER DATABASE RENAME FILE para modificar el Diccionario de Oracle de la base de datos.
* Open de la base de datos.

Es necesario para mover todos los datafiles tambien contemplar los temporales que no sos listados por la vista v$datafile

La siguiente salida SQL*Plus muestra como se realiza.

SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> host mv '/u01/app/oracle/product/10.1.0/oradata/test/system01.dbf' '/datos/test/system01.dbf'

SQL> host mv '/u01/app/oracle/product/10.1.0/oradata/test/undotbs01.dbf' '/datos/test/undotbs01.dbf'

SQL> host mv '/u01/app/oracle/product/10.1.0/oradata/test/sysaux01.dbf' '/datos/test/sysaux01.dbf'

SQL> host mv '/u01/app/oracle/product/10.1.0/oradata/test/users01.dbf' '/datos/test/users01.dbf'

SQL> host mv '/u01/app/oracle/product/10.1.0/oradata/test/temp01.dbf' '/datos/test/temp01.dbf'

SQL> STARTUP MOUNT
ORACLE instance started.

Total System Global Area 167772160 bytes
Fixed Size 787968 bytes
Variable Size 61864448 bytes
Database Buffers 104857600 bytes
Redo Buffers 262144 bytes
Database mounted.
SQL> alter database rename file '/u01/app/oracle/product/10.1.0/oradata/test/system01.dbf' to '/datos/test/system01.dbf';
Database altered.

SQL> alter database rename file '/u01/app/oracle/product/10.1.0/oradata/test/undotbs01.dbf' to '/datos/test/undotbs01.dbf';
Database altered.

SQL> alter database rename file '/u01/app/oracle/product/10.1.0/oradata/test/sysaux01.dbf' to '/datos/test/sysaux01.dbf';
Database altered.

SQL> alter database rename file '/u01/app/oracle/product/10.1.0/oradata/test/users01.dbf' to '/datos/test/users01.dbf';
Database altered.

SQL> alter database rename file '/u01/app/oracle/product/10.1.0/oradata/test/temp01.dbf' to '/datos/test/temp01.dbf';
Database altered.

SQL> ALTER DATABASE OPEN;
Database altered.

SQL>


Repitiendo la query inicial vemos que muestra que los datafileshan sido movidos de file system en el diccionario de datos.

SQL> SELECT name FROM v$datafile;

NAME
---------------------------------------------------------
/datos/test/system01.dbf'
/datos/test/undotbs01.dbf'
/datos/test/sysaux01.dbf'
/datos/test/users01.dbf'

4 rows selected.

SQL>


4 - Recreating the Controlfile

Por reordenamientos a gran escala puede resultar más fácil de manipular el contenido controlfile manualmente por medio de copias de seguridad del trace del controlfile.

SQL> CONN sys/password AS SYSDBA
Connected.
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

Database altered.

SQL>


El resultado del trace file en el directorio user_dump_dest que contiene los comandos e instrucciones para recrear el controlfile. Los paths en el comando CREATE CONTROLFILE puede ser manipulado para renombrar el nombre de todos los datafiles y logfiles en un solo paso.

Este es un paso drástico y que puede afectar a la utilidad de los backups existentes, especialmente si el controlfile se está utilizando como recovery catlog.