数据库导入导出方法以及注意事项
一、導出數據到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 简介及开发环境搭建
- 下一篇: 对称加密和非对称加密是什么?