說明
- 公司這邊有神通數據庫v7.0的開發測試環境, 數據庫廠商告知數據庫的版本進行了升級, 並且某些版本可能不能實現本地升級. 需要進行備份恢復后的升級.
- 前期進行過很多次Oracle,sqlserver商業數據庫以及mysql,PG開源數據庫的備份恢復. 國產數據庫的備份恢復資料相對比較少一些, 這里匯集了一些資料,簡單總結一下已做備忘.
資料來源
- 原廠工程師的支持,以及csdn的資料
https://blog.csdn.net/asd051377305/article/details/108766792
備份過程
- 備份數據庫, 我這邊是一個單獨一個數據庫實例的數據庫,所以直接進行相關的處理.
osrexp -uyoudatabasename/"Yourpassword?!" -h127.0.0.1 -p2003 file=/youdatabasename.osr log=/youdatabasename.log -dosrdb
# 注意如果/opt/ShenTong/bin 沒有在環境變量中 需要在該目錄下進行 ./osrep 進行處理.
# 注意 -u 指定用戶名 密碼如果有特殊字符的話建議使用 引號括起來.
# 注意 -d 指定的是數據庫的實例, 這個里面需要是說明是 是初始數據庫的id.
恢復過程-用戶維護
- 需要說明一下: 與Oracle的備份類似, 需要先創建數據庫的表空間和用戶, 不然 osrimp會出現錯誤.
cd /opt/ShenTong/bin
./isql # 執行數據庫的命令, 默認用戶是sysdba, 默認密碼 szoscar55
# 登錄之后可以進行創建
create tablespace youdatabasename datafile '/opt/ShenTong/odbs/OSRDB/youdatabasename.dbf' ;
# 創建表空間, 注意需要包含表空間
# 官方說明 數據庫會自動擴展大小,大小幾乎無限制.
create user youdatabasename with password 'Yourpassword?!' default tablespace youdatabasename role sysdba;
# 注意 user 后面立即跟着 密碼 default 在后面
# 注意 role 角色 測試環境可以直接使用 sysdba, 生產環境需要進行處理
恢復過程-備份恢復
osrimp -usysdba/szoscar55 -h127.0.0.1 -p2003 -dosrdb file=/youdatabasename.osr log=/youdatabasename.log ignore=true checkvalidate=false
# 注意 一個2g的備份文件 產生了 9g的數據庫數據文件
# 這里將 ignor 設置為 true 以及 checkvalidate 設置為false 避免出現異常.