{"id":18853972,"url":"https://github.com/janbar/libobksftp","last_synced_at":"2026-02-02T09:35:50.247Z","repository":{"id":148844995,"uuid":"491409442","full_name":"janbar/libobksftp","owner":"janbar","description":"SBT driver for Oracle® RMAN allowing to backup and restore from any SSH server","archived":false,"fork":false,"pushed_at":"2025-05-21T17:37:18.000Z","size":5407,"stargazers_count":9,"open_issues_count":2,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-06T20:07:55.466Z","etag":null,"topics":["libobk","oracle","rman","sbt","sftp"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/janbar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-05-12T07:31:39.000Z","updated_at":"2025-05-21T17:37:21.000Z","dependencies_parsed_at":"2025-03-24T13:34:19.154Z","dependency_job_id":"f1dc579d-706a-40b7-8779-3b6eec855718","html_url":"https://github.com/janbar/libobksftp","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/janbar/libobksftp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janbar%2Flibobksftp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janbar%2Flibobksftp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janbar%2Flibobksftp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janbar%2Flibobksftp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janbar","download_url":"https://codeload.github.com/janbar/libobksftp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janbar%2Flibobksftp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29009633,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T08:40:12.472Z","status":"ssl_error","status_checked_at":"2026-02-02T08:40:10.926Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["libobk","oracle","rman","sbt","sftp"],"created_at":"2024-11-08T03:46:20.547Z","updated_at":"2026-02-02T09:35:50.241Z","avatar_url":"https://github.com/janbar.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# LibobkSFTP\n\n## What is it ?\n\nIt is a SBT driver for ORACLE® RMAN allowing to backup and restore database\nfrom any SSH server. The transfer protocol is highly secure using SFTP over\nSSH2. Thus, you can backup the database anywhere, without the need for local\nstorage, or share, or expensive third-party software.\n\n## How it works ?\n\nThe driver implements the SBT API V2 and acts as a SFTP client to list or\ntransfer the backup set. It supports multiple channels, and the transfer rate\nis not limited.\nAuthentication with the remote server uses only SSH key exchange (KEX). You can\nuse the default key pair (id_rsa) of the oracle user, or a dedicated pair. The\nremote server only needs to know the public key and it is not allowed to\nconnect to the database server.\n\n## What dependency ?\n\nThe driver is statically linked with LIBSSH2 and OpenSSL. You don't need any agent or\nthird-part software. All requirements are in your database server box.\n\n## Warning\n\nAll interfaces are based on reverse engineering of RMAN SBT. Since the SBT API\nisn't public, you have no way to obtain it by free, so you use this at your own\nrisk.\n\n## Test it\n\nRemote user must append its file `~/.ssh/authorized_keys` with the public key\nof the local oracle user i.e `~/.ssh/id_rsa.pub`.\nUsing the default `$HOME/.ssh/` keys requires that the `HOME` environment variable be set correctly. Otherwise you must specify the paths with `OB_PUBLIC_KEY` and `OB_SECRET_KEY`.\n\n```\nRUN {\nALLOCATE CHANNEL S1 DEVICE TYPE sbt\nPARMS='SBT_LIBRARY=/usr/local/lib/libobksftp.so,ENV=(\nOB_SERVER=\u003cremote host\u003e,\nOB_USER=\u003cremote user\u003e)';\n\nBACKUP CURRENT CONTROLFILE FORMAT 'rman/%d/%U';\nRESTORE CONTROLFILE VALIDATE;\n}\n```\n\n## Configure the channel sbt\n\nThe sample below, set an absolute path for prefix the format.\n\n```\nCONFIGURE CHANNEL DEVICE TYPE sbt FORMAT '%d/%U'\nPARMS='SBT_LIBRARY=/usr/local/lib/libobksftp.so,ENV=(\nOB_SERVER=\u003cremote host\u003e,OB_USER=\u003cremote user\u003e,OB_PATH=/backup)';\n\nCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE sbt TO '%d/%F';\n\nCONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';\n```\n\n## ENV settings\n\n```\nOB_SERVER     : REQUIRED, remote server name or IP\nOB_USER       : REQUIRED, remote user owns of the backup pieces\nOB_PATH       : optional, prefix path of the storage    (default: remote user home)\nOB_PUBLIC_KEY : optional, public key file path to use   (default: ~/.ssh/id_rsa.pub)\nOB_SECRET_KEY : optional, private key file path to use  (default: ~/.ssh/id_rsa)\nOB_PORT       : optional, remote server port            (default: 22)\nOB_LOGFILE    : optional, file path for debug logging   (default: none)\n```\n\nNote: The OB_LOGFILE parameter is used to trace internal errors (OBK and SSH2) for debugging. **It should only be set for testing with the SBTTEST tool**.\n\n## Annexes\n\nObviously, you can easily list the sbt backup pieces on a remote server, using the ssh command. that might help to populate the catalog by generating a script as follows.\n\n```\nfor bkp in $(ssh ${OB_USER}@${OB_SERVER} \"ls ${OB_PATH}\"); do\n  echo \"CATALOG DEVICE TYPE 'SBT_TAPE' BACKUPPIECE '$bkp';\"\ndone\n```\n\n## How to debug a connection issue ?\n\nPrepare and launch a test as the following\n```\nexport OB_SERVER=the_remote_ssh_server\nexport OB_USER=the_remote_user\nexport OB_PORT=22\nexport OB_PUBLIC_KEY=filepath_of_public_key\nexport OB_SECRET_KEY=filepath_of_private_key\nexport OB_LOGFILE=$PWD/log\nexport ORACLE_HOME=the_oracle_home\n$ORACLE_HOME/bin/sbttest dummy -libname {the path to the libobksftp}\n```\nFinally check the content of the log file $PWD/log.{pid}.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanbar%2Flibobksftp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanbar%2Flibobksftp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanbar%2Flibobksftp/lists"}