我想将所有用户和角色对象从 Oracle 10g 数据库导出到另一个。我用谷歌搜索,但我不知道如何去做。
首先我使用这个命令:
exp system/root@ [DB_Name] file= [Back_file_name] owner=( [Owner_Name] )
但问题是某些表设置取决于用户权限。因此我还想导出用户对象。
例如,可以使用以下命令导出所有对象:
exp system/root@ [DB_Name] Full=Y file= [Back_file_name]
但是此命令不会为我导出所需的对象。
我只想导出:
这可能吗?
我正在将几个巨大的 csv 文件导入一个表 - 所以我想知道如果我同时运行 COPY FROM 作业会发生什么?
以下查询完美导入 100,000,但更大的文件没有任何反应。没有错误,没有加载行。
您可以提供任何线索表示赞赏。我花了几个小时研究最大文件和内存限制并需要帮助。谢谢!
LOAD DATA LOCAL INFILE 'C:\\temp\\masterplay\\bigone.csv'
INTO TABLE mytable
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(`MARK`,`SERIAL NUMBER`, ...thirty some columns...)
0 rows inserted. (Query took 2.2385 sec)
Run Code Online (Sandbox Code Playgroud)
以上在 100,000 条记录上表现完美且快速,对 350,000 条记录没有任何作用。当 CSV 分解为 100,000 多条记录时,导入工作正常。
示例 CSV 文件大小为 314,946 条记录。每行平均 551 个字符。最大行长度为 575。版本:MYSQL 5.6.17、PHP 5.5.12 WAMPSERVER 2.5、Windows 10 Pro 16 GB RAM。无法确定故障模式,因此没有参考文件中的截止。
根据下面的建议,在其他版本和 Linux 上尝试了相同的 SQL,同样的问题。
更新:
下面的想法让我专注于源 CSV 文件。到目前为止,我发现重新保存 CSV(即使它使用 CSV 应用程序检查良好并且在名称和内容上看起来相同)以某种方式修复了文件,以便导入。我有数百个大文件要处理,但不明白有什么区别。
文件以逗号分隔,没有文本分隔符。重新保存文件后,它的内容似乎仍然相同,但文件大小大约增加了 300K。CSV 文件类型是否具有不同的标题或元数据?
有没有人试过用旧的历史数据预填充时态表?在我们决定使用时态表之前,我们需要能够将我们的旧历史导入其中。
我有一个从未知来源系统以 gunzip 压缩的文档。它是使用 7zip 控制台应用程序下载和解压缩的。该文档是一个 CSV 文件,似乎以 UTF-8 编码。
然后在压缩后立即上传到 Azure Data Lake Store。然后有一个 U-SQL 作业设置,只需将它从一个文件夹复制到另一个文件夹。此过程失败并引发值的 UTF-8 编码错误:ée
测试
我从商店下载了该文档并删除了所有记录,但带有 Azure 标记值的记录除外。在 Notepad++ 中,它将文档显示为 UTF-8。我再次将文档保存为 UTF-8 并将其上传回商店。我再次运行该过程,该过程成功,该值为 UTF-8
我在这里缺少什么?原始文档是否可能不是真正的 UTF-8?是否还有其他原因导致误报?我有点困惑。
可能性
环境/工具
USQL
只是定义架构的基本 USQL 作业然后将所有字段选择到一个新目录。除了省略标题之外,不会发生任何转换。该文件是 CSV,用逗号分隔的字符串中的双引号。无论数据类型如何,架构都是字符串。尝试的提取器是 TEXT 和 CSV,两者都设置为编码:UTF8,即使根据系统上的 Azure 文档,两者都默认为 UTF8。
其他注意事项
我正在尝试在 SQL Server 2008 中导入 CSV 文件。BULK INSERT是一种方法,但它适用于SQL Server 2014 以后的CSV 。
实现这一目标的替代方法是什么?
任何想法/想法都非常感谢。
我不确定这是否是正确的术语“紧凑插入语句”,这正是我一直听到的。它是这样的:
INSERT INTO [tblUsers]
([username], [password])
VALUES ('user1', 'pass1'),
('user2', 'pass2')
Run Code Online (Sandbox Code Playgroud)
无论如何,我们有一个超过 500 万行的表,并且即将导入一些数据,但是大约 75% 的数据被复制的可能性很高(我们从多个来源购买数据,但它们共享大约 30-40% 的数据)我们的每个来源:/)。
如果我对列执行唯一约束,则从该点开始整个插入都会失败(当然,除非包含在事务中)。
我只是不知道如何有效地做到这一点以及如何使用可以重用的代码。
在大型数据库中,执行了一项活动以上传数据。由于一些错误,重新输入了一个月的数据,这些数据留在了临时保存表中。因此,为了掩盖这一点,我们从另一台机器上恢复的备份中转储了 2 个表。重命名发生错误并从备份中恢复的表。但是当表被恢复时,约束无法加载,因为同名已经在使用中。使用oracle exp/imp 命令导出和导入数据。
我不是 DBA,但在这个问题上需要帮助。
我已创建数据库的 bacpac 文件以传输到 Azure。文件上传并导入成功,但导入的数据库中没有数据。我做错了什么?似乎没有关于有或没有数据的选项。该结构最终在数据库中正确存在。
我通过本地导入来验证 bacpac。
我有 100 个 csv 文件,依次命名为 1,2,3....100.csv
我用这个脚本复制 csv 文件:
COPY location FROM 'C:\Program Files\PostgreSQL\9.5\data\´1.csv' DELIMITER ',';
Run Code Online (Sandbox Code Playgroud)
我会用一个涵盖所有文件(1,2,3 .... 100.csv)的脚本来执行复制。
我在 MS Windows 上使用 pgadminIII
import ×10
csv ×3
azure ×2
export ×2
postgresql ×2
sql-server ×2
encoding ×1
hadoop ×1
insert ×1
mysql ×1
oracle ×1
oracle-10g ×1
unicode ×1