On Tue, 2011-10-04 at 11:04 +0100, Gyula Keresztely-Krall wrote:
> Salut,
> 
> Se da urmatoarea situatie: din greseala sa sters fisierele Oracle
> shared memory (de sub /dev/shm ).
> In conditia actuala Oracle ruleaza dar nu se poate conecta la el cu
> sqldeveloper.
> 
> Exista vreo modalitate de a recrea aceste fisiere fara sa dau restart
> la oracle ?
> 
> Multumesc,
> 
> P.S. Google nu ma ajuta , iar optiunea de restart chiar nu exista din
> pacate acum.


Fisierele alea inca exista acolo cita vreme cel putin un proces le tine
deschise. Din pacate, pentru orice proces nou - si implicit pentru orice
sesiune oracle noua (*1) ele nu vor mai fi vizibile.

Daca aveai de-a face cu ext3 era ceva mai simplu,dar cu devshm...


Iti sugerez sa incerci urmatoarele :

Vezi cu lsof ce fisiere tin deschise procesele oracle in /dev/shm 
Ar trebui sa obtii ceva de genul :
oracle       6355       oracle    1w      REG               0,16
16     350117 /dev/shm/bogus.txt (deleted)


A doua coloana este pid-ul.Alege un pid care nu va disparea (ex o
sesiune care o vei lasa obligatoriu activa, sau unul dintre procesele de
background oracle care nu ar trebui sa se termine) ,si apoi urmareste
fisierul in 
/proc/pid/fd
Vei avea acolo un symlink gen 
fileid --> /dev/shm/fisier (deleted)

Ce vrei sa faci este :
ln -s /proc/pid/fd/fileid /dev/shm/denumirea_originala

Vei face asta pentru toate fisierele din devshm.

In mod normal, oracle urmareste symlinkurile iar kernelul se descurca
mai departe sa faca ce trebuie pe fisierul corect.
Nu este inca o varianta suportata, si cu atit mai putin nu stiu ce se va
intimpla dat fiind ca alea sint niste fisiere cu totul si cu totul
speciale pe care oracle face mmap... 

So, use it at your OWN RISK.




Ca sfat suplimentar, incearca sa treci la 64 bit ca sa nu mai trebuiasca
sa folosesti artificiul asta oribil (cu indirect data buffers). Vei
observa chiar si o crestere de performanta dupa ce scapi de indirect
buffers.        


*1 - presupun ca functioneaza ca dedicated server.

_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui