达梦数据库备份还原

备份分为两种:物理备份和逻辑备份。

物理备份备份的是使用过有效的数据页,对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)。

逻辑备份主要备份的是数据库对象(表、视图、索引等),逻辑备份可以用来数据迁移,历史数据归档。

1.1 物理备份还原

物理备份又分为脱机备份(冷备)和联机备份(热备)两种备份方式。

冷备(DmAPService是打开的,数据库是关闭的)
热备(DmAPService是打开的,数据库是打开的,数据库要打开归档)

1.冷备

冷备有两种方式:console工具、dmrman工具

(1)console工具备份

   **1.确定DmAPService是否打开的

[dmdba@localhost bin]$ ./DmAPService status
DmAPService (pid 22440) is running.

   **2.关闭数据库

[dmdba@localhost bin]$ ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER:                                [ OK ]

**3.建好备份文件夹

[dmdba@localhost dm8]$ mkdir -p backup
[dmdba@localhost dm8]$ ls
backuo  data     include         license_zh.txt  tool
backup  desktop  jar             log             uninstall
bin     doc      jdk             samples         uninstall.sh
bin2    drivers  license_en.txt  script          web

**4.开始备份啦 

[dmdba@localhost tool]$ ./console

(Console:78964): GLib-GObject-WARNING **: 04:21:04.900: invalid (NULL) pointer instance

(Console:78964): GLib-GObject-CRITICAL **: 04:21:04.900: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(Console:78964): Gtk-CRITICAL **: 04:21:04.900: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(Console:78964): Gtk-WARNING **: 04:21:04.909: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window

(Console:78964): Gtk-WARNING **: 04:21:04.909: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_display_get_pointer: assertion 'GDK_IS_DISPLAY (display)' failed

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_screen_get_monitor_at_point: assertion 'GDK_IS_SCREEN (screen)' failed

(Console:78964): Gtk-WARNING **: 04:21:04.909: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_screen_get_n_monitors: assertion 'GDK_IS_SCREEN (screen)' failed

(Console:78964): Gtk-WARNING **: 04:21:04.909: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_screen_get_monitor_geometry: assertion 'GDK_IS_SCREEN (screen)' failed

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_colormap_get_visual: assertion 'GDK_IS_COLORMAP (colormap)' failed

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed

(Console:78964): Gdk-CRITICAL **: 04:21:04.909: IA__gdk_window_new: assertion 'GDK_IS_WINDOW (parent)' failed
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f237dcb32c7, pid=78964, tid=139790923097856
#
# JRE version: OpenJDK Runtime Environment (8.0_20-b26) (build 1.8.0_20-b26)
# Java VM: OpenJDK 64-Bit Server VM (25.20-b23 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libgdk-x11-2.0.so.0+0x7b2c7]  gdk_window_enable_synchronized_configure+0x7
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /dm8/tool/hs_err_pid78964.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
./console: 行 17: 78964 已放弃               (吐核)"$JAVA_HOME/bin/java" -XX:+PerfDisableSharedMem -DDM_HOME="$DM_HOME" -Djava.library.path="$DM_HOME/bin" -Ddameng.log.file="$TOOL_HOME/log4j.xml" -DeclipseHome="$TOOL_HOME" -Dosgi.nl="$INSTALL_LANGUAGE" -Ddameng.dts.explorer.root="$TOOL_HOME/workspace/local/dts" -Ddameng.isql.explorer.root="$TOOL_HOME/workspace/local/isql" -Duse_bak2=true -Dapp.name=console -jar "$TOOL_HOME/plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar" -os linux -ws gtk -arch x86_64 -showsplash "$TOOL_HOME/console.bmp" -data "$TOOL_HOME/workspace/console" -product com.dameng.console.product -name Console

一旦发现有这个问题,还是图形化界面打不开的原因,先解决图形化界面打开问题

[dmdba@localhost ~]$ echo $DISPLAY
localhost:11.0
[dmdba@localhost ~]$ export DISPLAY=localhost:11.0
[dmdba@localhost ~]$ xhost +
access control disabled, clients can connect from any host

好,继续备份的事情:

 

 点击确定,备份成功。


完全备份与增量备份的区别:

完全备份:完全备份是指一个备份包含指定数据库或表空间的所有数据

增量备份:增量备份是指在一次备份或者上一次增量备份后,以后每次的备份只需要与前一次相比增加或者被修改的文件


(2)dmrman工具备份

[dmdba@localhost tool]$ cd /dm8/bin 
[dmdba@localhost bin]$ ./dmrman 
RMAN> backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup';

2.热备

热备有两种方式:manager 工具disql 工具

(1)manager

 **1.确定DmAPService是否打开的

[dmdba@localhost bin]$ ./DmAPService status
DmAPService (pid 22440) is running.

  **2.确定数据库是否打开的

[dmdba@localhost bin]$ ./DmServiceDMSERVER start
DmServiceDMSERVER (pid 7878) is running.

  **3.确定是否打开归档

[dmdba@localhost bin]$ ./disql
disql V8
用户名:sysdba
密码:

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.916(ms)
SQL> select name,arch_mode from v$database;

行号     NAME   ARCH_MODE
---------- ------ ---------
1          DAMENG N

已用时间: 1.735(毫秒). 执行号:1700.

 使用manager工具开启归档

[dmdba@localhost bin]$ mkdir -p /dm8/arch
[dmdba@localhost bin]$ cd ../tool
[dmdba@localhost tool]$ ./manager

 

 

  **4.开始备份啦

3.还原

先检查备份集的有效性

MAN> check backupset '/dm8/backup'
check backupset '/dm8/backup'
check backupset successfully.
time used: 13.518(ms)

**1.关闭数据库实例

[dmdba@localhost tool]$ cd ../bin
[dmdba@localhost bin]$ ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER:                                [ OK ]

**2.通过工具(console)或者命令(dmrman)进行还原(下面以console来进行还原)


还原:就是将某个时间点的数据库副本(备份)拷贝到对应的目录下

恢复:就是在完成数据库还原之后,应用部分或者全部归档日志


**3.使用归档日志进行恢复

**4.更新DB_Magic(一旦更新了DB_Magic,备份就没有用了)

1.1 逻辑备份恢复

        达梦数据库逻辑备份工具可以对本地或者远程数据库进行数据库级、模式级和表级的逻辑备份。备份的内容非常灵活,可以选择是否备份索引、数据行和权限,是否忽略各种约束(外键约束、非空约束、唯一约束等)。

逻辑备份还原分为这几种级别:(通俗讲,你在manager工具下,在模式下选择导出的模式就是模式级别,你在用户下选择导出的用户就是用户模式。)
  • 库级别
  • 用户级别
  • 模式级别
  • 表级别

 下面是库级别的示例:

1.备份

2.恢复

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值