openGauss基于自定义条件下的高级恢复

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: openGauss基于自定义条件下的高级恢复

前言

gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss实例进行定期备份,以便在数据库出现故障时能够恢复服务器。

  • 可用于备份单机数据库,也可对主机或者主节点数据库备机进行备份,为物理备份。
  • 可备份外部目录的内容,如脚本文件、配置文件、日志文件、dump文件等。
  • 支持增量备份、定期备份和远程备份。
  • 可设置备份的留存策略。

本文是对gs_probackup的基于特定条件下的增量恢复测试

前提条件

  • 可以正常连接openGauss数据库。
  • 若要使用PTRACK增量备份,需在postgresql.conf中手动添加参数“enable_cbm_tracking = on”。
  • 为了防止xlog在传输结束前被清理,请适当调高postgresql.conf文件中wal_keep_segements的值。

一、 高级恢复

1. 构建环境

准备一个有gs_probackup的单机环境

(1) 备份

  • 备份
[omm@node1 ~]$ gs_probackup backup -B /opt/mogdb/backup_dir --instance instance1 -b FULL
INFO: Backup start, gs_probackup version: 2.4.2, instance: instance1, backup ID: RJ5YES, backup mode: FULL, wal mode: STREAM, remote: false, compress-algorithm: none, compress-level: 1
LOG: Backup destination is initialized
LOG: This openGauss instance was initialized with data block checksums. Data block corruption will be detected
LOG: Database backup start
INFO: Cannot parse path "base"
LOG: started streaming WAL at 0/1D000000 (timeline 1)
[2022-10-03 14:08:52]: check identify system success
[2022-10-03 14:08:52]: send START_REPLICATION 0/1D000000 success
[2022-10-03 14:08:52]: keepalive message is received
[2022-10-03 14:08:52]: keepalive message is received
INFO: PGDATA size: 619MB
INFO: Start transferring data files
LOG: Creating page header map "/opt/mogdb/backup_dir/backups/instance1/RJ5YES/page_header_map"
INFO: Data files are transferred, time elapsed: 0
INFO: wait for pg_stop_backup()
INFO: pg_stop backup() successfully executed
LOG: stop_lsn: 0/1D000308
LOG: Looking for LSN 0/1D000308 in segment: 00000001000000000000001D
LOG: Found WAL segment: /opt/mogdb/backup_dir/backups/instance1/RJ5YES/database/pg_xlog/00000001000000000000001D
LOG: Thread [0]: Opening WAL segment "/opt/mogdb/backup_dir/backups/instance1/RJ5YES/database/pg_xlog/00000001000000000000001D"
LOG: Found LSN: 0/1D000308
[2022-10-03 14:08:57]:(null): not renaming "/opt/mogdb/backup_dir/backups/instance1/RJ5YES/database/pg_xlog/00000001000000000000001E", segment is not complete.
LOG: finished streaming WAL at 0/1E0000C8 (timeline 1)
LOG: Getting the Recovery Time from WAL
LOG: Thread [0]: Opening WAL segment "/opt/mogdb/backup_dir/backups/instance1/RJ5YES/database/pg_xlog/00000001000000000000001D"
INFO: Syncing backup files to disk
INFO: Backup files are synced, time elapsed: 0
INFO: Validating backup RJ5YES
INFO: Backup RJ5YES data files are valid
INFO: Backup RJ5YES resident size: 651MB
INFO: Backup RJ5YES completed

(2) 构建测试环境

  • 创建一个还原点
