我正在尝试将 Oracle 11 导出导入 Oracle 11 XE。
我收到以下消息:
在 WE8MSWIN1252 字符集和 AL16UTF16 NCHAR 字符集中完成的 XE fehlerhaft 导入
导入服务器使用 AL32UTF8 字符集(可能的字符集转换)
任何想法,我如何将此转储导入 Oracle 11 XE ?
编辑:
给定一张桌子
CREATE TABLE BDATA.Artikel(
Key VARCHAR2(3) NOT NULL,
Name VARCHAR2(60) NOT NULL,
Abkuerzung VARCHAR2(5) NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
我收到这样的错误
IMP-00019: row rejected due to ORACLE error 12899
IMP-00003: ORACLE error 12899 encountered
ORA-12899: value too large for column "BDATA"."ARTIKEL"."ABKUERZUNG" (actual: 6, maximum: 5)
Column 1 ABL
Column 2 Aufbewahrungslösung
Column 3 AfbLö
Run Code Online (Sandbox Code Playgroud)
导入中缺少某些行。
我需要每周导入大约 500,000 条包含 IP 查找(只读参考)数据的记录(只有三个 int/bigint cols)。
我真的不想担心将数据与现有表合并,我更愿意清除旧表并重新导入。
理想情况下,运行在数据上的查询将继续运行(我们没有得到很多这样的查询,它们在导入时运行得慢一点是可以接受的,但需要 24/7,所以运行这个“非工作时间”不是一种选择)。
到目前为止尝试过的事情
SSIS:我创建了一个 SSIS 包来截断表和导入 - 运行大约需要 30 秒(真的太长了)。
临时表:导入临时表、截断和复制也需要大约 30 秒。
BCP:批量导入也太慢了(出于某种原因,它比 SSIS 慢(即使没有要维护的索引)-我猜这与 char->int/bigint 事务有关:/
镜台?所以,目前,我想知道如何通过视图读取表,将数据导入镜像表,并更改视图以指向该表......这看起来会很快,但看起来很小对我来说有点hacky。
这似乎应该是一个常见问题,但我找不到推荐的做法 - 任何想法都将不胜感激!
谢谢
我正在努力批量导入一个由大约 1000 万行(或 7GB)组成的相当大的 InnoDB 表(对我来说这是迄今为止我使用过的最大的表)。
我做了一些研究如何提高 Inno 的导入速度,目前我的设置如下所示:
/etc/mysql/my.cnf/
[...]
innodb_buffer_pool_size = 7446915072 # ~90% of memory
innodb_read_io_threads = 64
innodb_write_io_threads = 64
innodb_io_capacity = 5000
innodb_thread_concurrency=0
innodb_doublewrite = 0
innodb_log_file_size = 1G
log-bin = ""
innodb_autoinc_lock_mode = 2
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit=2
innodb_buffer_pool_instances=8
import is done via bash script, here is the mysql code:
SET GLOBAL sync_binlog = 1;
SET sql_log_bin = 0;
SET FOREIGN_KEY_CHECKS = 0;
SET UNIQUE_CHECKS = 0;
SET AUTOCOMMIT = 0;
SET SESSION tx_isolation='READ-UNCOMMITTED'; …Run Code Online (Sandbox Code Playgroud) 阅读数据加载性能指南 后,我仍然不确定是否有必要将 TABLOCK 表提示添加到使用聚集索引定义的空临时表中,以便获得最少的日志记录。
显然,临时表是在 TempDB 中创建的,它在 SIMPLE 恢复模式下运行,所以我认为它是最小日志记录的完美候选者;然而,我找不到一段话来证实它。
临时表是否是最小日志记录的候选者,如果是,是否值得为永久表添加 TABLOCK 提示?
我有一个 Oracle 数据库,我想在 Visio 2007 Pro 中创建一个 ERD。
到目前为止,我已经查看了 DBMS_METADATA.GET_DDL 命令来生成 DDL。我知道我可以将 Access DB 导入 Visio,但似乎 Access 理解与 Oracle 不同的 SQL 方言,因此我需要调整每个 Create Table 命令以更改数据类型。
有没有一种在 Visio Pro 2007 中使用 DDL 创建 ERD 的简单方法?
我使用 mysqldump 进行了转储。
mysqldump -u... -p... mydb t1 > mydb_table.sql
Run Code Online (Sandbox Code Playgroud)
然后我将转储导入另一个具有相同表但不同记录的数据库中。
mysql -u...-p... mydb < mydb_tables.sql
Run Code Online (Sandbox Code Playgroud)
导入数据库有从 primary_key 1 到 1000 的记录,导出数据库有 5000 到 10,000..
但是在导入现有记录时,即 1 到 1000 被删除了..
如何??为什么??如果这是默认行为,我可以提供哪些选项来转储以免下次发生。
我将大量数据导入到一个空数据库中,在开始之前我禁用了所有非唯一非聚集索引,以查看是否可以提高导入的性能。
现在我想重新启用索引,我想知道我是否可以做些什么来优化它。
有 > 100 个表和近 2,000 个索引需要重建。数据库大小为 200GB。
我正在运行的脚本的关键部分是这样的:
declare c_toggle_index cursor FORWARD_ONLY READ_ONLY for
select 'alter index ' + QUOTENAME(i.name) + ' on ' + o.name + ' rebuild'
from sys.indexes as i
Inner Join sys.objects o
On o.object_id = i.object_id
Where o.is_ms_shipped = 0
And i.index_id >= 1
and i.type > 1
and i.is_disabled = 1
Run Code Online (Sandbox Code Playgroud)
我考虑过为alter index 语句设置ONLINE=OFF,但是由于索引开始被禁用,我不确定这个设置会产生任何影响。我还考虑设置 SORT_IN_TEMPDB = ON,但由于 tempdb 文件与数据库的 .mdf 文件位于同一驱动器上,我认为这样做也没有任何好处。
在运行重建脚本时,我注意到我有很多 CXPACKET 等待类型。我真的不明白为什么会这样,或者这是一个我应该解决的问题。
最后一点可能相关:除了将数据导入数据库之外,我的整个服务器目前都处于非活动状态。没有其他用户活动需要考虑或担心;我唯一关心的是在尽可能短的时间内将数据导入数据库。
我在没有索引的 Postgres 表上有一个大型数据库导入(100GB)。
导入后,我想尽快为查询创建索引。只要索引未准备好,就不会访问表中的数据。
建立索引的最快方法是什么?我必须在 3 列(两列varchar,一列date)上建立索引。创建索引大约需要2个小时,这真的没有用。
有什么办法可以加快索引的创建吗?在数据导入之前设置索引可能不是更好,因为这会减慢导入速度?
我知道 Postgres 可以选择“不加锁”创建索引,但这不会降低性能,因为它使 Postgres 能够在创建索引时访问数据?
这是一个虚拟机。服务器的内存可以根据我的需要增加。目前我有32GB。work_mem并且maintenance_work_mem仍处于默认配置值。我没有用于数据库的 SSD。这肯定会加快速度吗?
我没有任何boolean可用于部分索引的标志或类似标志。事实上,我希望表中的每一行都被索引。
在 SQL Developer 中,从顶部菜单中选择工具 > 数据导出。这将启动数据导出向导。

这就是出口。它创建 export.sql 文件。现在怎么做导入?我正在使用 SqlDeveloper 3.20。
尝试遵循本教程,并创建了新连接,但我找不到导入。Tools->Preferences->Database->Utilities->Import Method 还有什么??我试图运行脚本 @C:\locationOfExportFile\export.sql
我越来越爱你
SQL 错误:ORA-00942:表或视图不存在 00942。00000 - “表或视图不存在” *原因:
*操作:
顺便说一句,我不知道我在做什么,我只想将该数据库放到本地主机上。其他电脑和我的电脑都有 Oracle 11g Express 数据库。架构名称相同!
我正在尝试将csv包含表数据的文件导入 postgres 。表的列之一具有jsonb类型。
我的csv文件的一行包含类似
1,{"a":"b"}
Run Code Online (Sandbox Code Playgroud)
假设表有一个模式
id | smallint |
data | jsonb |
Run Code Online (Sandbox Code Playgroud)
如果我只是尝试插入数据,一切正常
INSERT INTO table VALUES (1, '{"a":"b"}');
Run Code Online (Sandbox Code Playgroud)
尝试直接从文件导入
COPY table FROM '/path/to/file.csv' DELIMITER ',' csv;
Run Code Online (Sandbox Code Playgroud)
给了我以下错误:
ERROR: invalid input syntax for type json
DETAIL: Token "a" is invalid.
CONTEXT: JSON data, line 1: {a...
COPY availability, line 1, column services: "{a: b}"
Run Code Online (Sandbox Code Playgroud)
我试图用', with ", with\"和\',但没有任何效果。
哪个是正确的语法呢?