我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何执行SQL语句进行表备份

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何执行SQL语句进行表备份

这篇文章主要介绍“如何执行SQL语句进行表备份”,在日常操作中,相信很多人在如何执行SQL语句进行表备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何执行SQL语句进行表备份”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

与备份数据库与表空间不同,备份表不需要服务器配置归档,DIsql中输入以下即可备份用户表:

SQL> backup table t1 backupset 'tab_t1_bak_01';
executed successfully
used time: 00:00:14.215. Execute id is 77.
SQL> select * from v$backupset where backup_path like '+DMDATA/data/rac/bak/tab%';
LINEID     DEVICE_TYPE BACKUP_ID   PARENT_ID   BACKUP_NAME                   BACKUP_PATH                        TYPE        LEVEL       RANGE#      OBJECT_NAME OBJECT_ID   BASE_NAME BACKUP_TIME                 DESC# ENCRYPT_TYPE COMPRESS_LEVEL WITHOUT_LOG USE_PWR     PKG_SIZE    BEGIN_LSN            END_LSN              BKP_NUM     DBF_NUM     PARALLEL_NUM DDL_CLONE   MPP_FLAG    MIN_TRX_START_LSN    MIN_EXEC_VER CUMULATIVE
---------- ----------- ----------- ----------- ----------------------------- ---------------------------------- ----------- ----------- ----------- ----------- ----------- --------- --------------------------- ----- ------------ -------------- ----------- ----------- ----------- -------------------- -------------------- ----------- ----------- ------------ ----------- ----------- -------------------- ------------ -----------
1          DISK        -1366932633 -1          TAB_T1_20200529_144738_000092 +DMDATA/data/rac/bak/tab_t1_bak_01 2           0           3           SYSDBA.T1   -1                    2020-05-29 14:47:45.000864        0            0              0           0           33554432    50908                51025                1           0           1            0           0           49398                117507596    0
used time: 00:00:01.064. Execute id is 79.

备份集“tab_t1_bak_01”会生成到默认的备份路径下。如要设置其他备份选项需参考下文的备份表语法。
语法如下:

BACKUP TABLE < 表名>
[TO < 备份名>]
BACKUPSET ['< 备份集路径>'] [DEVICE TYPE < 介质类型> [PARMS '< 介质参数>']]
[BACKUPINFO '< 备份集描述>']
[MAXPIECESIZE < 备份片限制大小>]
[IDENTIFIED BY < 加密密码>[WITH ENCRYPTION][ENCRYPT WITH < 加密算法>]]
[COMPRESSED [LEVEL < 压缩级别>]]
[TRACE FILE ''] [TRACE LEVEL ]

TABLE:指定备份的表,只能备份用户表。

TO:指定生成备份名称。若未指定,系统随机生成,默认备份名格式为:DB_备份类型_表名_备份时间。其中,备份时间为开始备份的系统时间。

BACKUPSET:指定当前备份集生成路径,若指定为相对路径,则在默认备份路径中生成备份集。若不指定具体备份集路径,则在默认备份路径下以约定规则生成默认的表备份集目录。表备份默认备份集目录名生成规则:TAB_表名_BTREE_时间,如
TAB_T1_BTREE_20160518_143057_123456。表明该备份集为2016年5月18日14时30分57秒123456毫秒时生成的表名为T1的表备份集。若表名超长,使上述完整名称长度大于128个字节,则去掉表名字段,调整为TAB_BTREE_时间。

DEVICE TYPE:指存储备份集的介质类型,表备份暂时只支持DISK,表示存储备份集到磁盘。

PARMS:只对介质类型为TAPE时有效。

BACKUPINFO:备份的描述信息。最大不超过256个字节。

MAXPIECESIZE:最大备份片文件大小上限,以M为单位,最小128M,32位系统最大2G,64位系统最大128G。

IDENTIFIED BY:指定备份时的加密密码。密码应用双引号括起来,这样避免一些特殊字符通不过语法检测。密码的设置规则遵行ini参数pwd_policy指定的口令策略。

