miércoles, 21 de octubre de 2015

ORA-01190 & ORA-01110 || control file or data file # is from before the last RESETLOGS

Este error en mi caso surguio cuando:

1)Se restauro una base de datos de cintas
2) Se abrio la base de datos utilizando el comando alter database open resetlogs.
3)Verificando los tablespace recuperandos se identifico que el datafile 292 se encontraba offline.
4)Poner datafile online

SQL> alter database datafile 292 online;
alter database datafile 292 online
*
ERROR at line 1:
ORA-01190: control file or data file 292 is from before the last RESETLOGS
ORA-01110: data file 292: '/REG_p/p012band/oradat01/DAT32_64M_INVM_P01_01.dbf'


En este punto se necestita recuperar el datafile. para esto la solución es:


1)Conectarse a RMAN : $ rman target /
2)recover datafile 292;

RMAN> recover datafile 292;

Starting recover at 21.10.2015
using channel ORA_DISK_1

starting media recovery

archive log thread 1 sequence 599017 is already on disk as file /REG_p/p012band/oralog/ARCH779852395_1_599017.arc/ARCH779852395_1_599034.arc
archive log thread 1 sequence 599035 is already on disk as file /REG_p/p012band/oralog/ARCH779852395_1_599035.arc
archive log thread 1 sequence 599036 is already on disk as file /REG_p/p012band/oralog/ARCH779852395_1_599036.arc
archive log thread 1 sequence 1 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_1.arc
archive log thread 1 sequence 2 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_2.arc
archive log thread 1 sequence 3 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_3.arc
archive log thread 1 sequence 4 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_4.arc
archive log thread 1 sequence 5 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_5.arc
archive log thread 1 sequence 6 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_6.arc
archive log thread 1 sequence 7 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_7.arc
archive log thread 1 sequence 8 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_8.arc
archive log thread 1 sequence 9 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_9.arc
archive log thread 1 sequence 10 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_10.arc
archive log thread 1 sequence 11 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_11.arc
archive log thread 1 sequence 12 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_12.arc
archive log thread 1 sequence 13 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_13.arc
archive log thread 1 sequence 14 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_14.arc
archive log thread 1 sequence 15 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_15.arc
archive log thread 1 sequence 16 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_16.arc
archive log thread 1 sequence 17 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_17.arc
archive log thread 1 sequence 18 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_18.arc
archive log thread 1 sequence 19 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_19.arc
archive log thread 1 sequence 20 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_20.arc
archive log thread 1 sequence 21 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_21.arc
archive log thread 1 sequence 22 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_22.arc
archive log thread 1 sequence 23 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_23.arc
archive log thread 1 sequence 24 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_24.arc
archive log thread 1 sequence 25 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_25.arc
archive log thread 1 sequence 26 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_26.arc
archive log thread 1 sequence 27 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_27.arc
archive log thread 1 sequence 28 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_28.arc
archive log thread 1 sequence 29 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_29.arc
archive log thread 1 sequence 30 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_30.arc
archive log thread 1 sequence 31 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_31.arc
archive log thread 1 sequence 32 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_32.arc
archive log thread 1 sequence 33 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_33.arc
archive log thread 1 sequence 34 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_34.arc
archive log thread 1 sequence 35 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_35.arc
archive log thread 1 sequence 36 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_36.arc
archive log thread 1 sequence 37 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_37.arc
archive log thread 1 sequence 38 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_38.arc
archive log thread 1 sequence 39 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_39.arc
archive log thread 1 sequence 40 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_40.arc
archive log thread 1 sequence 41 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_41.arc
archive log thread 1 sequence 42 is already on disk as file /REG_p/p012band/oralog/ARCH893682755_1_42.arc
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599017.arc thread=1 sequence=599017
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599018.arc thread=1 sequence=599018
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599019.arc thread=1 sequence=599019
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599020.arc thread=1 sequence=599020
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599021.arc thread=1 sequence=599021
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599022.arc thread=1 sequence=599022
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599023.arc thread=1 sequence=599023
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599024.arc thread=1 sequence=599024
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599025.arc thread=1 sequence=599025
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599026.arc thread=1 sequence=599026
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599027.arc thread=1 sequence=599027
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599028.arc thread=1 sequence=599028
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599029.arc thread=1 sequence=599029
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599030.arc thread=1 sequence=599030
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599031.arc thread=1 sequence=599031
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599032.arc thread=1 sequence=599032
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599033.arc thread=1 sequence=599033
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599034.arc thread=1 sequence=599034
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599035.arc thread=1 sequence=599035
archive log filename=/REG_p/p012band/oralog/ARCH779852395_1_599036.arc thread=1 sequence=599036
media recovery complete, elapsed time: 00:39:54
Finished recover at 21.10.2015


