miércoles, 18 de septiembre de 2013

Como busco y reemplazo un string dentro de un archivo usando el editor en vi

Suponiendo que tenemos abierto el archivo en vi y queremos reemplazar un palabra por otro
Se debe ingresar a modo comando con ESC :
Ejemplo, se quiere reemplazar "leche" por "milk" en todo el archivo

:%s/leche/milk/g

Archivlog y Noarchivelog de una base de datos

Para pasar a Archivelog


SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT;
SQL>ALTER DATABASE ARCHIVELOG;
SQL>ALTER DATABASE OPEN;


Para pasar a NoArchivelog


SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT;
SQL>ALTER DATABASE NOARCHIVELOG;
SQL>ALTER DATABASE OPEN;

Deshabilitar papelera de reciclaje (Recycle Bin) en Oracle 10 difiere de Oracle 11

En Oracle 10
SQL> ALTER SYSTEM SET recyclebin = OFF;

Para borrar todo el contenido:
SQL> PURGE recyclebin;

En Oracle 11
SQL> ALTER SYSTEM SET recyclebin = OFF SCOPE=SPFILE;
SQL> ALTER SYSTEM SET recyclebin = OFF DEFERRED;

Para borrar todo el contenido:
SQL> PURGE dba_recyclebin;

jueves, 29 de septiembre de 2011

ORA-28002: the password will expire within X days

Cuando nos da el Error: ORA-28002: the password will expire within X days, por mas que cambiemos PASSWORD_LIFE_TIME y PASSWORD_GRACE_TIME, no podemos salir de este estado.

Solución: Cambiar la clave del usuario.
En el caso que "No se quiera cambiarla" y dejar la misma, pero no sabemos cual es la actual podemos hacer la siguiente consulta:

select a.name, a.password, b.account_status ,'alter user "' || a.name || '" identified by values ' || a.password ||';' from sys.user$ a, dba_users b
where b.username = a.name

Con el resultado de la consulta, seteamos la misma clave que tienen actualmente los usuarios.

Luego de esto, si que se quiere que las claves no expiren mas, ejecutar:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

lunes, 18 de abril de 2011

WARNING: You are trying to use the MEMORY_TARGET feature.

Oracle 11G

WARNING: You are trying to use the MEMORY_TARGET feature.
This feature requires the /dev/shm file system to be mounted for at least 3338665984 bytes.
/dev/shm is either not mounted or is mounted with available space less than this size.
Please fix this so that MEMORY_TARGET can work as expected.
Current available is 1995063296 and used is 2177781760 bytes.
Ensure that the mount point is /dev/shm for this directory.
memory_target needs larger /dev/shm

Solución:
Cambiar el tamaño de /dev/shm segun lo requerido, aca dice 3338665984 bytes que son aproximadamente 4GB
mount -o size=4G -t tmpfs tmpfs /dev/shm
Para que quede permanente agregar al fstab
tmpfs /dev/shm tmpfs size=4g 0 0

viernes, 28 de mayo de 2010

ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option

Esto puede ocurrir en cualquier plataforma de Oracle 10GR2
Si se instalo algún parche que hace un upgrade de versión que va desde 10.2.0.1.0 a 10.2.0.5.0

En el alert.log se puede ver, algo asi como:
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 28952
ORA-1092 signalled during: ALTER DATABASE OPEN...

Solución:
SQL#> STARTUP UPGRADE
SQL#> @?/rdbms/admin/catupgrd.sql

Luego iniciar normalmente.
SQL#> SHUTDOWN
SQL#> STARTUP

Nota: catupgrd.sql llama internamente a catalog.sql y catproc.sql por ende no es necesario ejecutarlos.

lunes, 25 de enero de 2010

ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table

En oracle 10.2.0.2, nos da el siguiente error:
"ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table", Aunque no tengamos ninguna clausula donde se refencia a ROWID.
Hay tres alternativas

1. hacer un upgrade de la base a 10.2.0.4 o 11.1.0.6
2. aplicar el parche 5188321
3. Usar sinstaxis nativa de oracle para hacer el "outer join" o reducir el select.

--