Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Is it possible to read a SGA's memory architecture ?

Re: Is it possible to read a SGA's memory architecture ?

From: Billy Verreynne <vslabs_at_onwe.co.za>
Date: Mon, 21 Oct 2002 11:18:13 +0200
Message-ID: <ap0gq3$st2$1@ctb-nnrp2.saix.net>


Norman Dunbar wrote:

> As far as I am aware, only two companies in the entire world have direct
> access to Oracles SGA architechture. One is Oracle, the other is Precise
> who market an app which can monitor Oracle without having to run any SQL
> against the system being monitored. I believe it originated in Israel
> and they decoded the SGA by themselves. When Oracle found out, they were
> 'so impressed' they let them have the info whnever they changes the
> internals.

The actual question I would think is what kernel or API call does one use to read memory blocks allocated by another application.

I used to do something like this on Win3.1, but that was no great shakes as the Win16 kernel was very primitive and memory management and protection almost non-existant. It was a trivial matter to enumurate the global memory blocks, finding which belong to what application and then inspecting the contents of it.. looking for passwords or even freeing it.. Where else but on Windows can an app free memory allocated by the kernel? :-)

I would expect that a more secure system implements a better memory management and protection. In which case you can not just go and read the memory allocated to another program.. unless you run it via a debugger, or still better, you load the whole operating system via a debugger.

Looking through the Win32 memory management API calls, the only candidates seem to be:
CopyMemory()
VirtualQuery()

The last one for example refers to your own (i.e. caller's) virtual address space. In which case you will need to use this via something like an Oracle External Proc (i.e. a DLL) to be part of the Oracle process and access its virtual memory space.

Personally, I would backtrack on a technical "solution" that requires accessing the SGA from your own software.. I can not see any real valid business reason for it, except attempting to hack into Oracle.

--
Billy
Received on Mon Oct 21 2002 - 04:18:13 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US