3)Finalizado el recover procedemos a poner el datafile como online

SQL>alter database datafile 292 online;
Database altered.

4) Verificar si se encuntra en online el datafile

SQL>select status, file# from v$datafile where file# = 292;

STATUS       FILE#
------- ----------
ONLINE           292

5) Ponemos el tablespace atado al datafile en online

SQL>alter tablespace DAT_TEST_1 online;
Tablespace altered.

6)Ejecutar procesos sobre el tablespace

[oracle@TEST]:/oracle/test/test_1>exp TABLES=TEST_1 log=/tmp/test.log file=/tmp/test.dmp

Export: Release 10.2.0.5.0 - Production on Wed Oct 21 16:12:54 2015

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


Username: / as sysdba

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production


About to export specified tables via Conventional Path ...
. . exporting table                           TEST



Espero les ayude.

viernes, 4 de septiembre de 2015

DBvisit - Start Services Automatic

Hola a todos,

En este post se enseñara a poner los servicios de DBvisit Standby en modo automático, resulta muy complicado levantar todos los servicios y el concepto de DBvisit Stanby es alta disponibilidad por eso aquí dejos los comandos a seguir para poder tener automatizado.

Primario

cd /usr/dbvisit/dbvserver/conf/init.d/redhat
cp dbvserverd  /etc/init.d/
chmod u+x /etc/init.d/dbvserverd
chkconfig --add dbvserverd
chkconfig --list dbvserverd

Standby

cd /usr/dbvisit/dbvnet/conf/init.d/redhat/
cp dbvnetd /etc/init.d/
chmod u+x /etc/init.d/dbvnetd
chkconfig --add dbvnetd
chkconfig --list dbvnetd

MOVER TABLAS DE AUDITORIA A OTRO TABLESPACE

Hola a todo@s,


Si se desea extraer los objetos de auditoria a otro tablespace (por defecto se almacenan en el "SYSTEM") usaremos el paquete AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION.Este paquete esta habilitado desde la versión 11G

1.- Comprobamos en donde se encuentran actualmente.

select owner, segment_name, tablespace_name from dba_segments where segment_name like '%AUD$' or segment_name like '%FGA_LOG%' ;

OWNER. SEGMENT_NAME TABLESPACE_NAME
-----------  --------------------------  ---------------------------
SYS           AUD$                        SYSTEM
SYS           AUD$                        SYSTEM

2.- Creamos un tablespace nuevo

create tablespace auditoria datafile '/home/oracle/databases/TEST/auditoria01.dbf' size100M  autoextend on maxsize 2G;

3.- Mover la auditoria el nuevo tablespace

exec DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION
(audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_DB_STD,audit_trail_location_value => 'AUDITORIA');

audit_trail_type nos indica el tipo de auditoría que vamos a mover. En este caso hemos movido la información que se guarda en la tabla de base de datos sys.aud$ y fga_log$ (dbms_audit_mgmt.audit_trail_db_std)

Otros posibles valores para audit_trail_type los recogemos a continuación:
AUDIT_TRAIL_AUD_STD: Auditoría estándar de base de datos que se registra en la tabla SYS.AUD$
AUDIT_TRAIL_FGA_STD: Registros que se almacenan en las tablas SYS.FGA_LOG$
AUDIT_TRAIL_DB_STD: Auditoria de SYS.AUD$ y SYS.FGA_LOG$
AUDIT_TRAIL_FILES: Auditoría relativa a los archivos de sistema operativos y registros almacenados xml
AUDIT_TRAIL_OS: Auditoría que almacena la información relativa a los registros almacenados en el sistema operativo
AUDIT_TRAIL_XML: Auditoría que almacena la información relativa a los registros almacenados en XML

audit_trail_location_value indica el nuevo tablespace donde queremos almacenar esa información.

martes, 1 de septiembre de 2015

Deshabilitar Opciones licenciables después de instalar la BD en 11g

Hola a todos,

Despues de investigar y descubrir como desactivar productos oracle que solo pueden ser usuados con licenciamiento como son:
  • Particionamiento
  • Olap
  • Seguridad
  • Minería de datos
  • Real Application Cluster
  • Dataguard
  • RAC
Aqui les dejo los pasos para poder realizarlo es muy sencillo y no es necesario reiniciar ni el modor de base de datos ni el sistema operativo y pude salvarte de una audiotia por parte de oracle y tengas que pagar por licenciamiento en productos que no usas.

Entonces comenzemos.

En la versiòn 11g Oracle creo un utilitario "CHOP" ,el cual permite de manera rápida y fácil "ACTIVAR" ò "DESACTIVAR", estas opciones en una instancia, ya creada.

Nota: Antes de ejecutar este procedimiento, asegúrese de contar con los respaldos actualizados de su base de datos, en caso de que sea necesario acudir a ellos, por algún error que se genere en el proceso de ejecución del procedimiento.



[oracle@rac3 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 19 06:18:18 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> connect / as sysdba
Connected.
SQL> set pagesize 40
SQL> column comp_name format a37
SQL> /

COMP_NAME                             VERSION        STATUS
------------------------------------- -------------- -----------
OWB                                   11.2.0.1.0     VALID
Oracle Application Express            3.2.1.00.10    VALID
Oracle Enterprise Manager             11.2.0.1.0     VALID
OLAP Catalog                          11.2.0.1.0     VALID
Spatial                               11.2.0.1.0     VALID
Oracle Multimedia                     11.2.0.1.0     VALID
Oracle XML Database                   11.2.0.1.0     VALID
Oracle Text                           11.2.0.1.0     VALID
Oracle Expression Filter              11.2.0.1.0     VALID
Oracle Rules Manager                  11.2.0.1.0     VALID
Oracle Workspace Manager              11.2.0.1.0     VALID
Oracle Database Catalog Views         11.2.0.1.0     VALID
Oracle Database Packages and Types    11.2.0.1.0     VALID
JServer JAVA Virtual Machine          11.2.0.1.0     VALID
Oracle XDK                            11.2.0.1.0     VALID
Oracle Database Java Packages         11.2.0.1.0     VALID
OLAP Analytic Workspace               11.2.0.1.0     VALID
Oracle OLAP API                       11.2.0.1.0     VALID

18 rows selected.

SQL>

[oracle@rac3 ~]$ chopt

usage:

chopt <enable|disable> <option>

options:
                  dm = Oracle Data Mining RDBMS Files
                  dv = Oracle Database Vault option
                lbac = Oracle Label Security
                olap = Oracle OLAP
        partitioning = Oracle Partitioning
                 rat = Oracle Real Application Testing

e.g. chopt enable rat


[oracle@rac3 ~]$
[oracle@rac3 ~]$ chopt disable partitioning

La ejecución del comando podría brindarle la siguiente salida. No se preocupe, hasta este punto, no se ha ejecutado nada. Sin embargo, por si las dudas y por medida de precaución, antes de ejecutar el comando, proceda primero a bajar las instancias de base de datos disponibles.
Writing to /opt/oracle/product/11gR2/install/disable_partitioning.log...
%s_unixOSDMakePath% -f /opt/oracle/product/11gR2/rdbms/lib/ins_rdbms.mk part_off
%s_unixOSDMakePath% -f /opt/oracle/product/11gR2/rdbms/lib/ins_rdbms.mk ioracle

[oracle@rac3 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 19 06:22:10 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> connect / as sysdba
Connected.
SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

SQL> desc v$option
 Name                  Null?    Type
 --------------------- -------- ----------------------------
 PARAMETER                      VARCHAR2(64)
 VALUE                          VARCHAR2(64)

Verique que el parámetro de la opción correspondiente a ser modificada, tiene el valor de "TRUE" indicando que está instalada.
SQL> select parameter, value from v$option where parameter like 'Part%';

SQL> column PARAMETER format a20
SQL> column VALUE format a10
SQL> /

PARAMETER            VALUE
-------------------- ----------
Partitioning         TRUE

Proceda a bajar las instancias de la base de datos.
SQL>
[oracle@rac3 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 19 06:36:36 2011
Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> connect / as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
[oracle@rac3 ~]$ lsnrctl stop

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-OCT-2011 06:36:59

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac3.lab.com)(PORT=1521)))
The command completed successfully

