linux oracle 数据导出导入

用navicat 导出导入的数据老是出问题,决定使用oracle自带的导入导出工具

参考链接 :https://blog.csdn.net/weixin_38343591/article/details/78726162

      https://blog.csdn.net/shenyanwei/article/details/73180112

Export/Import
1、oracle Export/Import工具是一个操作简单、方便灵活的备份恢复和数据迁移工具,它可以实施全库级、用户级、表级的数据备份和恢复。对于数据量在G级或G级以内,强调高可用性,可以容忍少量数据丢失的数据库系统,Exp/Imp是普遍试用的逻辑备份方式。
export:从数据库中导出数据到dump文件中
import:从dump文件中导入数据到数据库中
dump:二进制格式文件,不可手工编辑,否则会损坏数据,该文件在oracle支持的任何平台都是一样的格式,可以再各平台上通用

2、Exp/Imp工具的使用场景
①两个数据库之间传送数据
同一个oracle数据库版本之间
不同oracle数据库版本之间
相同或者不相同的操作系统之间的oracle数据库
②用于数据库的备份和恢复
③从一个数据库用户传送到另一个用户中
④从一个表空间传送到另一个表空间

3、查看数据库的数据文件位置
需要先连接数据库 并且启动数据库服务器

$sqlplus / as sysdba

4、查看数据库用户的名字、状态和表空间

SQL>select username,account_status,default_tablespace from dba_users;
1
...
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
DEFAULT_TABLESPACE
------------------------------
URP OPEN
TS_URP

GUODAYANG OPEN
STUDENT

GUODAYANG2 OPEN
BOOK


USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
DEFAULT_TABLESPACE
------------------------------
...
查询结果中 看的出
我有个数据库BOOK,而这数据库的在GUODAYANG2用户下

5、导出系统的Oracle数据库的bankuser用户数据
在控制台命令窗口下:

$exp guodayang2/123456@orcl file=/oracle/newbook.dmp log=/oracle/newbook.log
注:
  exp:      oracle导出数据库关键之
  guodayang2:  是我用数据库的用户名 是使用角色的用户名
  123456:        密码
  @orcl:        数据库的net服务名 表示linux的oracle数据库
  file:        指定导出文件所在位置
  log:           表示导出数据时的日志记录
(注意:linux有些路径限制了访问权限)

6、把数据导入linux的oracle数据库中

     6.1.在要导入的oracle数据库上创建相应的用户,只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入。

      create user username identified by password
      grant dba to username

     6.2.导入前Linux服务器切换到oracle用户

         su - oracle

     6.3.imp导入工具

       导入工具imp也分交互式和非交互式

      (1)交互式命令行方式

      $ imp

      Username: username
      Password:  password

      Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
      With the Partitioning, OLAP, Data Mining and Real Application Testing options

      Import data only (yes/no): no >

      是否只导入数据

      Import file: expdat.dmp > /home/oracle/daochu.dmp

      导入数据库文件的路径

      Enter insert buffer size (minimum is 8192) 30720>(直接回车

      输入插入缓冲区大小(最小为 8192 )

      Export file created by EXPORT:V10.02.01 via conventional path
      import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
      export client uses US7ASCII character set (possible charset conversion)
      export server uses UTF8 NCHAR character set (possible ncharset conversion)
      List contents of import file only (yes/no): no >

      只列出导入文件的内容

      Ignore create error due to object existence (yes/no):  yes >

      由于对象已存在, 忽略创建错误

      Import grants (yes/no): yes >

      导入权限

      Import table data (yes/no): yes >

      导入表数据

      Import entire export file (yes/no): yes >

      导入整个导出文件

      . importing XXXXXXobjects into XXXXXX
      . . importing table              "t"       2775 rows imported
      Import terminated successfully with warnings.

       (2)交互式命令行方式

       $ imp usrname/password file = t.dmp full=y 

posted @ 2020-04-01 16:25  尽诛宵小天策义_长枪独守大唐魂  阅读(507)  评论(0编辑  收藏  举报
/* 看板娘 */