AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[dump](dba)

Martin Hope
Imanol Y.
Asked: 2019-03-22 10:30:20 +0800 CST

在 Postgres 中提取全表的最快方法

  • 6

我正在尝试将具有 50M 记录的表转储到文件中,我的目标是减少执行此操作的时间。我通常使用COPY metrics TO 'metrics.csv' DELIMITER ',' CSV;这在最好的情况下可能需要一个小时。我也有兴趣以某种纯格式导出数据(避免使用pd_dump目录)。

其中一个想法是通过条件或游标以某种方式访问​​此表,将整个表拆分为相等大小的块,因此您可以同时执行例如 2 个复制查询,将时间减少到一半。

例子:

COPY (SELECT * FROM metrics WHERE id < 25000000) TO 'metrics_1.csv' DELIMITER ',' CSV;
COPY (SELECT * FROM metrics WHERE id >= 25000000) TO 'metrics_2.csv' DELIMITER ',' CSV;

在这些条件下创建的部分索引会有所帮助吗?

有什么想法是实现表的部分复制转储的好方法吗?还有其他解决方案可以更快地转储此表吗?

Postgresql 11 / 100GB RAM / 20 核。

在与 IO 边界进行一些并行化之后,COPY似乎不再是瓶颈。

在此处输入图像描述

postgresql dump
  • 1 个回答
  • 5132 Views
Martin Hope
Racer SQL
Asked: 2018-12-21 11:11:28 +0800 CST

关于 Oracle 中的转储 (REMAP_SCHEMA) 的问题

  • 0

要导出转储文件,我可以:

EXPDP system/Password@TNS 
DUMPFILE=FileName.dmp 
Schemas=TheSchemaIWantToDump 
DIRECTORY=dumpdir

因此,假设我想恢复此 DMP 文件,但使用不同的名称(我是 SQL Server Dba,并且我仍在学习一些 Oracle)。我会这样做:

1)创建一个新用户

2)授予此用户连接

3)

IMPDP System/Password@TNS 
dumpfile=ThefileName.dmp 
REMAP_SCHEMA=OldUser:NewUser 
directory=dumpdir

我的问题是关于 REMAP_SCHEMA。当我在我自己的服务器中恢复模式时,我知道 OldUser ,所以我可以填充它,然后 :NewUser。

但是如果我将这个转储文件发送给我们的客户。我应该提到这个 OldSchema 吗?他们不知道我在转储之前使用的架构名称。因为在 SQL Server 上我可以 RESTORE DATABASE ,然后使用想要的名称从磁盘中命名....

如何恢复具有不同名称的模式?

谢谢。

oracle dump
  • 1 个回答
  • 73 Views
Martin Hope
eri
Asked: 2017-11-14 07:41:42 +0800 CST

解析 COPY 的二进制格式以访问 tsrange

  • 4

tsrange 如何以二进制形式存储?

例如创建表

CREATE TABLE public.test (t tsrange);
INSERT INTO test VALUES ('[2010-01-01 14:30, 2010-01-01 15:30)');
INSERT INTO test VALUES ('[2011-01-01 14:31, 2015-11-01 15:30)');
INSERT INTO test VALUES ('[2017-01-01 14:31, 2018-11-01 15:30)');
COPY test TO '/tmp/pgcopy' WITH (FORMAT binary);
COPY test TO '/tmp/pgcopy.csv' WITH (FORMAT csv);

它输出:

 cat /tmp/pgcopy.csv                                                                                                                                                                                                  
"[""2010-01-01 14:30:00"",""2010-01-01 15:30:00"")"
"[""2011-01-01 14:31:00"",""2015-11-01 15:30:00"")"
"[""2017-01-01 14:31:00"",""2018-11-01 15:30:00"")"