Antes de correr este procedimiento, asegúrese que la instancia o instancias de la base de datos, han sido bajadas.
Vaya al directorio que indicó el comando CHOPT, dónde este ha dejado un archivo .log con las instrucciones a ser ejecutadas ('chopt disable partitioning') y proceda a cambiar el valor de la variable en el archivo log, por la ubicación del comando "MAKE" y cambie los permisos del archivo, para que pueda ser ejecutado.
[oracle@rac3 ~]$ pwd
/home/oracle
[oracle@rac3 ~]$ cd /opt/oracle/product/11gR2/install
[oracle@rac3 install]$ vi disable_partitioning.log
[oracle@rac3 install]$ more disable_partitioning.log
/usr/bin/make -f /opt/oracle/product/11gR2/rdbms/lib/ins_rdbms.mk part_off
/usr/bin/make -f /opt/oracle/product/11gR2/rdbms/lib/ins_rdbms.mk ioracle
[oracle@rac3 install]$ chmod 711 disable_partitioning.log

Una vez cambiado los permisos del archivo, ejecute el mismo de la siguiente manera. El proceso puede durar de unos 5 a 10 minutos.
[oracle@rac3 install]$ ./disable_partitioning.log

/usr/bin/ar d /opt/oracle/product/11gR2/rdbms/lib/libknlopt.a kkpoban.o
/usr/bin/ar cr /opt/oracle/product/11gR2/rdbms/lib/libknlopt.a 
/opt/oracle/product/11gR2/rdbms/lib/ksnkkpo.o
chmod 755 /opt/oracle/product/11gR2/bin

 - Linking Oracle
rm -f /opt/oracle/product/11gR2/rdbms/lib/oracle
gcc  -o /opt/oracle/product/11gR2/rdbms/lib/oracle -m32 
-L/opt/oracle/product/11gR2/rdbms/lib/ -L/opt/oracle/product/11gR2/lib/ 
-L/opt/oracle/product/11gR2/lib/stubs/ -L/opt/oracle/product/11gR2/lib/ -lirc 
-lipgo    -Wl,-E /opt/oracle/product/11gR2/rdbms/lib/opimai.o 
/opt/oracle/product/11gR2/rdbms/lib/ssoraed.o 
/opt/oracle/product/11gR2/rdbms/lib/ttcsoi.o  -Wl,--whole-archive -lperfsrv11 
-Wl,--no-whole-archive /opt/oracle/product/11gR2/lib/nautab.o 
/opt/oracle/product/11gR2/lib/naeet.o /opt/oracle/product/11gR2/lib/naect.o 
/opt/oracle/product/11gR2/lib/naedhs.o /opt/oracle/product/11gR2/rdbms/lib/config.o
  -lserver11 -lodm11 -lcell11 -lnnet11 -lskgxp11 -lsnls11 -lnls11  -lcore11 
 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 