WITH ENCRYPTION:指定加密类型,0表示不加密,不对备份文件进行加密处理;1表示简单加密,对备份文件设置口令,但文件内容仍以明文存储;2表示完全数据加密,对备份文件进行完全的加密,备份文件以密文方式存储。

ENCRYPT WITH:加密算法。缺省情况下,算法为AES256_CFB。

加密算法包括:

DES_ECB、DES_CBC、DES_CFB、DES_OFB、DESEDE_ECB、
DESEDE_CBC、DESEDE_CFB、DESEDE_OFB、AES128_ECB、
AES128_CBC、AES128_CFB 、AES128_OFB、AES192_ECB、
AES192_CBC、AES192_CFB 、AES192_OFB、AES256_ECB、
AES256_CBC、AES256_CFB 、AES256_OFB 、RC4

COMPRESSED:取值范围0~9。0表示不压缩,1表示1级压缩,9表示9级压缩。压缩级别越高,压缩越慢,但压缩比越高。若未指定,但指定COMPRESSED,则默认1;否则,默认0。

TRACE FILE:指定生成的TRACE文件。启用TRACE,但不指定TRACE FILE时,默认在DM数据库系统的log目录下生成DM_SBTTRACE_年月.LOG文件;若使用相对路径,则生成在执行码同级目录下。若用户指定,则指定的文件不能为已经存在的文件,否则报错;也不可以为ASM文件。

TRACE LEVEL:有效值1、2,默认为1表示不启用TRACE,此时若指定了TRACE FILE,会生成TRACE文件,但不写入TRACE信息;为2启用TRACE并写入TRACE相关内容。

使用说明:
1. 支持对用户的非分区行存储表和堆表进行备份。其中,系统表、临时表、物化视图表、物化视图附属表和日志表、特定模式(DBG_PKG/INFORMATION_SCHEMA/INFO_SCHEM/SYSREP/SYSGEO/SYSJOB/SYSCPT/SYS)下的表不支持备份。表列类型为对象类型的表不支持表备份。表备份不备份表上的注释,default表达式中函数定义,所以还原时需用户自行确认。
2. 当备份数据超过限制大小时,会生成新的备份文件,新的备份文件名是初始文件名后加文件编号。
3. 表备份时,其所属表空间必须处于联机状态。
4. 目前表备份不支持备份到TAPE介质上。

2. 设置备份选项
表备份常用的备份选项有设置备份名、设置备份集路径、指定介质参数、添加备份描述等,设置方式同数据库备份相同。

3. 备份表
表备份拷贝指定表所使用的所有数据页到备份集中,并记录各个数据页之间的逻辑关系用来恢复表数据结构。表备份均为联机完全备份,不需要备份归档日志,不存在增量备份之说。当数据库中某张表比较重要而又没必要备份整个数据库或表空间时就可以选择表备份。完整的备份表步骤如下:
1) 保证数据库处于OPEN状态。
2) 创建待备份的表TAB_01:

SQL> create table tab_01(c1 int);
executed successfully
used time: 32.117(ms). Execute id is 80.

3) DIsql中输入备份表语句,简单的备份语句如下:

SQL> backup table tab_01 to tab_tab_01_backup_20200529 backupset 'table_tab_01_backup_20200529';
executed successfully
used time: 00:00:13.981. Execute id is 81.

上面的语句将在默认备份目录+DMDATA/data/rac/bak(由BAK_PATH参数所指定)中生成备份集

SQL> select * from v$backupset where backup_path='+DMDATA/data/rac/bak/table_tab_01_backup_20200529';
LINEID     DEVICE_TYPE BACKUP_ID   PARENT_ID   BACKUP_NAME                BACKUP_PATH                                       TYPE        LEVEL       RANGE#      OBJECT_NAME   OBJECT_ID   BASE_NAME BACKUP_TIME                 DESC# ENCRYPT_TYPE COMPRESS_LEVEL WITHOUT_LOG USE_PWR     PKG_SIZE    BEGIN_LSN            END_LSN              BKP_NUM     DBF_NUM     PARALLEL_NUM DDL_CLONE   MPP_FLAG    MIN_TRX_START_LSN    MIN_EXEC_VER CUMULATIVE
---------- ----------- ----------- ----------- -------------------------- ------------------------------------------------- ----------- ----------- ----------- ------------- ----------- --------- --------------------------- ----- ------------ -------------- ----------- ----------- ----------- -------------------- -------------------- ----------- ----------- ------------ ----------- ----------- -------------------- ------------ -----------
1          DISK        2025284018  -1          TAB_TAB_01_BACKUP_20200529 +DMDATA/data/rac/bak/table_tab_01_backup_20200529 2           0           3           SYSDBA.TAB_01 -1                    2020-05-29 15:08:24.000485        0            0              0           0           33554432    50908                51055                1           0           1            0           0           49398                117507596    0
used time: 00:00:01.063. Execute id is 82.