hexdump -C /tmp/pgcopy
00000000  50 47 43 4f 50 59 0a ff  0d 0a 00 00 00 00 00 00  |PGCOPY..........|
00000010  00 00 00 00 01 00 00 00  19 02 00 00 00 08 00 01  |................|
00000020  1f 19 f9 a9 aa 00 00 00  00 08 00 01 1f 1a d0 3d  |...............=|
00000030  4e 00 00 01 00 00 00 19  02 00 00 00 08 00 01 3b  |N..............;|
00000040  c8 89 51 11 00 00 00 00  08 00 01 c6 7b 1a 3a 0e  |..Q.........{.:.|
00000050  00 00 01 00 00 00 19 02  00 00 00 08 00 01 e8 08  |................|
00000060  0d 77 11 00 00 00 00 08  00 02 1c 9a dc 4d 0e 00  |.w...........M..|
00000070  ff ff                                             |..|
00000072

一个领域是:

00 00 00 19 02 00 00 00 08 00 01 e8 08 0d 77 11 00 00 00 00 08  00 02 1c 9a dc 4d 0e 00

那里:

00000019- 长度为 25 个字节

02- 括号

00000008- 子字段长度

0001e808 0d771100和00021c9a dc4d0e00- 以微秒为单位的存储时间戳。

如何将其转换为整数时间戳?

postgresql dump
  • 1 个回答
  • 2973 Views
Martin Hope
Yaron
Asked: 2017-05-17 04:18:39 +0800 CST

将 CouchBase 转储导入 BigQuery

  • 1

创建 CouchBase 转储并将其复制到 Google 存储桶后,我尝试将数据导入 BigQuery。

我悲惨地失败了,显然在我尝试导入时design.json出现在同一目录中的文件或文件不起作用。data-0000.cbbjson

我需要以某种方式转换转储吗?还有其他方法可以将数据从 CB 迁移到 BQ 吗?

谢谢大家。

migration dump
  • 1 个回答
  • 365 Views
Martin Hope
Mirco
Asked: 2014-01-23 03:46:49 +0800 CST

SYS.DBMS_INTERNAL_LOGSTDBY 导致转储导入错误

  • 0

我在将转储导入 Oracle XE 数据库时遇到问题。导入对其他几个人有效,所以我可以假设转储没有损坏。

在运行以下命令:

C:\Users\franzm>impdp abcac@xe 目录=exp_dir DUMPFILE=expdp_abc_20140122010001.dmp schemas=abc LOGFILE=log.log

exp_dir 之前设置为带有转储文件的文件夹

我收到以下错误:

ORA-31626: 作业不存在 ORA-04063: 包体 "SYS.DBMS_INTERNAL_LOGSTDBY" 有错误 ORA-06508: PL/SQL: 找不到被调用的程序单元: "SYS.DBMS_INTERNAL_LOGSTDBY" ORA-06512: 在 "SYS. KUPV$FT”,第 991 行 ORA-04063:包主体“SYS.DBMS_LOGREP_UTIL”有错误 ORA-06508:PL/SQL:找不到正在调用的程序单元:“SYS.DBMS_LOGREP_UTIL”

我在网上搜索并在 oracle board 中找到了一些主题,但这些对我没有帮助。有人有提示吗?

dump oracle-xe
  • 1 个回答
  • 3315 Views
Martin Hope
Jorge Vega Sánchez
Asked: 2013-12-27 01:43:38 +0800 CST

从源数据库文件系统已更改的转储导入 Oracle 数据库

  • 1

我正在将数据库从一台服务器迁移到另一台服务器。在迁移过程中,我们将文件系统结构从:

/appli2/oradata05/HISTO/
/appli2/oradata06/HISTO/
/appli2/oraredolog01/HISTO/
/appli2/oraarch/HISTO/

至

/appli2/oracle/HISTO/oradata05
/appli2/oracle/HISTO/oradata06/HISTO/
/appli2/oracle/HISTO/oraredolog01/HISTO/
/appli2oracle/HISTO/oraarch/HISTO/

根据这些变化,我得到了错误:

Starting "SYSTEM"."SYS_IMPORT_FULL_01":  SYSTEM/******** DIRECTORY=MIG11G DUMPFILE=20131125_full_HISTO.expdp LOGFILE=impdp_dump_HISTO_r7.log parallel=4 
Processing object type DATABASE_EXPORT/TABLESPACE
ORA-31684: Object type TABLESPACE:"UNDO" already exists
ORA-31684: Object type TABLESPACE:"TEMP" already exists
ORA-31684: Object type TABLESPACE:"TOOLS" already exists
ORA-39083: Object type TABLESPACE failed to create with error:
ORA-01119: error in creating database file '/appli2/oradata05/HISTO/HISTO_tab_anc_01.dbf'
ORA-27040: file create error, unable to create file
IBM AIX RISC System/6000 Error: 13: Permission denied
Failing sql is:
CREATE TABLESPACE "TAB_ANC" DATAFILE '/appli2/oradata05/HISTO/HISTO_tab_anc_01.dbf' SIZE 1048576000,'/appli2/oradata05/HISTO/HISTO_tab_anc_02.dbf' SIZE 2146435072 LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL UNIFORM 
ORA-39083: Object type TABLESPACE failed to create with error:
ORA-01119: error in creating database file '/appli2/oradata06/HISTO/HISTO_idx_anc_01.dbf'
ORA-27040: file create error, unable to create file
IBM AIX RISC System/6000 Error: 13: Permission denied
Failing sql is:
CREATE TABLESPACE "IDX_ANC" DATAFILE '/appli2/oradata06/HISTO/HISTO_idx_anc_01.dbf' SIZE 1048576000,'/appli2/oradata06/HISTO/HISTO_idx_anc_02.dbf' SIZE 2146435072 LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL UNIFORM 

是否可以只导入当前文件系统结构中的数据?我看到了 remap 命令,但我从未使用过它,如果它是问题的答案,有人可以举一个例子来使用它。

remap_tablespace:source_tablespace_1:user,source_tablespace_2:user
oracle-10g dump
  • 1 个回答
  • 6137 Views
Martin Hope
kissgyorgy
Asked: 2013-10-29 17:33:55 +0800 CST

如何更改 pg_dump 的临时目录?

  • 7

我有一个 18GB PostgreSQL 数据库的硬盘驱动器空间不足。
当我尝试pg_dump使用不同的驱动器时,PostgreSQL 在它转储的磁盘上创建临时文件,因此我的空间不足并且转储失败。

我从 Stackoverflow尝试了这个,并在新目录中创建了一个小文件,但没有别的,并且pg_dump仍然写入原始磁盘。

如何更改临时目录pg_dump?

注意:我的work_mem设置已经很高了,我无法更改。
我的数据库版本是 9.0.13。

postgresql dump
  • 1 个回答
  • 6206 Views
Martin Hope
Chris_45
Asked: 2013-05-25 06:05:34 +0800 CST

在 Windows NT 3.51 上导出数据库 Oracle 7.3

  • 7

如何在运行于Windows NT 3.51 上的Oracle7.3 上获取dump 文件?

您是否应该站在 Orant/bin 文件夹中并运行其中一个程序 >

exp73 SYSTEM/password@[dbinstance] FULL=Y LOG=EXPORT.LOG

不工作

在此处输入图像描述 这些服务: 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

oracle dump
  • 2 个回答
  • 540 Views
Martin Hope
Stephane Rolland
Asked: 2012-08-21 05:30:38 +0800 CST

我想从远程计算机启动 pg_dump 命令

  • 1

我想启动命令:pg_dump.exe -h 255.255.255.255 -p 5432 -U postgres -F p -a -v -f "test.db.dump" mydb从远程计算机。数据库和远程计算机都在 xp 下。

我面临两个麻烦:

  1. 在服务器的命令行上执行时,pgdump 将首先提示输入密码。如何在命令行中授予密码?快速查看 pg_dump 的文档显然不接受这样做的标志(尽管我可能错过了它)。

  2. 如果两台机器都在linux下,我会尝试与Putty建立SSH连接以在psql服务器上执行一些命令......但是两台机器都在windows下,我不知道从哪里开始。psqlODBC 驱动程序是否允许访问 pg_dump ?是否有相当于 Windows 的 SSL?

只是为了解释上下文,实际上我的主要目标是在远程机器上实现一个诊断脚本,该脚本将收集一些有意义的信息,包括 postgresql 库的部分或全部表的转储。诊断脚本会将转储复制到域上收集所有诊断结果的另一个位置。

该脚本必须在远程机器上执行,因为它还必须在连接到域但不是 postgresql 数据库的其他计算机上执行其他操作。

postgresql dump
  • 1 个回答
  • 5280 Views
Martin Hope
aF.
Asked: 2012-05-19 02:52:56 +0800 CST

将数据库从 Solaris (Sybase 15.0.3) 加载到 VMWare Solaris (Sybase 15.7.0)

  • 2

我需要将 Sybase (15.0.3) 数据库从 Sun Solaris 5.10 环境(在 sparc 架构上)加载到在我的 vmware 虚拟机上运行的 Solaris 10(在 i86pc 架构上)上的 Sybase (15.7.0)。

  • 有没有人有食谱(正确的步骤)?
sybase dump
  • 1 个回答
  • 3719 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve