Linux Error: 29: Illegal seek



Al realizar una simple levantada del listener en una base de datos Oracle 11gr2, aparecía este error

oracle@nodo3 $ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 13-SEP-2012 23:33:54

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

Starting /u01/app/11.2.0/grid/bin/tnslsnr: please wait...

TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek





Parecía algo complicado... pero no, la solución era muy simple...agregar al archivo de hosts, la alusión al localhosts, que quien sabe como , había desaparecido.. :P

127.0.0.1 localhost.localdomain localhost



Una vez agregado, la levantada del listener no tuvo inconvenientes

oracle@nodo3 $ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 13-SEP-2012 23:38:27

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

Starting /u01/app/11.2.0/grid/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.3.0 - Production
System parameter file is /u01/app/11.2.0/grid/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/nodo3/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date 13-SEP-2012 23:38:31
Uptime 0 days 0 hr. 0 min. 1 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/nodo3/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
The listener supports no services
The command completed successfully



Simple.... después de resuelto , pues antes ... :'( jajaja

by Ligarius
26.09.12. 19:52:36. 258 words, 3128 views. Categories: Base de datos ,

Scripts para creación de bases Oracle 11gr2 en forma manual



Siguiendo con los post sobre la creación de bases de datos en forma manual , ahora llevaremos a cabo la creación de una base de datos en la versión Oracle 11gr2


Obs: Insisto... nada que ver con los scripts , pero me gusta :oops:

Para Oracle11gr2 con filesystems




1.- Creación del archivo de inicialización por ejemplo /home/oracle/inittest.ora el cual debiese contener los siguientes parámetros

*.control_files='/home/oracle/test/oradata/control01.ctl'
*.db_name='test'
*.instance_name='test'
*.memory_target=2g
*.undo_management = auto
*.db_block_size = 8192
*.diagnostic_dest = '/home/oracle/test/diag'



2.- Se crea los directorios que ocuparemos para nuestra base de datos , con el usuario oracle

$ mkdir -p /home/oracle/test/oradata
$ mkdir -p /home/oracle/test/diag

3.- Levantamos sólo la instancia (startup nomount)

$ export ORACLE_SID=test

$ sqlplus /nolog

SQL> conn / as sysdba

SQL> startup nomount pfile='/home/oracle/inittest.ora'



4.- Ejecutamos el comando de creación de base de datos

create database test
logfile group 1 ('/home/oracle/test/oradata/redo1.rdo') size 10M,
group 2 ('/home/oracle/test/oradata/redo2.rdo') size 10M,
group 3 ('/home/oracle/test/oradata/redo3.rdo') size 10M
character set WE8ISO8859P1
national character set utf8
datafile '/home/oracle/test/oradata/system.dbf' size 50M
autoextend on next 10M extent management local
sysaux datafile '/home/oracle/test/oradata/sysaux.dbf'
size 10M autoextend on next 10M
undo tablespace undo
datafile '/home/oracle/test/oradata/undo.dbf'
size 10M autoextend on
default temporary tablespace temp
tempfile '/home/oracle/test/oradata/temp.dbf'
size 10M autoextend on;



5.- Una vez generada la base ejecutamos el scripts catalog.sql y el catproc.sql ambos scripts crean los Stores Procedures para el manejo del motor Oracle y crea todo el diccionario de datos .

SQL> @?/rdbms/admin/catalog.sql

SQL> @?/rdbms/admin/catproc.sql



6.- Cambiamos las claves al usuario SYS y SYSTEM

alter user sys identified by clave1;

alter user system identified by clave1;



7.- Creamos el archivo de password

cd $ORACLE_HOME/dbs

$ orapwd file=orapwtest password=oracle1 entries=5



8.- Creamos el archivo de inicialización como spfile

SQL> create spfile from pfile='/home/oracle/inittest.ora';



9.- Bajamos y subimos la base de datos para que reinicie con spfile

SQL> startup force



10.- Levantamos el listener, teniendo en cuenta que debe estar seteado el ORACLE_HOME y el PATH

lsnrctl start

Nuevamente base creada :lalala: para la versión Oracle 11gr2



by Ligarius
14.09.12. 17:14:04. 420 words, 5918 views. Categories: Base de datos ,