到此,关于“如何执行SQL语句进行表备份”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何执行SQL语句进行表备份

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mdb中如何执行sql语句

在MDB(Microsoft Access数据库)中执行SQL语句,可以通过以下步骤完成:1. 打开Microsoft Access软件。2. 在主界面上选择“数据库工具”选项卡。3. 在“查询”组中选择“查询设计”。4. 在“设计”视图中
2023-10-12

Entity Framework中如何执行sql语句

这篇文章主要介绍Entity Framework中如何执行sql语句,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、为什么要在EF中执行SQL语句使用EF操作数据库,可以避免写SQL语句,完成使用Linq实现,但为
2023-06-29

如何在MongoDB中使用SQL语句进行数据备份和恢复?

如何在MongoDB中使用SQL语句进行数据备份和恢复?摘要:MongoDB是一个非关系型数据库,而SQL是关系型数据库的查询语言。但是,有些时候,我们可能需要使用SQL语句来备份和恢复MongoDB中的数据。本文将介绍如何在MongoDB
如何在MongoDB中使用SQL语句进行数据备份和恢复?
2023-12-17

如何使用SQL语句在MySQL中进行数据备份和恢复?

如何使用SQL语句在MySQL中进行数据备份和恢复?在数据库中,数据备份和恢复是非常重要的操作,可以保证数据的安全性并且在遇到意外情况时能够迅速恢复数据。MySQL是一个非常常用的关系型数据库,它提供了多种方式来进行数据备份和恢复,其中一种
如何使用SQL语句在MySQL中进行数据备份和恢复?
2023-12-17

sql语句执行过慢如何优化

优化 SQL 语句的执行速度可以采取以下几种方法:1. 索引优化:确保表的关键字段上创建了正确的索引,以加快查询速度。可以使用 EXPLAIN 关键字来查看 SQL 语句的执行计划,并根据执行计划来优化索引。2. 避免全表扫描:尽量避免在
2023-08-19

java如何使用jdbc执行sql语句

Java使用JDBC执行SQL语句JDBC允许Java程序与数据库交互。执行SQL语句包括:加载JDBC驱动程序建立数据库连接创建Statement对象(PreparedStatement或Statement)执行SQL语句处理结果(如有)释放资源示例:Connectionconn=DriverManager.getConnection(...);Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery("SELECT*FROMt
java如何使用jdbc执行sql语句
2024-04-11

sql语句执行失败如何解决

当SQL语句执行失败时,可以采取以下步骤进行解决:1. 检查SQL语句的语法:确保SQL语句没有拼写错误、语法错误或者缺少必要的关键字。可以使用SQL编辑器或在线的SQL验证工具进行语法检查。2. 检查数据表和字段名:确保SQL语句中使用的
2023-09-23

java如何使用jdbc执行sql语句

要使用Java中的JDBC执行SQL语句,你需要执行以下步骤:1. 导入JDBC相关的包:```javaimport java.sql.*;```2. 加载JDBC驱动程序:```javaClass.forName("com.mysql.c
2023-09-20

如何在SQLServer中执行动态SQL语句

在SQL Server 中执行动态 SQL 语句通常可以通过以下几种方式实现:使用 sp_executesql 存储过程:sp_executesql 是 SQL Server 提供的一个用于执行动态 SQL 语句的存储过程。通过将动态 SQ
如何在SQLServer中执行动态SQL语句
2024-04-09

编程热搜

目录