Kingbase数据库备份




逻辑备份


  1. 逻辑备份的格式有两种:二进制文件和sql脚本
  2. 备份选项:库,模式(-n),表(-t),结构(-s),数据(-a),
  3. 还原选项:完全,只还原部分/还原铅删除已存在对象(-c),不还原属主(-O),
  4. 备份方法:对象管理工具逻辑备份功能,或者sys_dump
  5. 还原方法
  6. 二级制格式需要通过对象管理工具逻辑还原和功能或者sys_restore
  7. sql格式通过对象管理工具执行sql脚本或者ksql工具


二进制格式


sys_dump -h ip -p 端口 -U 用户 -Fc -d 库名 -f 备份路径/xxx.dmp

sys_restore -h ip -p端口 -U 用户 -d 库名 备份路径/xxx.dmp


模式


sys_dump -h ip -p 端口 -U 用户 -Fc -d 库名 -n 模式名 -f 备份路径/xxx.dmp
#1.还原同名模式:
sys_restore -h ip -p端口 -U 用户 -O -x -d 库名 -n 模式名 备份路径/xxx.dmp
#2.还原不同名模式:
sys_restore -h ip -p端口 -U 用户 -O -x -d 库名 -g 原模式名 -G目标模式名 备份路径/xxx.dmp



#多表的话,-t 't1' -t 't2'
sys_dump -h ip -p 端口 -U 用户 -Fc -d 库名 -t '模式名.表名' -f 备份路径/xxx.dmp
#1.还原同名模式:
sys_restore -h ip -p端口 -U 用户 -O -x -d 库名 -n 模式名 备份路径/xxx.dmp
#2.还原不同名模式:
sys_restore -h ip -p端口 -U 用户 -O -x -d 库名 -g 原模式名 -G目标模式名 备份路径/xxx.dmp


SQL格式


sys_dump -h ip -p 端口 -U 用户 -d 库名 -f 备份路径/xxx.sql
ksql -h ip -p端口 -U 用户 -d 库名 -f 备份路径/xxx.sql


数据库启动停止


kingbase用户执行

sys_ctl -D ~/data start/stop/restart


开发环境实例


**pg数据库自动备份脚本**
```bath
@ECHO OFF

@setlocal enableextensions

@cd /d "%~dp0"

SET PGPATH=C:\"Program Files"\PostgreSQL\10\bin\

SET SVPATH=C:\\XQGL\BFWJ\

SET PRJDB=XQGZ

SET DBUSR=XQGZ

SET PGPASSWORD=密码

FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k

FOR /F "TOKENS=1,2,3 DELIMS=: " %%i IN ('TIME /T') DO SET t=%%i%%j%%k

echo XQGLDB BFZ...

SET DBDUMP=%PRJDB%_%d%_%t%.backup

@ECHO OFF

%PGPATH%pg_dump -h localhost -p 5432 -F c -U %DBUSR% -d %PRJDB% -f %SVPATH%%DBDUMP%

echo Backup Taken Complete %SVPATH%%DBDUMP%
```

**Oracle数据库自动备份脚本**
```bath
@echo off

set CURRENT_DATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURRENT_TIME=%time:~0,2%%time:~3,2%%time:~6,2%
set FILE_NAME=DB_BAK_%CURRENT_DATE%%CURRENT_TIME%
echo %FILE_NAME%

expdp lccs019999/YDXMB0415ytsx@10.110.85.138/orclpdb schemas=lccs019999 directory=DATA_PUMP_DIR dumpfile=%FILE_NAME%.dmp logfile=%FILE_NAME%.log
```

**金仓数据库自动备份脚本**
```
@echo off

set CURRENT_DATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURRENT_TIME=%time:~0,2%%time:~3,2%%time:~6,2%
set FILE_NAME=DB_BAK_%CURRENT_DATE%%CURRENT_TIME%
echo %FILE_NAME%

sys_dump -h127.0.0.1 -p54323 -Usystem -v --lock-wait-timeout=5000 -f C:\db_backup\%FILE_NAME%.dump 104 >> C:\db_backup\%FILE_NAME%.log
```
/opt/Kingbase/ES/V8/Server/bin/sys_dump -Usystem -d100 -v -f /home/kingbase/db_backup/db_100_$(date '+%Y%m%d').dump
/opt/Kingbase/ES/V8/Server/bin/sys_dump -Usystem -d101 -v -f /home/kingbase/db_backup/db_101_$(date '+%Y%m%d').dump
/opt/Kingbase/ES/V8/Server/bin/sys_dump -Usystem -d104 -v -f /home/kingbase/db_backup/db_104_$(date '+%Y%m%d').dump



0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
Edgecliff
下载 APP