-lnls11 -lcore11 -lnls11 -lclient11  -lvsn11 -lcommon11 -lgeneric11 -lknlopt `if 
/usr/bin/ar tv /opt/oracle/product/11gR2/rdbms/lib/libknlopt.a | grep xsyeolap.o > 
/dev/null 2>&1 ; then echo "-loraolap11" ; fi` -lslax11 -lpls11  -lrt -lplp11 
-lserver11 -lclient11  -lvsn11 -lcommon11 -lgeneric11 `if [ -f 
/opt/oracle/product/11gR2/lib/libavserver11.a ] ; then echo "-lavserver11" ; else 
echo "-lavstub11"; fi` `if [ -f /opt/oracle/product/11gR2/lib/libavclient11.a ] ; 
then echo "-lavclient11" ; fi` -lknlopt -lslax11 -lpls11  -lrt -lplp11 -ljavavm11 
-lserver11  -lwwg  `cat /opt/oracle/product/11gR2/lib/ldflags`    -lncrypt11 
-lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /opt/oracle/product/11gR2/lib/ldflags`
    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lmm -lsnls11 -lnls11
-lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 
-lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat 
/opt/oracle/product/11gR2/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11
 -lnro11 `cat /opt/oracle/product/11gR2/lib/ldflags`    -lncrypt11 -lnsgr11 
-lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11   -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 
-lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 
-lnls11 `if /usr/bin/ar tv /opt/oracle/product/11gR2/rdbms/lib/libknlopt.a | grep 
"kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo11"; fi` 
-L/opt/oracle/product/11gR2/ctx/lib/ -lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 
-lgx11 -lordimt11 -lclsra11 -ldbcfg11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 
-locr11 -locrb11 -locrutl11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -lasmclnt11 
-lcommon11 -lcell11 -lskgxp11 -lgeneric11  -lcommon11 -lgeneric11  -loraz -llzopro 
-lorabz2 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 
-lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lsnls11 -lunls11  
-lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 
-lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lasmclnt11 -laio    `cat 
/opt/oracle/product/11gR2/lib/sysliblist` -Wl,-rpath,/opt/oracle/product/11gR2/lib 
-lm    `cat /opt/oracle/product/11gR2/lib/sysliblist` -ldl -lm   
-L/opt/oracle/product/11gR2/lib
test ! -f /opt/oracle/product/11gR2/bin/oracle ||\
           mv -f /opt/oracle/product/11gR2/bin/oracle /opt/oracle/product/11gR2/bin/oracleO
mv /opt/oracle/product/11gR2/rdbms/lib/oracle /opt/oracle/product/11gR2/bin/oracle
chmod 6751 /opt/oracle/product/11gR2/bin/oracle
[oracle@rac3 install]$

Terminada la ejecución del procedimiento, arranque todos los servicios
[oracle@rac3 install]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-OCT-2011 06:47:31
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
Starting /opt/oracle/product/11gR2/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /opt/oracle/product/11gR2/network/admin/listener.ora
Log messages written to /opt/oracle/product/diag/tnslsnr/rac3/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac3.lab.com)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac3.lab.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                19-OCT-2011 06:47:31
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/11gR2/network/admin/listener.ora
Listener Log File         /opt/oracle/product/diag/tnslsnr/rac3/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac3.lab.com)(PORT=1521)))
The listener supports no services
The command completed successfully
[oracle@rac3 install]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 19 06:47:35 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area  318046208 bytes
Fixed Size                  1336260 bytes
Variable Size             239078460 bytes
Database Buffers           71303168 bytes
Redo Buffers                6328320 bytes
Database mounted.
Database opened.


SQL> column parameter format a20
SQL> column value format a10
SQL> select parameter, value from v$option where parameter like 'Parti%';

PARAMETER            VALUE
-------------------- ----------
Partitioning         FALSE

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Oracle Label Security, OLAP, Data Mining, Oracle Database Vault
and Real Application Testing options
[oracle@rac3 install]$ 
 
 
 
Referencia: http://www.oracle.com/technetwork/es/articles/sql/deshabilitar-opciones-database11g-1976870-esa.html 

viernes, 17 de julio de 2015

¿Cuánto le cuesta el tiempo de inactividad a su negocio?

Amig@s,

En este link Oracle nos deja calcular cuanto tiempo le puede costar a nuestro negocio si estamos inactivos.

https://go.oracle.com/LP=10300?elqCampaignId=13941&src1=ad:pas:go:dg:db&src2=wwmk14057296mpp009&SC=sckw=WWMK14057296MPP009&sckw=srch:oracle_12_c&mkwid=s84lkLnG3|pcrid|67442364044|pkw|oracle%2012%20c|pmt|p|pdv|c


Existen varias herramientas para tener un sitio alterno y así no perder tiempo ya que el tiempo es dinero como:

- Oracle Data Guard
- Dbvisit Standby

Estos son los mas conocidos los dos funcionan de la misma manera la diferencia es su costo en licenciamiento.


lunes, 8 de junio de 2015

Configuración de Data Guard Broker 11g

Les detallo los pasos para configurar  Data Guard Broker 11g pero antes vamos a explicar que es y para que nos va a servir este utilitario que por defecto tiene la versión enterprise de oracle.

Que es   Data Guard Broker?

Es un marco de gestión distribuida que automatiza y centraliza la creación, mantenimiento y la vigilancia de las configuraciones de data guard.

Qué se puede hacer desde Data Guard Broker?


  • Creación de la configuración de una base de datos principal, un nuevo o existente (físico, lógico, o instantánea).
  • Adición de una nueva o existente (física, instantánea, lógico, el RAC o no RAC) bases de datos standby a una configuración de Data Guard existente.
  • Gestión de una configuración completa Data Guard, incluyendo todas las bases de datos.
  • Gestión del modo protección para la configuración.
  • Ejecutar switchover or failover como comando simple que cambia el rol a la base de datos.
  • Supresión del estado de toda la configuración, la captura de la información de diagnóstico, la presentación de informes de estadísticas tales como la tasa de aplicar y hacer de nuevo la tasa de generación de redo, y detectar problemas de forma rápida con monitorización centralizada, pruebas y herramientas de rendimiento. 

fuente:http://docs.oracle.com/cd/B28359_01/server.111/b28295/concepts.htm#i1005616

Configurar Data Guard Broker

1.- Habilitar el utilitario Data Guard Broker

[oracle@oracle]$ sqplus / as sysdba
SQL>ALTER SYSTEM SET DG_BROKER_START=TRUE SCOPE=BOTH;

2.- Conectarse al utilitario Data Guard Broker

[oracle@oracle]$ dgmgrl sys/sysdba_password@prod

3.- Crear la configuración en el servidor primario
DGMGRL> create configuration DGBroker as primarydatabase is prod connect identifier is SRV_PROD;

Donde:

DGBroker : Es el nombre global de la configuración.
prod : Es el nombre del sid el cual es la base de datos principal.
SRV_PROD : Es la entrada en el archivo TNSNAME.ORA con el servicio de producción.

4.- Añadir la base standby a la configuración
DGMGRL>add database prod_stby as connect identifier is SRV_PROD_STBY maintained as physical;

Donde:

prod_stby : Es el nombre del sid el cual es la base de datos standby.
SRV_PROD_STBY : Es la entrada en el archivo TNSNAME.ORA con el servicio de standby.

5.- Habilitar la configuración y validar
DGMGRL> enable configuration;
DGMGRL> show configuration;
Configuration
  Name:                DGBroker
  Enabled:             YES
  Protection Mode:     MaxPerformance
  Fast-Start Failover: DISABLED
  Databases:
    prod          - Primary database
    prod_stby     - Physical standby database

Current status for "DGBroker":
SUCCESS
6.- Comandos posibles que se aplican dentro de la configuración de Data Guard Broker

https://docs.oracle.com/cd/B19306_01/server.102/b14230/dgmgrl.htm






martes, 19 de mayo de 2015

Recuperar contraseña de usuarios Oracle

Hola a todos,

En esta ocasión nos encontramos con un problema un cliente me hace la llamada para desbloquear un usuario el creaia tener la clave pero resulto que no sabia y aquí el problema es fácil poner una clave nueva con un ALTER USER pero puede que la aplicación deje de funcionar con la base de datos por que la contraseña cambió.


Bueno aquí el tip para recuperar la contraseña.


Datos generales:

Versión Base de datos: 11.2.0.4

Recuperar clave usuario oracle

1)  Nos conectamos como sysdba usando la autenticación de sistema operativo

[oracle@bbdsw ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue May 19 12:27:32 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production


2) Comprobamos que la base de datos este en modo OPEN

SQL> select * from v$instance;

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION  STARTUP_T STATUS PAR THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS   SHU DATABASE_STATUS INSTANCE_ROLE    ACTIVE_ST BLO
---------- --- ----------------- ------------------ --------- ---
     1 switch
bbdsw.aseyco.local
11.2.0.4.0  24-NOV-14 OPEN NO      1 STOPPED
ALLOWED    NO  ACTIVE PRIMARY_INSTANCE   NORMAL    NO



3) Realizamos la consulta para recuperar la contraseña
   
     Formato:SELECT DBMS_METADATA.GET_DDL('USER','<Nombre del Usuario') FROM DUAL;

SQL> SELECT DBMS_METADATA.GET_DDL('USER','ADMINSWITCH') FROM DUAL;


DBMS_METADATA.GET_DDL('USER','ADMINSWITCH')                                  
--------------------------------------------------------------------------------
                                                                             
   CREATE USER "ADMINSWITCH" IDENTIFIED BY VALUES
'S:68D98AB835C31574415A9F252CCA5A354667AEC71B0C0CDA0170F9FFAB11;50267B99CC3AF258'                          
      DEFAULT TABLESPACE "SWITCH_TRANSACCIONAL"                              
      TEMPORARY TABLESPACE "TEMP"                                            
      PASSWORD EXPIRE

4) Actualizar la clave para que deje de estar expirada, es necesario copiar todo el values de la consulta anterior.

      Formato: ALTER USER <Nombre del Usuario>  IDENTIFIED BY VALUES '< Todo el values de la         consulta           anterior>';

SQL> ALTER USER ADMINSWITCH IDENTIFIED BY VALUES 'S:68D98AB835C31574415A9F252CCA5A354667AEC71B0C0CDA0170F9FFAB11;50267B99CC3AF258';

User altered.


Con esto ya su usuario ya no tiene la cuenta expirada y no es necesario cambiar la contraseña ya que se recupero.

Espero sea de su ayuda.

miércoles, 4 de febrero de 2015

Cultura || Distribuciones Linux 2014

Aquí les dejo un post muy interesante

Es común preguntarse cuantas distribuciones hay de LINUX pues en este link encontraran varias y muy interesantes.


http://www.linuxadictos.com/comparativa-las-mejores-distribuciones-linux-de-2014.html


martes, 3 de febrero de 2015

Mover datafile SYSTEM, SYSAUX, UNDOTBS y USERS a otra ruta de sistema operativo

Amig@s,

Este post es para aprender como mover datafiles de una ruta (PATH) a otro. la razón es por que común mente la base de datos se instala en la raiz / y no siempre asignamos el recurso necesario y no medimos el crecimiento de la base de datos por lo que ampliar espacio a un disco LVM y mover a otra partición es la solución.

 

AMPLIAR EL VOLUMEN DE GRUPO

Para poder ampliar el LVM por comando usamos los siguientes comandos


            lvdisplay          Permite ver el nombre del volumen de discos.
Vgdisplay         – Permite ver el grupo de discos y cuanto tiene disponible.
lvextend           – Permite ampliar el LVM.
resize2fs          – Permite fijar el espacio y presentar en nuevo tamaño al Sistema operativo.


                Pasos para aumentar las particiones de sistema operativo todo se debe hacer con el usuario root
1.       Ver el nombre del volumen de disco
[root@mcpebi ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vgo/lv0
  LV Name                lv0
  VG Name                vgo
  LV UUID                pAH7SC-kzF0-cO31-oo8j-8DEm-vVo3-tPjlB8
  LV Write Access        read/write
  LV Creation host, time oracle.refundation.com, 2013-12-19 12:39:19 -0500
  LV Status              available
  # open                 1
  LV Size                94.53 GiB
  Current LE             24199
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0
2.       Ver el grupo del volumen de disco y su espacio disponible para aumentar
[root@mcpebi ~]# vgdisplay
  --- Volume group ---
  VG Name               vgo
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               94.53 GiB
  PE Size               4.00 MiB
  Total PE              24199
  Alloc PE / Size       24199 / 94.53 GiB
  Free  PE / Size       0 / 500GB
  VG UUID               rjtI3d-QmqM-RAyH-lW29-xobK-kBdE-sdSthI

3.       Aumentar espacio al volumen lógico
[root@ mcpebi /]# lvextend -L +300G /dev/vgo/lv0
  Extending logical volume LogVol00 to 394,53 GB

4.       Presentar el tamaño al sistema operativo
[root@ mcpebi /]# resize2fs /dev/vgo/lv0

            Y ya se tiene la partición del LVM con el nuevo tamaño.



MOVER DATAFILES 

DATAFILES DEL SISTEMA

Realizar estos pasos con usuario oracle
1.       Para poder mover los datafile de sistema Oracle que son SYSTEM, SYSAUX, UNDOTBS es  necesario tener la base en modo mount.
 [root@mcpebi ~]# su - oracle
 [oracle@mcpebi ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 3 14:04:01 2015
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 6263357440 bytes
Fixed Size                  2239976 bytes
Variable Size            2113929752 bytes
Database Buffers         4127195136 bytes
Redo Buffers               19992576 bytes
Database mounted.

2.       Copiar los archivos de datos SYSTEM, SYSAUX Y UNDOTBS a la nueva ruta
[oracle@mcpebi ~]$ cp /home/oracle/oradata/warehouse/system.dbf /data/oracle/oradata/
[oracle@mcpebi ~]$ cp /home/oracle/oradata/warehouse/sysaux.dbf /data/oracle/oradata/
[oracle@mcpebi ~]$ cp /home/oracle/oradata/warehouse/undo.dbf /data/oracle/oradata/

3.       Cambiar los apuntadores en la base de datos
[oracle@mcpebi ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 3 14:13:57 2015
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> ALTER DATABASE RENAME FILE '/home/oracle/oradata/warehouse/system.dbf' to '/data/oracle/oradata/system.dbf';
Database altered
SQL> ALTER DATABASE RENAME FILE '/home/oracle/oradata/warehouse/sysaux.dbf' to '/data/oracle/oradata/sysaux.dbf';
Databsae altered
SQL> ALTER DATABASE RENAME FILE '/home/oracle/oradata/warehouse/undo.dbf' to '/data/oracle/oradata/undo.dbf';
Database altered
·         Al tratar de abrir la base de datos nos sale un error en los datafile por lo que se requiere recuperar


Para ello realizamos los siguientes pasos
4.       Listar estado de datafiles
SQL> select name, file#, status, enabled from v$datafile;
NAME
——————————————————————————–
FILE# STATUS  ENABLED
———- ——- ———-
/data/oracle/oradata/system.dbf
1 SYSTEM  DISABLED
/data/oracle/oradata/undo.dbf
2 ONLINE  DISABLED
/data/oracle/oradata/sysaux.dbf
3 ONLINE  DISABLED
5.       Recuperar datafiles
SQL> recover datafile 1;
Recuperación del medio físico terminada.
SQL> recover datafile 2;
Recuperación del medio físico terminada.
SQL> recover datafile 3;
Recuperación del medio físico terminada.
6.       Abrir base de datos
SQL> alter database open;
Database altered.

·         Una vez la base arriba ya podemos borrar los datafiles de la antigua partición con el comando rm –rf [Ruta de archivo]<Nombre archivo>

DATAFILE USER


Para poder mover este datafile no es necesario apagar la base pero si se debe indisponer las transacciones para evitar que se conecten recomiendo bajar el listener o hacer en horarios no laboral


1.       Copiar el datafile user.dbf a la nueva partición
[oracle@mcpebi ~]$ cp /home/oracle/oradata/warehouse/users.dbf /data/oracle/oradata/

2.       Poner el tablespace fuera de servicio
SQL> ALTER TABLESPACE USERS OFFLINE NORMAL;
Tablespace altered
3.       Cambiar los apuntadores en la base de datos
SQL> ALTER TABLESPACE USERS RENAME DATAFILE '/home/oracle/oradata/warehouse/users.dbf' TO '/data/oracle/oradata/users.dbf';
Tablespace altered
4.       Poner el tablespace en línea
SQL> ALTER TABLESPACE USERS ONLINE;
Tablespace altered

·         Una vez el tablespace este en línea ya podemos borrar el datafiles de la antigua partición con el comando rm –rf [Ruta de archivo]<Nombre archivo>


ü  Se recomienda validar los respaldos de RMAN que se ejecuten bien debido a que la estructura cambió.
ü  Se recomienda validar procesos internos para no ocupar la partición de sistema operativo y binarios de oracle y enfocar todos los archivos en la partición /data.


Montar discos ASM de forma manual - ORA-00099: warning: no parameter file specified for ASM instance ASM instance started


Amig@s

Aquí les dejo el siguiente post resultado de un bug que tiene al levantar los discos la ASM

Problema:

bash-4.2$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.3.0 Production on Fri Jan 30 19:24:09 2015

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORA-00099: warning: no parameter file specified for ASM instance
ASM instance started

Total System Global Area  283930624 bytes
Fixed Size                  2220800 bytes
Variable Size             256544000 bytes
ASM Cache                  25165824 bytes
ORA-15110: no diskgroups mounted

Solución

SQL> select group_number, name, total_mb, free_mb, state from v$asm_diskgroup;

GROUP_NUMBER NAME                             TOTAL_MB    FREE_MB STATE
------------ ------------------------------ ---------- ---------- -----------
           0 DG_FRA_DWHD                             0          0 DISMOUNTED
           0 DG_DATA_INTERD                          0          0 DISMOUNTED
           0 DG_FRA_OLTPD                            0          0 DISMOUNTED
           0 DG_FRA_INTERD                           0          0 DISMOUNTED
           0 DG_DATA_INTERCP                         0          0 DISMOUNTED
           0 DG_DATA_OLTPD                           0          0 DISMOUNTED
           0 DG_DATA_DWHD                            0          0 DISMOUNTED
           0 DG_DATA_OLTPCP                          0          0 DISMOUNTED

8 rows selected.

SQL> alter diskgroup DG_FRA_DWHD mount;

Diskgroup altered.

SQL> alter diskgroup DG_DATA_INTERD mount;

Diskgroup altered.

SQL> alter diskgroup DG_FRA_OLTPD mount;alter diskgroup DG_FRA_OLTPD mount;^C

SQL> alter diskgroup DG_FRA_OLTPD mount;

Diskgroup altered.

SQL> alter diskgroup DG_DATA_INTERCP mount;

Diskgroup altered.

SQL> alter diskgroup DG_DATA_OLTPD mount;

Diskgroup altered.

SQL> alter diskgroup DG_DATA_DWHD mount;

Diskgroup altered.

SQL> alter diskgroup DG_DATA_OLTPCP mount;

Diskgroup altered.

SQL> select * from v$instance;

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION           STARTUP_T STATUS       PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO
---------- --- ----------------- ------------------ --------- ---
              1 +ASM
Toachi
11.2.0.3.0        30-JAN-15 STARTED      NO           0 STOPPED
ALLOWED    NO  ACTIVE            UNKNOWN            NORMAL    NO


Y ya su ASM ya esta arriba.