[omm@node1 ~]$ gsql -d postgres -p26000 -r
gsql ((openGauss 3.1.0 build 2c0ccaf9) compiled at 2022-09-25 19:32:58 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
openGauss=# select pg_create_restore_point('restore_1');
 pg_create_restore_point
-------------------------
 0/1E0001B8
(1 row)
  • 创建测试表 t1
openGauss=# create table t1(id int);
CREATE TABLE
openGauss=# insert into t1 values(1);
INSERT 0 1
openGauss=# select pg_switch_xlog();
 pg_switch_xlog
----------------
 0/1E002038
(1 row)
openGauss=# select pg_switch_xlog();
 pg_switch_xlog
----------------
 0/1F000208
(1 row)
openGauss=#
  • 记录位置
openGauss=# select pg_current_xlog_location(),pg_xlogfile_name(pg_current_xlog_location()),txid_current(),now();
 pg_current_xlog_location |     pg_xlogfile_name     | txid_current |              now
--------------------------+--------------------------+--------------+-------------------------------
 0/200001E8               | 000000010000000000000020 |        21140 | 2022-10-03 14:09:52.749551+08
(1 row)
  • 创建测试表 t2
openGauss=# create table t2(id int);
CREATE TABLE
openGauss=# insert into t2 values(2);
INSERT 0 1
openGauss=# select pg_switch_xlog();
 pg_switch_xlog
----------------
 0/20002088
(1 row)
openGauss=# select pg_switch_xlog();
 pg_switch_xlog
----------------
 0/21000288
(1 row)
  • 记录位置
openGauss=# select pg_current_xlog_location(),pg_xlogfile_name(pg_current_xlog_location()),txid_current(),now();
 pg_current_xlog_location |     pg_xlogfile_name     | txid_current |              now
--------------------------+--------------------------+--------------+-------------------------------
 0/220001E8               | 000000010000000000000022 |        21145 | 2022-10-03 14:10:09.813644+08
(1 row)

(3) 恢复

[omm@node1 ~]$ gs_ctl stop -D /opt/mogdb/data
[2022-10-03 14:10:29.933][18256][][gs_ctl]: gs_ctl stopped ,datadir is /opt/mogdb/data
waiting for server to shut down.... done
server stopped
[omm@node1 ~]$ mv /opt/mogdb/data /opt/mogdb/data.bak
[omm@node1 ~]$ gs_probackup show -B /opt/mogdb/backup_dir/
BACKUP INSTANCE 'instance1'
====================================================================================================================================
 Instance   Version  ID      Recovery Time           Mode  WAL Mode  TLI  Time   Data   WAL  Zratio  Start LSN   Stop LSN    Status
====================================================================================================================================
 instance1  9.2      RJ5YES  2022-10-03 14:08:52+08  FULL  STREAM    1/0    5s  635MB  16MB    0.97  0/1D000028  0/1D000308  OK
[omm@node1 ~]$  gs_probackup restore -B /opt/mogdb/backup_dir/ -D /opt/mogdb/data --instance instance1 -i RJ5YES
LOG: Restore begin.
LOG: there is no file tablespace_map
LOG: check tablespace directories of backup RJ5YES
LOG: check external directories of backup RJ5YES
WARNING: Process 18188 which used backup RJ5YES no longer exists
INFO: Validating backup RJ5YES
INFO: Backup RJ5YES data files are valid
LOG: Thread [1]: Opening WAL segment "/opt/mogdb/backup_dir/backups/instance1/RJ5YES/database/pg_xlog/00000001000000000000001D"
INFO: Backup RJ5YES WAL segments are valid
INFO: Backup RJ5YES is valid.
INFO: Restoring the database from backup at 2022-10-03 14:08:52+08
LOG: there is no file tablespace_map
LOG: Restore directories and symlinks...
INFO: Start restoring backup files. PGDATA size: 635MB
LOG: Start thread 1
INFO: Backup files are restored. Transfered bytes: 651MB, time elapsed: 1s
INFO: Restore incremental ratio (less is better): 103% (651MB/635MB)
INFO: Syncing restored files to disk
INFO: Restored backup files are synced, time elapsed: 0
INFO: Restore of backup RJ5YES completed.

(4) recovery.conf

  • 文件配置介绍
####  归档恢复配置  ####
restore_command = 'cp /gauss/bak/archive/%f %p'                      ## 该SHELL命令获取已归档的WAL文件。
archive_cleanup_command = 'pg_archivecleanup /gauss/bak/archive %r'  ## 清理备库WAL归档日志的shell命令,每次重启时会执行
recovery_end_command = string                                        ## (可选) 在恢复完成时执行的SHELL命令,为以后的复制或恢复提供一个清理机制
## 说明:
##  %f即归档检索中的文件名,%p即复制目的地的路径名,%r最新可用重启点的文件名
##  如果多个备机从相同的归档路径恢复时,需要确保该路径存在所有备机恢复所需要的WAL文件。
#### 恢复目标设置(四选一) ####
recovery_target_name = 'restore_point_1'      ## 还原到一个使用pg_create_restore_point()创建的还原点
recovery_target_time = '2020-01-01 12:00:00'  ## 还原到一个指定时间戳
recovery_target_xid = '3000'                  ## 还原到一个事务ID
recovery_target_lsn = '0/0FFFFFF'             ## 还原到日志的指定LSN点
recovery_target_inclusive = true              ## 声明是否在指定恢复目标之后停止(true) 或 之前停止(false),不支持recovery_target_name 配置
## 注意:如果不配置任何恢复目标 或 配置目标不存在,则默认恢复到最新的WAL日志点。

2. 基于还原点

  • 恢复
[omm@node1 data]$ cat /opt/mogdb/data/recovery.conf
restore_command = 'cp /opt/mogdb/data.bak/pg_xlog/%f %p'
recovery_target_name = 'restore_1'      ## 恢复到指定的还原点restore_point_1,此时还没有创建表t1和t2
##recovery_target_xid = '21140' ## 表t1存在,t2不存在
##recovery_target_lsn = '0/220001E8' ## 表t1,t2在
##recovery_target_time = '2022-10-03 14:10:10' ## 表t1存在,t2存在
recovery_target_inclusive = true
[omm@node1 data]$ gs_ctl start -D /opt/mogdb/data
[2022-10-03 13:18:41.285][14515][][gs_ctl]: gs_ctl started,datadir is /opt/mogdb/data
[2022-10-03 13:18:41.310][14515][][gs_ctl]: waiting for server to start...
...
...
[2022-10-03 13:18:42.331][14515][][gs_ctl]:  done
[2022-10-03 13:18:42.331][14515][][gs_ctl]: server started (/opt/mogdb/data)
  • 查看数据
[omm@node1 data]$ gsql -d postgres -p26000 -r
gsql ((openGauss 3.1.0 build 2c0ccaf9) compiled at 2022-09-25 19:32:58 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
openGauss=# \d
  • 查看日志
[omm@node1 data]$ grep -C 3 "restore_1" /opt/mogdb/log/pg_log/dn_6001/postgresql-2022-10-03_141216.log
2022-10-03 14:12:16.326 [unknown] [unknown] localhost 47291718698752 0[0:0#0] 0 [BACKEND] LOG:  database system timeline: 11
2022-10-03 14:12:16.326 [unknown] [unknown] localhost 47291718698752 0[0:0#0] 0 [BACKEND] LOG:  database system was interrupted; last known up at 2022-10-03 14:08:52 CST
2022-10-03 14:12:16.326 [unknown] [unknown] localhost 47291718698752 0[0:0#0] 0 [BACKEND] LOG:  creating missing WAL directory "pg_xlog/archive_status"
2022-10-03 14:12:16.327 [unknown] [unknown] localhost 47291718698752 0[0:0#0] 0 [BACKEND] LOG:  starting point-in-time recovery to "restore_1"
2022-10-03 14:12:16.327 [unknown] [unknown] localhost 47291718698752 0[0:0#0] 0 [BACKEND] LOG:  request archive recovery due to backup label file
2022-10-03 14:12:16.337 [unknown] [unknown] localhost 47291718698752 0[0:0#0] 0 [BACKEND] LOG:  restored log file "00000001000000000000001D" from archive
2022-10-03 14:12:16.352 [unknown] [unknown] localhost 47291718698752 0[0:0#0] 0 [DBL_WRT] LOG:  Init of double write for ext finished.

3. 基于xid

  • 恢复
 cat /opt/mogdb/data/recovery.conf
restore_command = 'cp /opt/mogdb/data.bak/pg_xlog/%f %p'
##recovery_target_name = 'restore_1'      ## 恢复到指定的还原点restore_point_1,此时还没有创建表t1和t2
recovery_target_xid = '21140' ## 表t1存在,t2不存在
##recovery_target_lsn = '0/220001E8' ## 表t1,t2在
##recovery_target_time = '2022-10-03 14:10:10' ## 表t1存在,t2存在
recovery_target_inclusive = true
[omm@node1 data]$ gs_ctl restart -D /opt/mogdb/data
[2022-10-03 14:13:12.721][18392][][gs_ctl]: gs_ctl restarted ,datadir is /opt/mogdb/data
waiting for server to shut down... done
server stopped
[2022-10-03 14:13:13.737][18392][][gs_ctl]: waiting for server to start...
...
...
[2022-10-03 14:13:14.754][18392][][gs_ctl]:  done
[2022-10-03 14:13:14.754][18392][][gs_ctl]: server started (/opt/mogdb/data)
  • 查看数据
[omm@node1 data]$ gsql -d postgres -p26000 -r
gsql ((openGauss 3.1.0 build 2c0ccaf9) compiled at 2022-09-25 19:32:58 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
openGauss=# \d
                        List of relations
 Schema | Name | Type  | Owner |             Storage
--------+------+-------+-------+----------------------------------
 public | t1   | table | omm   | {orientation=row,compression=no}
(1 row)
openGauss=# \q
  • 查看日志
[omm@node1 data]$ grep -C 3 "21140" /opt/mogdb/log/pg_log/dn_6001/postgresql-2022-10-03_141314.log
2022-10-03 14:13:14.384 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] LOG:  StartupXLOG: biggest_lsn_in_page is set to FFFFFFFF/FFFFFFFF, enable_update_max_page_flush_lsn:0
2022-10-03 14:13:14.384 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] LOG:  database system timeline: 12
2022-10-03 14:13:14.384 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] LOG:  database system was shut down in recovery at 2022-10-03 14:13:12 CST
2022-10-03 14:13:14.384 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] LOG:  starting point-in-time recovery to XID 21140
2022-10-03 14:13:14.393 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] LOG:  restored log file "00000001000000000000001D" from archive
2022-10-03 14:13:14.407 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [DBL_WRT] LOG:  Init of double write for ext finished.
2022-10-03 14:13:14.407 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [DBL_WRT] LOG:  Double Write init
--
2022-10-03 14:13:14.546 omm postgres localhost 47760799241984 0[0:0#0] 0 [BACKEND] LOG:  Mem-file chain of standby_statement_history_slow init done and online.
2022-10-03 14:13:14.556 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] LOG:  restored log file "000000010000000000000020" from archive
2022-10-03 14:13:14.569 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] LOG:  startup shut down walreceiver.
2022-10-03 14:13:14.589 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] LOG:  recovery stopping after commit of transaction 21140, time 2022-10-03 14:09:52.749923+08
2022-10-03 14:13:14.589 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] LOG:  recovery has paused
2022-10-03 14:13:14.589 [unknown] [unknown] localhost 47760400254720 0[0:0#0] 0 [BACKEND] HINT:  Execute pg_xlog_replay_resume() to continue.

4. 基于lsn

  • 恢复
[omm@node1 data]$ cat /opt/mogdb/data/recovery.conf
restore_command = 'cp /opt/mogdb/data.bak/pg_xlog/%f %p'
##recovery_target_name = 'restore_1'      ## 恢复到指定的还原点restore_point_1,此时还没有创建表t1和t2
##recovery_target_xid = '21140' ## 表t1存在,t2不存在
recovery_target_lsn = '0/220001E8' ## 表t1,t2在
##recovery_target_time = '2022-10-03 14:10:10' ## 表t1存在,t2存在
recovery_target_inclusive = true
[2022-10-03 14:15:41.773][18494][][gs_ctl]: gs_ctl restarted ,datadir is /opt/mogdb/data
waiting for server to shut down... done
server stopped
[2022-10-03 14:15:42.790][18494][][gs_ctl]: waiting for server to start...
...
...
[2022-10-03 14:15:43.815][18494][][gs_ctl]:  done
[2022-10-03 14:15:43.815][18494][][gs_ctl]: server started (/opt/mogdb/data)
  • 查看数据
[omm@node1 data]$ gsql -d postgres -p26000 -r
gsql ((openGauss 3.1.0 build 2c0ccaf9) compiled at 2022-09-25 19:32:58 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
openGauss=# \d
                        List of relations
 Schema | Name | Type  | Owner |             Storage
--------+------+-------+-------+----------------------------------
 public | t1   | table | omm   | {orientation=row,compression=no}
 public | t2   | table | omm   | {orientation=row,compression=no}
(2 rows)
  • 查看日志
[omm@node1 data]$ grep -A 5 "0/220001E8" /opt/mogdb/log/pg_log/dn_6001/postgresql-2022-10-03_141543.log
2022-10-03 14:15:43.465 [unknown] [unknown] localhost 47684535781120 0[0:0#0] 0 [BACKEND] LOG:  starting point-in-time recovery to WAL location (LSN) "0/220001E8"
2022-10-03 14:15:43.474 [unknown] [unknown] localhost 47684535781120 0[0:0#0] 0 [BACKEND] LOG:  restored log file "000000010000000000000020" from archive
2022-10-03 14:15:43.489 [unknown] [unknown] localhost 47684535781120 0[0:0#0] 0 [DBL_WRT] LOG:  Init of double write for ext finished.
2022-10-03 14:15:43.489 [unknown] [unknown] localhost 47684535781120 0[0:0#0] 0 [DBL_WRT] LOG:  Double Write init
2022-10-03 14:15:43.489 [unknown] [unknown] localhost 47684535781120 0[0:0#0] 0 [DBL_WRT] LOG:  Found a valid batch meta file info: dw_file_num [1], dw_file_size [256] MB, dw_version [92568]
2022-10-03 14:15:43.490 [unknown] [unknown] localhost 47684535781120 0[0:0#0] 0 [DBL_WRT] LOG:  Found a valid batch meta file info: dw_file_num [1], dw_file_size [256] MB, dw_version [92568]

5. 基于时间点

  • 恢复
[omm@node1 data]$ cat /opt/mogdb/data/recovery.conf
restore_command = 'cp /opt/mogdb/data.bak/pg_xlog/%f %p'
##recovery_target_name = 'restore_1'      ## 恢复到指定的还原点restore_point_1,此时还没有创建表t1和t2
##recovery_target_xid = '21140' ## 表t1存在,t2不存在
##recovery_target_lsn = '0/220001E8' ## 表t1,t2在
recovery_target_time = '2022-10-03 14:10:10' ## 表t1存在,t2存在
recovery_target_inclusive = true
[omm@node1 data]$ gs_ctl restart -D /opt/mogdb/data
[2022-10-03 14:21:03.512][18649][][gs_ctl]: gs_ctl restarted ,datadir is /opt/mogdb/data
waiting for server to shut down... done
server stopped
[2022-10-03 14:21:04.528][18649][][gs_ctl]: waiting for server to start...
...
...
[2022-10-03 14:22:29.420][18711][][gs_ctl]:  done
[2022-10-03 14:22:29.420][18711][][gs_ctl]: server started (/opt/mogdb/data)
  • 查看数据
[omm@node1 data]$ gsql -d postgres -p26000 -r
gsql ((openGauss 3.1.0 build 2c0ccaf9) compiled at 2022-09-25 19:32:58 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
openGauss=# \d
                        List of relations
 Schema | Name | Type  | Owner |             Storage
--------+------+-------+-------+----------------------------------
 public | t1   | table | omm   | {orientation=row,compression=no}
 public | t2   | table | omm   | {orientation=row,compression=no}
(2 rows)
  • 查看日志
6001/postgresql-2022-10-03_142229.log
2022-10-03 14:22:29.082 [unknown] [unknown] localhost 47686791206656 0[0:0#0] 0 [BACKEND] LOG:  database system timeline: 15
2022-10-03 14:22:29.082 [unknown] [unknown] localhost 47686791206656 0[0:0#0] 0 [BACKEND] LOG:  database system was interrupted while in recovery at log time 2022-10-03 14:10:05 CST
2022-10-03 14:22:29.082 [unknown] [unknown] localhost 47686791206656 0[0:0#0] 0 [BACKEND] HINT:  If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target.
2022-10-03 14:22:29.082 [unknown] [unknown] localhost 47686791206656 0[0:0#0] 0 [BACKEND] LOG:  starting point-in-time recovery to 2022-10-03 14:10:10+08
2022-10-03 14:22:29.091 [unknown] [unknown] localhost 47686791206656 0[0:0#0] 0 [BACKEND] LOG:  restored log file "000000010000000000000022" from archive
2022-10-03 14:22:29.100 [unknown] [unknown] localhost 47686791206656 0[0:0#0] 0 [DBL_WRT] LOG:  Init of double write for ext finished.
2022-10-03 14:22:29.100 [unknown] [unknown] localhost 47686791206656 0[0:0#0] 0 [DBL_WRT] LOG:  Double Write init
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
1月前
|
SQL Oracle 关系型数据库
SQL整库导出语录:全面解析与高效执行策略
在数据库管理和维护过程中,整库导出是一项常见的需求,无论是为了备份、迁移还是数据分析,掌握如何高效、准确地导出整个数据库至关重要
|
6月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错合集之采集oracle的时候报ORA-65040:不允许从可插入数据库内部执行该操作如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
259 3
|
5月前
|
DataWorks 关系型数据库 MySQL
DataWorks产品使用合集之用脚本的方式同步数据到MySQL,怎么指定列作为目标表为唯一行
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
6月前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
99 0
|
4月前
|
分布式计算 DataWorks 关系型数据库
MaxCompute操作报错合集之配置mysql数据源querysql模式,同步到MC时遇到报错,该怎么处理
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
5月前
|
运维 DataWorks Oracle
DataWorks产品使用合集之在标准模式下,当同步Oracle的表或视图时,是否需要在源端的测试和生产环境中都存在要同步的表或视图
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
47 3
|
SQL 关系型数据库 MySQL
【解决方案 二十四】如何对MySQL数据表批量执行操作
【解决方案 二十四】如何对MySQL数据表批量执行操作
207 0
|
关系型数据库 MySQL 数据库
数据库学习-新增数据作业示例【带源码】
MySQL数据库 “新增数据 ” 习题示例,包含源码,能建立起对于新增数据的基本概念
197 0
数据库学习-新增数据作业示例【带源码】
|
SQL 关系型数据库 Shell
「OushuDB」用户指南数据定义 创建和管理数据库 (中)
CREATE DATABASE实际上是通过拷贝一个现有的数据库进行工作的。缺省时,它拷贝名为template1的标准系统数据库。所以该数据库是创建新数据库的”模板”。如果你给template1增加对象,这些对象将被拷贝到随后创建的用户数据库中。这样的行为允许节点对数据库中的标准套件进行修改。比如,如果你把过程语言PL/Perl安装到template1里,那么你在创建用户数据库的时候它们就会自动可得,而不需要额外的动作。
155 0
「OushuDB」用户指南数据定义 创建和管理数据库 (中)
|
Shell 数据库连接 数据库
「OushuDB」用户指南数据定义 创建和管理数据库 (下)
回顾一下 http://www.oushu.com/docs/ch/server-configuration.html 我们知道OushuDB 服务器提供了大量的运行时配置变量。你可以为许多这种变量设置特定于数据库的缺省数值。
151 0
「OushuDB」用户指南数据定义 创建和管理数据库 (下)
下一篇
无影云桌面