Scripts para creación de bases Oracle 10gr (Filesystem) en forma manual



Siguiendo con los scripts manuales para crear bases de datos, les muestro la creación de una base en versión 10g, todo en forma manual


Obs: Me gusto...por ese la reitero :yes:

Para Oracle10g




1.- Creación del archivo de inicialización por ejemplo /home/oracle/inittest.ora el cual debiese contener los siguientes parámetros

*.background_dump_dest='/home/oracle/test/bdump/'
*.compatible='10.2.0.0.0'
*.control_files='/home/oracle/test/oradata/control01.ctl'
*.core_dump_dest='/home/oracle/test/cdump'
*.sga_target=176999620
*.db_name='test'
*.instance_name='test'
*.log_buffer=6291456# 6 MB
*.pga_aggregate_target=429496720
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS'
*.user_dump_dest='/home/oracle/test/udump'



2.- Se crea los directorios que ocuparemos para nuestra base de datos , con el usuario oracle

$ mkdir -p /home/oracle/test/oradata
$ mkdir -p /home/oracle/test/cdump
$ mkdir -p /home/oracle/test/bdump
$ mkdir -p /home/oracle/test/udump



3.- Levantamos sólo la instancia (startup nomount)

$ export ORACLE_SID=test

$ sqlplus /nolog

SQL> conn / as sysdba

SQL> startup force nomount pfile='/home/oracle/inittest.ora'



4.- Ejecutamos el comando de creación de base de datos

create database test
logfile group 1 ('/home/oracle/test/oradata/redo1.rdo') size 10M,
group 2 ('/home/oracle/test/oradata/redo2.rdo') size 10M,
group 3 ('/home/oracle/test/oradata/redo3.rdo') size 10M
character set WE8ISO8859P1
national character set utf8
datafile '/home/oracle/test/oradata/system.dbf' size 50M
autoextend on next 10M extent management local
sysaux datafile '/home/oracle/test/oradata/sysaux.dbf'
size 10M autoextend on next 10M
undo tablespace undotbs
datafile '/home/oracle/test/oradata/undo.dbf'
size 10M autoextend on
default temporary tablespace temp
tempfile '/home/oracle/test/oradata/temp.dbf'
size 10M autoextend on;



5.- Una vez generada la base ejecutamos el scripts catalog.sql y el catproc.sql ambos scripts crean los Stores Procedures para el manejo del motor Oracle y crea todo el diccionario de datos .

SQL> @?/rdbms/admin/catalog.sql

SQL> @?/rdbms/admin/catproc.sql



6.- Cambiamos las claves al usuario SYS y SYSTEM

alter user sys identified by clave1;

alter user system identified by clave1;



7.- Creamos el archivo de password

cd $ORACLE_HOME/dbs

$ orapwd file=orapwtest password=oracle1 entries=5



8.- Creamos el archivo de inicialización como spfile

SQL> create spfile from pfile='/home/oracle/inittest.ora';



9.- Bajamos y subimos la base de datos para que reinicie con spfile

SQL> startup force



10.- Levantamos el listener, teniendo en cuenta que debe estar seteado el ORACLE_HOME y el PATH

lsnrctl start

Base creada :lalala:

by Ligarius
12.09.12. 12:06:12. 439 words, 6229 views. Categories: Base de datos ,

Scripts para creación de bases Oracle 9i en forma manual



Siempre es bueno tener a mano los scripts para la creación de una base Oracle, pero en forma manual...sobre todo cuando no existe interfaz gráfica donde apoyarse, los ejemplos que se muestran a continuación es una expresión mínima de creación de base de datos Oracle


Obs: La foto no tiene nada que ver con la creación de una base de datos, pero me gusta como se ve

Para Oracle9i




1.- Creación del archivo de inicialización por ejemplo /home/oracle/inittest.ora el cual debiese contener los siguientes parámetros

*.background_dump_dest='/home/oracle/test/bdump/'
*.compatible='9.2.0.0.0'
*.control_files='/home/oracle/test/oradata/control01.ctl'
*.core_dump_dest='/home/oracle/test/cdump'
*.db_cache_size=176999620
*.db_name='test'
*.instance_name='test'
*.java_pool_size=0
*.log_buffer=6291456# 6 MB
*.pga_aggregate_target=429496720
*.shared_pool_size=85899350
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS'
*.user_dump_dest='/home/oracle/test/udump'



2.- Se crea los directorios que ocuparemos para nuestra base de datos , con el usuario oracle

$ mkdir -p /home/oracle/test/oradata
$ mkdir -p /home/oracle/test/cdump
$ mkdir -p /home/oracle/test/bdump
$ mkdir -p /home/oracle/test/udump



3.- Levantamos sólo la instancia (startup nomount)

$ export ORACLE_SID=test

$ sqlplus /nolog

SQL> conn / as sysdba

SQL> startup nomount pfile='/home/oracle/inittest.ora'



4.- Ejecutamos el comando de creación de base de datos

create database test
logfile group 1 ('/home1/oracle/test/oradata/redo1.log') size 10M,
group 2 ('/home1/oracle/test/oradata/redo2.log') size 10M,
group 3 ('/home1/oracle/test/oradata/redo3.log') size 10M
character set WE8ISO8859P1
national character set utf8
datafile '/home1/oracle/test/oradata/system.dbf' size 300M autoextend on next 10M
maxsize unlimited extent management local
undo tablespace undotbs datafile '/home1/oracle/test/oradata/undotbs01.dbf' size 50M
default temporary tablespace temp tempfile '/home1/oracle/test/oradata/temp01.dbf' size 50M;



5.- Una vez generada la base ejecutamos el scripts catalog.sql y el catproc.sql ambos scripts crean los Stores Procedures para el manejo del motor Oracle y crea todo el diccionario de datos .

SQL> @?/rdbms/admin/catalog.sql

SQL> @?/rdbms/admin/catproc.sql



6.- Cambiamos las claves al usuario SYS y SYSTEM

alter user sys identified by clave1;

alter user system identified by clave1;



7.- Creamos el archivo de password

cd $ORACLE_HOME/dbs

$ orapwd file=orapwtest password=oracle1 entries=5



8.- Creamos el archivo de inicialización como spfile

SQL> create spfile from pfile='/home/oracle/inittest.ora';



9.- Bajamos y subimos la base de datos para que reinicie con spfile

SQL> startup force



10.- Levantamos el listener, teniendo en cuenta que debe estar seteado el ORACLE_HOME y el PATH

lsnrctl start

Base creada :lalala:

by Ligarius
11.09.12. 06:49:45. 469 words, 2797 views. Categories: Base de datos ,

ASMLib y RHEL 6.x




Oracle hace unos meses atrás indicaba que ya tenía soporte total para Oracle Enterprise Linux 6 y después vino el anuncio de soporte sobre RHEL 6.x

Esto se puede ver en la matriz de certificación de MOS (My Oracle Support)







Pero lo que no se comenta mucho, es que el paquete ASMLib, ese tan bonito que usamos para crear volumenes que se vean de forma directa en ASM ya no se producirá para RHEL 6.x , sólo para el kernel de OEL 6, o sea , Unbreakable Enterprise Kernel , en este ya vienen inscritos en su Kernel, o sea, es llegar y utilizar (aunque igual hay que instalar un rpm)





RPMs necesario para Unbreakable Enterprise Kernel






Información de ASMLib para Unbreakable Enterprise Kernel






RPMs disponibles para la descarga (no se ve el de RHEL 6)






Con todo lo anterior les quiero decir que ya debiésemos comenzar a usar udev o multipath nativo , todo para evitar los problemas con ASMLib en RHEL 6.x , más adelante colocaré notas de como usar los discos con esos formatos.

O si quieren más alternativas, pues pueden usar cluster file systems de otros proveedores.

Referencias :

Documentación de RedHat
https://access.redhat.com/sites/default/files/oracle_on_rhel_with_or_without_asm_asmlib_0.pdf

Como usar udev con ASM
http://download.oracle.com/docs/cd/E11882_01/install.112/e17212/storage.htm#CDEBFDEH


Espero les sirva la información

by Ligarius
06.09.12. 20:30:07. 236 words, 6005 views. Categories: Instalación, ASM (Automatic Storage Management) ,

<< 1 ... 11 12 13 14 15 16 17 18 19 20 21 ... 44 >>