Oracle数据库的导出和导入

来源:互联网 发布:新速特软件站怎么用 编辑:程序博客网 时间:2024/06/10 11:25

1.在本机的Windows的cmd界面直接操作导出和导入数据库。

    导出Linux服务器上的数据库:我们可以确认在windows的cmd界面先输入tnsping 数据库服务名(metardb)。这个命令会帮我们测试能否连接到数据库服务名为metardb的数据库上,如果能连接上会自动帮我们使用TNSNAMES适配器来解析别名。

2.导出数据库:

   a.将数据库lndl_ln完全导出,用户名lndl_ln密码lndl_ln,导出到D:lndl_ln.dmp中

     exp lndl_ln/lndl_ln@metardb file=D:lndl_ln.dmp full=y

   b.将数据库中lndl_ln用户的表导出

     exp lndl_ln/lndl_ln@metardb file=D:lndl_ln.dmp owner=(lndl_ln)

   c.将数据库镇南关的表perf_port,perf_dev表导出

     exp lndl_ln/lndl_ln@metardb file=D:perf.dmp tables=(perf_port,perf_dev)

   d.将数据库中表perf_port中的字段port_name以“interface” 打头的数据导出

      export lndl_ln/lndl_ln@metardb file=D:perf_port_name.dmp tables=(perf_port) query=" where port_name like 'interface%'"

    e.上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。也可以在上面的命令后面加上compress=y.

 

3.导入数据库:

如果导入的数据库跟原来导出的数据库是同一个数据库则,直接导入,如果是导入到另外一个新的数据库。

a.是建立一个跟原来导出数据库同名的表空间

  create tablespace orcl datafile 
  'F:/oradata/orcl/metardb.dbf' size 2G autoextend on next 100m maxsize 10G

   logging

   permanent

   extent management local autoallocate

   blocksize 8k

   segment space management manual

   flashback on;

b.在表空间下创建用户

 1.)创建用户

 create user lndl_ln
 identified by lndl_ln
 default tablespace metardb
 profile DEFAULT;

 2).给用户授权
 grant connect to lndl_ln;--给lndl_ln用户授予连接数据库的权限
 grant resource to lndl_ln;--给lndl_ln用户授予resource权限

 grant create any index to lndl_ln;--给lndl_ln用户授予创建任何索引的权限
 grant create any sequence to lndl_ln;--给lndl_ln用户授予创建任何序列的权限
 grant create any table to lndl_ln;--给lndl_ln用户授予创建任何表的权限
 grant create any trigger to lndl_ln;--给lndl_ln用户授予创建任何触发器的权限
 grant create any view to lndl_ln;--给lndl_ln用户授予创建任何视图的权限
 grant create materialized view to lndl_ln;

 grant debug any procedure to lndl_ln;--给lndl_ln用户授予调式任何存储过程的权限
 grant select any table to lndl_ln;--给lndl_ln用户授予查询任何表的权限
 grant unlimited tablespace to lndl_ln;--给lndl_ln用户授予连接数据库的权限
 grant dba to dcnms;--给lndl_ln用户授予数据库dba的权限

 

d. D:lndl_ln.dmp 中的数据导入orcl数据库中。

   imp lndl_ln/Lndl_ln@orcl file=d:lndl_ln.dmp ignore=y

   ignore=y可以保证导入的成功,如果有些表已经存在,并且没有加ignore的话则导入会报错误。

 e. d:lndl_ln.dmp中的表perf_port导入

imp lndl_ln/lndl_ln@orcl file=d:lndl_ln.dmp tables=(perf_port)

 

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。