FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour O.T. Un problema de mantenimiento
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
O.T. Un problema de mantenimiento
Posted: Sun Nov 03, 2013 07:51 PM

Me ocurre algunas veces en sistemas complejos, red local con muchos terminales combinada con accesos via RDP (terminal services)
uso DBF con sus indices y un ejecutable comun a todos los clientes, en el servidor.
Cuando toca mantenimiento del sistema, procuro que sea siempre durante las horas nocturnas que no hay nadie trabajando y actuando siempre con credenciales de administrador, al intentar sustituir, modificar o actualizar algún archivo, da igual que sea el EXE, los indices o las DBF, sale un mensaje de que el archivo no se puede renombrar, modificar etc. porque está en uso por otra aplicación'.

Les prometo que en el servidor no existe rastro de que ningun proceso tenga abierto ninguno de los archivos en cuestión; pero a pesar de ello no hay nada que hacer a menos que se apague y vuelva a arrancar el servidor, cosa nada practica en este tipo de sistemas.

¿Alguien sabe por qué puede ocurrir esto? o en su defecto, ¿Hay forma de liberar los archivos sin tener que apagar el servidor?

El 'Unlocker' y otras herramientas similares no funcionan.
Gracias por su ayuda. :shock:

Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Re: O.T. Un problema de mantenimiento
Posted: Sun Nov 03, 2013 09:23 PM

Busca los procesos en el administrador de tareas y desde hay matas el proceso.-

Saludos,



Pablo Alberto Vidal

/*

------------------------------------------------------

Harbour 3.2.0, Fivewin 17.02, BCC7

------------------------------------------------------

*/
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 04, 2013 07:19 AM

Gracias por contestar, Pablo

Eso es lo primero que hago para estar seguro de que nadie está conectado, y por supuesto que nadie se haya dejado abierta una sesión por descuido o algo así.
No existe ningún rastro en el servidor de que se esté corriendo el ejecutable en cuestion pero aún así algunos archivos están bloqueados como digo. :shock:

Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 04, 2013 12:00 PM

José Vicente,

Las cosas raras siempre tienen que ver con antivirus. :D
¿ Has probado a desactivar el antivirus temporalmente ? Probablemente te ayudaria si supieras el puesto/sesion/usuario que abrio el programa que sigue vivo.

Saludos

Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 04, 2013 02:18 PM

hmpaquito, no habia pensado en el antivirus, pero ahora que lo dices...., investigaré en esa dirección.
En cuanto a la sesión causante del problema no puedo saberlo porque interactuo directamente sobre el servidor y TEORICAMENTE todas las sesiones están cerradas.

Gracias :shock:

Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 04, 2013 02:19 PM

Una pregunta Vicente: ¿Que sistema operativo tiene el servidor? Porque en Win Server 2008, en las Herramientas Administrativas hay como ver que archivos están abiertos y por quien. Tambien puedes usar DameWare Utilities, tiene una opción para ver los archivos abiertos y por quien.
Me ha pasado que a veces el programa casca, y si bien sale el mensaje de error, el proceso no se muere, el exe queda en memoria pero invisible, y con los archivos abiertos. Cuando tienes + de 100 PCs conectadas al servidor...

Un saludo

Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 04, 2013 02:20 PM

Otra idea: si es por sustituir el exe, aunque no lo puedo borrar si lo puedes renombrar, entonces le cambias el nombre y copiar el exe nuevo.

Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 04, 2013 02:30 PM
¿Que sistema operativo tiene el servidor? Porque en Win Server 2008, en las Herramientas Administrativas hay como ver que archivos están abiertos y por quien.

Me ha ocurrido en server 2008 pero tambien en server 2003
Tambien puedes usar DameWare Utilities, tiene una opción para ver los archivos abiertos y por quien.

No conocía la herramienta, la probaré.
Me ha pasado que a veces el programa casca, y si bien sale el mensaje de error, el proceso no se muere, el exe queda en memoria pero invisible, y con los archivos abiertos.

Creo que es ese el problema, ahora me gustaría saber como evitarlo o en el peor de los casos como solucionarlo de la mejor forma posible

Gracias a todos por las sugerencias, me ayudan bastante :-)
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 04, 2013 02:35 PM
Otra idea: si es por sustituir el exe, aunque no lo puedo borrar si lo puedes renombrar, entonces le cambias el nombre y copiar el exe nuevo.

Eso lo hago con frecuencia pero hay veces que el S.O. no permite ni renombrar, y es ahí cuando me pongo de los nervios.... :-) :-)
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 04, 2013 02:52 PM
José Vicente,

Siguiendo con la idea de Carlos Mora y tu sospecha, he visto que ya hace años que en mi errsysw.prg (local) sustitui TODOS los QUIT por MiQuit()

Code (fw): Select all Collapse
FUNCTION MiQuit()

PostQuitMessage(0)
SysRefresh()                  // Importante !!

CLOSE DATABASES              // Quiza inncesario, QUIT ya cierra los ficheros.
__Quit()

RETURN NIL                   // <-- Inalcanzable ;-)


Esto es porque puede ocurrir que solamente con QUIT el programa quede abierto para Windows. Con PostQuitMessage() se fuerza a que Windows lo cierre tambien.
Espero te sea de utilidad.
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 04, 2013 06:16 PM
PostQuitMessage(0)
SysRefresh()

Alguna vez en el pasado use la primera función pero sin saber muy bien que hacía, la probaré ahora con sysrefresh(), a veces las cosas son mas simples de lo que parecen :-)
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: O.T. Un problema de mantenimiento
Posted: Tue Nov 05, 2013 06:30 PM

Hola

lo otro que deberias tener en cuenta son los usuarios de TS, lo cual casi siempre dejan los sistemas abiertos
con la aplicacion "Administrador de Servicios de Terminal Server"

ahi puedes ver quien esta conectado

Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: O.T. Un problema de mantenimiento
Posted: Wed Nov 06, 2013 09:55 AM

Gracias Patricio, pero eso tambien lo compruebo antes de comenzar el proceso de mantenimiento. :shock:

Posts: 42
Joined: Mon Jan 17, 2011 03:44 PM
Re: O.T. Un problema de mantenimiento
Posted: Fri Nov 15, 2013 04:36 PM

Yo tenía ese problema, porque encontraba sesiones abiertas de usuarios en el Administrador de tareas- Pestaña de Usuarios y procedía a cerrar las sesiones de estos usuarios.

Ojala te ayude.

Luis

Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: O.T. Un problema de mantenimiento
Posted: Mon Nov 18, 2013 02:59 PM

Gracias a todos por su interes, las diversas opiniones, entre otras, me han llevado a localizar el origen del problema, y tiene mucho que ver con la configuracion del protocolo SMB en las redes con diversos sistemas operativos funcionando conjuntamente cuando el servidor corre windows server 2008 en cualquiera de sus versiones.

Básicamente, el problema desaparece cuando se desactiva el SMB2 tanto en el servidor como en los clientes, además de hacer que los indices se vuelvan muy duros de romper, con lo que matamos dos pájaros de un tiro.

De nuevo gracias al foro ya que sin su insustituible ayuda no habría sido capaz de dar con la solución :shock: