网站地址:
http://blog.csdn.net/pingkongyouyuan/archive/2009/09/12/4545464.aspx
http://www.cnblogs.com/ztf2008/archive/2009/03/04/1403213.html
一、下面的导入,导出都是在xp系统上操作的,(linux 上的数据库也是在xp系统的dos下面操作的,但是前提是要要在xp系统上配好Oracle Net Configuration Assistant 。)
-- 下面是自己总结的,不建议看,看上面两位高手总结的就可以了
导出名字:
exp_table_oa.bat
导出语句
@echo on
set ptime=%time:~0,1%
if exist D:\oraclebak\%date:~0,4%%date:~5,2%%date:~8,2%*.dmp goto :END
if "%ptime%" == " " goto :Usage
exp oras/oras@orcl buffer=4096 GRANTS=y TRIGGERS=y file=D:\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.dmp
goto :END
:Usage
exp oras/oras@orcl buffer=4096 GRANTS=y TRIGGERS=y file=D:\%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%.dmp
:END
pause
导入名字
imp100.bat
导入语句
imp oras/oras@ORCL full=y grants=y statistics=none file = d:\jack\oras_20091225.dmp
pause
一、下面是创建表空间,用户,给用户赋表空间,给用户赋一些必要的权限。
--创建数据表空间
create tablespace jack_data
logging
datafile 'D:\oracle\product\10.2.0\oradata\jack_data.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
--创建用户并指定表空间
create user jack identified by jack
default tablespace jack_data;
--给用户授予权限
grant dba,connect,resource,CTXAPP,create view to jack;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
二、下面是oracle数据库导出总结。
方案1、
1、先输入根目录,我的oracle放在了d盘所以先进入dos(cmd回车):
d: 回车
2、找到oracle里面的bin的路径位置
cd\oracle\product\10.1.0\db_1\BIN
3、看看里面的执行文件
\oracle\product\10.1.0\db_1\BIN>dir
4、开始到处:
\oracle\product\10.1.0\db_1\BIN> exp userid=scott/tiger@orcl tables=(emp) file=d:\emp.dmp
5、--只导用户中的表.要是想同时导出多个表的话,就在
tables=(emp,dept,等等) 就ok了。
exp userid=scott/tiger@orcl tables=(emp) file=d:\emp.dmp
6、导出用户包含(表,视图,序列,索引,函数......)
--导出一个用户(加不加 userid 都可以)
exp userid=scott/tiger@orcl owner=scott file=d:\total.dmp
exp scott/tiger@orcl owner=scott file=d:\total.dmp
如果用户要导出其它方案,则需要DBA的权限或是
exp_full_database的权限,例如system用户就可以导出其它方案
exp userid=system/manager@orcl owner=(system,scott,admin2,等等) file=d:\system.dmp
exp system/manager@orcl owner=(system,scott,admin2,等等) file=d:\system.dmp
三、导入可以用plsql工具,很简单(这里就不说了,后期总结)。
四、基本语法和实例:
1、EXP:
有三种主要的方式(完全、用户、表)
1、完全:
EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
如果要执行完全导出,必须具有特殊的权限
2、用户模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC
这样用户SONIC的所有对象被输出到文件中。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)
这样用户SONIC的表SONIC就被导出
2、IMP:
具有三种模式(完全、用户、表)
1、完全:
IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
2、用户模式:
IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC
这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)
我要问的问题是?
1、 EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC
2、 EXP SONIC/SONIC BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
SONIC是DBA用户,这两句的导出有什么区别吗?
答:有区别的,OWNER=SONIC 只导出自己的数据。而FULL=Y要导处SONIC用户下的说所用户。
要是SONIC是个单独的用户,下面没有任何用户,SONIC具备DBA的权限。还有什么区别吗?
3、IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC
fromuser 是原来的用户,touser是要导入的用户!这样理解对吗?