En caso de tener el error siguiente el crear un indixe: CONTEXT
INDEXTYPE IS CTXSYS.CONTEXT
ERROR at line 1:
ORA-24795: Illegal COMMIT attempt made
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
ORA-24795: Illegal ROLLBACK attempt made
DRG-50857: oracle error in dreii0fsh
ORA-06550: line 1, column 106:
PLS-00302: component 'S_MODE' must be declared
ORA-06550: line 1, column 10:
PL/SQL: Statement ignored
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 364
Es porque se instalo un parche y no se ejecuto el script para actualizar el diccionario y hay diferencias con el codigo fuentes instalado, para ver esta diferencia hacer:
select * from ctxsys.ctx_version;
VER_DICT VER_CODE
---------- ----------
10.2.0.1.0 10.2.0.3.0
Ejecutar ctxpatch.sql para actualizar Oracle TEXT, de la siguiente forma:
shutdown immediate
startup upgrade
@?/ctx/admin/ctxpatch.sql
shutdown immediate
startup
Experiencias que me hicieron más facíl mi trabajo en SAP - Oracle - Linux Si tenes alguna duda de mis Entradas no dudes en consultarme.
jueves, 10 de septiembre de 2009
Posibles Causas del error ORA-38029 "Object Statistics Are Locked"
Posibles Causas del error ORA-38029 "Object Statistics Are Locked"
1. Se ejecuto el procedimiento de bloqueo como por ejemplo DBMS_STATS.LOCK_[SCHEMA|TABLE]_STATS
2. En Oracle 10gR2 10.2.0.1 se ejecuto un import con rows=n
La soluciones es ver que objetos tiene la estadísticas lokeadas:
select table_name, stattype_locked from user_tab_statistics where stattype_locked is not null;
select num_rows, last_analyzed from user_ind_statistics where stattype_locked is not null;
Con ese resultado ejecutar, según sea el caso:
Si es todo en esquema completo EXECUTE DBMS_STATS.UNLOCK_SCHEMA_STATS ('SCHEMA');
es decir: EXEC DBMS_STATS.UNLOCK_SCHEMA_STATS ('SCOTT');
Si es solo una tabla
EXEC DBMS_STATS.UNLOCK_TABLE_STATS('OWNER','TABLA');
es decir: EXEC DBMS_STATS.UNLOCK_TABLE_STATS('SCOTT','TIGER');
1. Se ejecuto el procedimiento de bloqueo como por ejemplo DBMS_STATS.LOCK_[SCHEMA|TABLE]_STATS
2. En Oracle 10gR2 10.2.0.1 se ejecuto un import con rows=n
La soluciones es ver que objetos tiene la estadísticas lokeadas:
select table_name, stattype_locked from user_tab_statistics where stattype_locked is not null;
select num_rows, last_analyzed from user_ind_statistics where stattype_locked is not null;
Con ese resultado ejecutar, según sea el caso:
Si es todo en esquema completo EXECUTE DBMS_STATS.UNLOCK_SCHEMA_STATS ('SCHEMA');
es decir: EXEC DBMS_STATS.UNLOCK_SCHEMA_STATS ('SCOTT');
Si es solo una tabla
EXEC DBMS_STATS.UNLOCK_TABLE_STATS('OWNER','TABLA');
es decir: EXEC DBMS_STATS.UNLOCK_TABLE_STATS('SCOTT','TIGER');
ORA-29868: cannot issue DDL on a domain index marked as LOADING
Cuando no se puede borrar el indexe porque marcar el error:
ORA-29868: cannot issue DDL on a domain index marked as LOADING
La menera de borrarlo es haciendo usando la opcion FORCE en el drop:
Drop index Nombre_de_indixe force;
Luego se recrea de nuevo.
ORA-29868: cannot issue DDL on a domain index marked as LOADING
La menera de borrarlo es haciendo usando la opcion FORCE en el drop:
Drop index Nombre_de_indixe force;
Luego se recrea de nuevo.
lunes, 20 de abril de 2009
No se puede borrar Archivos en Windows 2003
En el caso de no poder borrar archivos o carpetas en Windows 2003 por mas que tengamos permisos o seamos los propietarios de los mismos usando programa "subinacl.exe" que es parte del Rescue Kit de Windows,
Hacemos subinacl /subdirectories archivo_o_directorio\*.* /grant=usuario=F
Por ejemplo: subinacl /subdirectories c:\temp\*.* /grant=administrador=F
En este caso asignamos permisos FULL al usuario administrador. Luego si se podran borrar.
Hacemos subinacl /subdirectories archivo_o_directorio\*.* /grant=usuario=F
Por ejemplo: subinacl /subdirectories c:\temp\*.* /grant=administrador=F
En este caso asignamos permisos FULL al usuario administrador. Luego si se podran borrar.
lunes, 13 de abril de 2009
ORA-27125: unable to create shared memory segment - Linux-x86_64 Error: 1: Operation not permitted
Cuando iniciamos la database aparenta no haber problemas pero cuando nos conectamos vemos el error:
Connected to an idle instance.
ORA-27125: unable to create shared memory segment
Linux-x86_64 Error: 1: Operation not permitted
Este error también se da durante la instalación de ORACLE con: ORA-27125 while creating the DB instance on Kernel 2.6
Esto se debe a la versión del kernel de Linux, para solucionar el problema es necesario actualizarlo o modificar los siguientes parámetros:
1. Agregar la entrada vm.disable_cap_mlock=1 a /etc/sysctl.conf
2. /etc/init.d/boot.sysctl start
3. chkconfig boot.sysctl on
Otra alternativa es hacer:
echo 1 > /proc/sys/vm/disable_cap_mlock
Pero esto no es permanente ya que si reiniciamos el equipo esto se pierde.
Connected to an idle instance.
ORA-27125: unable to create shared memory segment
Linux-x86_64 Error: 1: Operation not permitted
Este error también se da durante la instalación de ORACLE con: ORA-27125 while creating the DB instance on Kernel 2.6
Esto se debe a la versión del kernel de Linux, para solucionar el problema es necesario actualizarlo o modificar los siguientes parámetros:
1. Agregar la entrada vm.disable_cap_mlock=1 a /etc/sysctl.conf
2. /etc/init.d/boot.sysctl start
3. chkconfig boot.sysctl on
Otra alternativa es hacer:
echo 1 > /proc/sys/vm/disable_cap_mlock
Pero esto no es permanente ya que si reiniciamos el equipo esto se pierde.
jueves, 12 de marzo de 2009
Memory Notification: Library Cache Object loaded into SGA - Heap size xxxxx K exceeds notification threshold (8192K) - Oracle 10.2.0.1
Si en alert.ora de nuestro oracle 10.2.0.1 vemos:
Memory Notification: Library Cache Object loaded into SGA
Heap size 18902K exceeds notification threshold (8192K)
Donde "Heap size" puede cambiar
Se puede solucionar de dos formas:
La solución directa es:
***************************************************
sqlplus /nolog
connect / as sysdba
alter system set "_kgl_large_heap_warning_threshold"=0 scope=spfile ;
shutdown immediate
startup
***************************************************
Otro alternativa es pasar a 10.2.0.2 o superior.
Memory Notification: Library Cache Object loaded into SGA
Heap size 18902K exceeds notification threshold (8192K)
Donde "Heap size" puede cambiar
Se puede solucionar de dos formas:
La solución directa es:
***************************************************
sqlplus /nolog
connect / as sysdba
alter system set "_kgl_large_heap_warning_threshold"=0 scope=spfile ;
shutdown immediate
startup
***************************************************
Otro alternativa es pasar a 10.2.0.2 o superior.
jueves, 22 de enero de 2009
ERROR at line 1: ORA-04098: trigger 'SYS.XDB_INSTALLATION_TRIGGER' is invalid and failed re-validation
Este error aparece en Oracle 10.2.0.1 to 10.2.0.3 si se instalo o resistalo XDB
Para solucionar esto hay que estar conectado como sys
@?/rdbms/admin/catnoqm.sql
drop trigger sys.xdb_installation_trigger;
drop trigger sys.dropped_xdb_instll_trigger;
drop table dropped_xdb_instll_tab;
nota: al ejecutar catnoqm.sql puede dar algunos errores, ignorar estos.
Para solucionar esto hay que estar conectado como sys
@?/rdbms/admin/catnoqm.sql
drop trigger sys.xdb_installation_trigger;
drop trigger sys.dropped_xdb_instll_trigger;
drop table dropped_xdb_instll_tab;
nota: al ejecutar catnoqm.sql puede dar algunos errores, ignorar estos.