写点什么

YashanDB 元数据和数据导入导出

作者:YashanDB
  • 2025-02-28
    广东
  • 本文字数:2097 字

    阅读完需:约 7 分钟

本章将对 YashanDB 内置导入导出工具impexp进行介绍及提供基础示例。

exp 工具是 YashanDB 的配套导出工具,提供元数据导出及 CSV 导出能力;imp 为 YashanDB 的配套导入工具,提供元数据导入能力。

用户可通过使用 exp 工具将 YashanDB 数据库中的表结构、索引、约束等所有数据生成一个元数据文件,该元数据文件可通过配套的导入工具 imp 导入至同构的 YashanDB 数据库中。或者通过 exp 工具将指定表结构排列的数据导出至 CSV 文件中,并通过 yasldr 工具将该 CSV 文件导入至 YashanDB 数据库中。

导入前准备

1.准备导入用户:

执行如下命令连接 YashanDB 数据库,请将password更改成设置的 sys 用户密码:

$ yasql sys/passwordYashanDB SQL Personal Edition Release 23.3.1.100 x86_64
Connected to:YashanDB Server Personal Edition Release 23.3.1.100 x86_64 - Linux
SQL>
复制代码

执行如下 SQL 语句创建用户import_user,并为其指定密码import

CREATE USER import_user IDENTIFIED BY import;
复制代码

执行如下 SQL 语句给import_user用户授予 DBA 权限:

GRANT DBA TO import_user;
复制代码

执行如下 SQL 语句切换至import_user用户:

conn import_user/import
Connected to:YashanDB Server Personal Edition Release 23.3.1.100 x86_64 - Linux
复制代码

执行如下 SQL 语句于import_user用户中创建表并插入数据:

CREATE TABLE classmate_info(c1 INT,c2 CHAR(10));INSERT INTO classmate_info VALUES(1,'h'),(2,'a'),(3,'c');CREATE TABLE classmate_info1(c1 INT,c2 INT);INSERT INTO classmate_info1 VALUES(1,2),(3,4),(5,6);COMMIT;
复制代码

导出数据

  1. 执行如下 SQL 语句退出 YashanDB 数据库:

SQL> exit$ 
复制代码

2.以安装用户登录数据库所在服务器,执行如下命令将import_user用户下所有元数据导出至export.owner.export文件中,请将password更改成设置的 sys 用户密码:

$ exp sys/password FILE=export.owner.export OWNER=import_user
YashanDB Export Release 23.3.1.100 x86_64 297f388Start export user [IMPORT_USER] from dba viewExporting tablespaces...Exporting database links...Exporting sequences...Exporting object synonyms...Exporting type dependencies synonyms...Exporting types...Exporting tables... exporting table IMPORT_USER.CLASSMATE_INFO 3 rows exported exporting table IMPORT_USER.CLASSMATE_INFO1 3 rows exportedExporting access constraints...Exporting indexes...Exporting other constraints...Exporting primary keys...Exporting foreign keys...Exporting other objects...export terminated successfully
复制代码

3.执行如下命令查看导出的元数据文件:

$ ll
total 24-rw-r----- 1 yashan yashan 16771 Aug 14 21:08 export.owner.exportdrwxrwxr-x 12 yashan yashan 259 Aug 8 16:33 installdrwxr----- 3 yashan yashan 20 Aug 8 16:45 yasdb_datadrwxrwxr-x 3 yashan yashan 22 Aug 8 16:41 yasdb_home
复制代码

导入数据

  1. 执行如下命令连接 YashanDB 数据库:

$ yasql import_user/importYashanDB SQL Personal Edition Release 23.3.1.100 x86_64
Connected to:YashanDB Server Personal Edition Release 23.3.1.100 x86_64 - Linux
SQL>
复制代码

2.执行如下 SQL 语句删除表 classmate_info 和 classmate_info1:

DROP TABLE classmate_info;DROP TABLE classmate_info1;
复制代码

3.通过查询USRE_TABLES视图查看当前用户下所有表信息,此时import_user用户下不存在任何表:

SELECT table_name FROM USER_TABLES;
TABLE_NAME----------------------------------------------------------------

复制代码

4.执行如下命令退出 YashanDB 数据库:

SQL> exit$ 
复制代码

5.以安装用户登录数据库所在服务器,执行如下命令将元数据文件导入至import_user用户,请将password更改成设置的 sys 用户密码:

$ imp sys/password FILE=export.owner.export FROMUSER=import_user
YashanDB Import Release 23.3.1.100 x86_64 297f388Start import User [IMPORT_USER] from file export.owner.exportChecking tablespace...Switch to owner IMPORT_USERImporting table CLASSMATE_INFO 3 rows importedImporting table CLASSMATE_INFO1 3 rows importedimport terminated successfully
复制代码


验证数据

1.登录数据库并查看用户表信息:

$ yasql import_user/importYashanDB SQL Personal Edition Release 23.3.1.100 x86_64
Connected to:YashanDB Server Personal Edition Release 23.3.1.100 x86_64 - Linux
SQL> SELECT table_name FROM USER_TABLES;
TABLE_NAME----------------------------------------------------------------classmate_info1classmate_info
复制代码

2.执行如下 SQL 语句查看表 classmate_info 和 classmate_info1 表中的数据:

SELECT c1,c2 FROM classmate_info;
C1 C2------------ ------------- 1 h 2 a 3 c
SELECT c1,c2 FROM classmate_info1;
C1 C2------------ ------------ 1 2 3 4 5 6
复制代码


发布于: 刚刚阅读数: 5
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB元数据和数据导入导出_数据库_YashanDB_InfoQ写作社区