数据库导入导出方法以及注意事项
一、导出数据到dxp文件中
exp 用户名/密码@实例名 file=导出的dmp文件存放路径 log=导出日志存放路径 例如:
exp account/password@127.0.0.1:1521/xinyong file=d:\xinyong_2016_04_22.dmp
二、导入数据
创建临时表空间
create temporary tablespace TEMP_XYPT
tempfile 'F:\app\Administrator\oradata\orcl\temp_xypt.dbf'
size 50m
autoextend ON;
创建表空间
create tablespace TBS_XYPT
logging
datafile 'F:\app\Administrator\oradata\orcl\tbss_xypt.dbf'
size 50m
autoextend ON;
创建GXXYPTZXK 用户,密码是gxxyptzxk
-- Create the user
create user GXXYPTZXK IDENTIFIED BY gxxyptzxk
default tablespace TBS_XYPT
temporary tablespace TEMP_XYPT;
授权
-- Grant/Revoke role privileges
grant connect to GXXYPTZXK;
grant exp_full_database to GXXYPTZXK;
grant imp_full_database to GXXYPTZXK;
grant resource to GXXYPTZXK;
-- Grant/Revoke system privileges
grant debug any procedure to GXXYPTZXK;
grant debug connect session to GXXYPTZXK;
grant unlimited tablespace to GXXYPTZXK;
grant create session to GXXYPTZXK;
grant create table,create view,create trigger, create sequence,create procedure to GXXYPTZXK;
开始导入
imp utest/upassword@localhost/orcl file=D:\20140227.dmp full=y ignore=y
utest是用户名
upassword是密码
localhost数据库所在机器,可替换成ip地址
orcl是实例的名称
file后面是导出的dmp文件路径
full=y表示全部导入
ignore=y 忽略创建错误
为什么创建临时表空间。
最好在创建用户时为用户指定临时表空间。不过在Oracle数据库中这个不是强制的。但是建议这么做。因为如果没有为用户指定默认临时表 空间的话,那么当这个用户因为排序等操作需要使用到临时表空间的话,数据库系统就会利用系统表空间SYSTEM来创建临时段。这是一个系统表空间。因为在这个表空间中存放着系统运行相关的数据,建议用户的数据不能够保存在这个表空间中。那么如果将用户的临时表空间放置在系统表空间之内,会产生负面影响:因为临时表空间中的数据是临时的。为此数据库系统需要频繁的分配和释放临时 段。这些频繁的操作会在系统表空间中产生大量的存储碎片。当这些存储碎片比较多时,就会影响系统读取硬盘的效率,从而影响数据库的功能。其次系统表空间的 大小往往是有限制的。此时临时段也来插一脚,就会占用系统表空间的大小。为此建议各位读者与数据库管理员,在创 建用户的时候同时为用户指定一个默认的表空间,以减少临时段对系统表空间的占用。
注意:
很多时候我们用拥有DBA权限的用户 从oracle数据库导出数据,那么再导入新的数据库时就还得需要DBA权限的用户,下面是如何创建一个新用户并授予DBA权限命令。
1.用有dba权限的用户登录:sys用户
2.创建一个新用户:create user abc(用户名) identified by 123456(密码);
3.授予DBA权限: grant connect,resource,dba to abc;
ok,创建好了,就可以用abc这个用户登录了,abc用户拥有dba权限。
注意事项:导出dmp数据时需要有导出表的权限的用户,否则不能导出。
总结
以上是生活随笔为你收集整理的数据库导入导出方法以及注意事项的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Python 简介及开发环境搭建
- 下一篇: mysql htap 开源_基于开源应用