What protocol is used by RMAN to communicate with the server used for backing up/restoring data?

I searched everywhere but couldn't find any docs with this information.

Background: I am developing a proxy that backs up an oracle database to a different store


The thing you are looking for is called the SBT API. I can't find any free documentation on it, but the process is that a vendor of say a tape library implements the functions of SBT (e.g. sbtopen(), sbtwrite() and so on), compiles them as a shared library (a .so file) and this is placed in the ORACLE_HOME. When RMAN starts it looks for a file called libobk.so and dynamically links to it. RMAN then calls the functions, and in turn the protocol between the MML (media management layer) and the actual hardware e.g. a tape library, is proprietary.

  • These guys seem to have figured out the actual C API, which Oracle (foolishly) hides from developers.
    – Mikhail T.
    Jun 12 '18 at 19:30
  • I expect they make available to hardware vendors
    – Gaius
    Jun 12 '18 at 21:31
  • 1
    There are lots of creative applications for this API, that could be offered by other developers. For example, how about backing up directly to a cloud? Or integrating with Amanda? Sigh... Sybase/SQL Server are making the same mistake...
    – Mikhail T.
    Jun 13 '18 at 14:26
  • With Oracle it is all about the $$$
    – Gaius
    Jun 13 '18 at 15:32
  • With me it is all about $$$ too, nothing wrong with that. I call them "fools", because I think, they are not getting as much money as they could be by keeping the source code and even the APIs of non-essential parts closed. Anyway, this is all off-topic... Sorry...
    – Mikhail T.
    Jun 13 '18 at 20:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.