参考来源:https://jingyan.baidu.com/article/9113f81b2040862b3314c757.html
第一步:
1,用管理员权限打开dos窗口
2,登录命令:
sqlplus sys/oracle as sysdba
----------------------------
sqlplus system/[email protected]
注意:
如果提示命令无效,那就是你没有配置好oracle的环境变量(想当年我也被这个问题困扰着),配置oracle环境变量的方法如下:
1)右击“我的电脑”->选择“属性”->选择“高级”->单击“环境变量”
2)选择“Path”这一行,单击“编辑”,在“Path”的变量值文本框的最后面先加入一个分号“:”,然后再分号后面加入sqlplus文件
的目录路径,如“C:\Program Files\oracle\product\10.2.0\db_1\BIN”,然后点击“确定”按钮。
3)如果在“系统变量”列表框下面的“变量”列中找不到“ORACLE_HOME”和“ORACLE_SID”这两个变量,则需要下面操作,否则无需一下操作。
4)在“系统变量”中点击“新建”按钮,在“变量名”中输入“ORACLE_HOME”,变量值中输入Oracle的安装目录路径,如“C:\Program Files\oracle\product\10.2.0\db_1”,然后点击“确定”按钮。
5)在“系统变量”中点击“新建”按钮,在“变量名”中输入“ORACLE_SID”,变量值中输入数据库的实例名,然后点击“确定”按钮。
ORACLE_HOME:Oracle数据库软件的安装目录
ORACLE_SID:Oracle数据库的实例名
Oracle 数据库实例名:用于和操作系统进行联系的标识,即数据库和操作系统之间的交换是通过数据库实例名来体现的。
第二步:EXPDP备份命令
1,创建oracle的备份目录:
这仅仅是在oracle里设定的目录,并没有真正创建
create directory dbdata as ‘E:\oracledatabase\dbdir‘;
2,可以通过这句命令查看到这个目录
sql>select * from dba_directories;
3,赋于要导出数据表的所属用户权限
grant read,write on directory dbdata to netgeo;
4,好了,到了关键一步,之前走了不少弯路,但其它是小问题,在网上零零碎碎查了很多资料,终于找到原因。
首先,要切换回命令窗口,不要再在sql>下运行,然后输入命令:
5,上面报了一个错ORA-39002:操作无效
原因是D:\temp\dmp这个目录不存在,别以为create directory之后就会自动生成文件夹,也别以为执行expdp后会自动生成文件夹,要自己手动新建这个目录文件夹的。
新建文件夹后再试一下,果然成功了!恭喜你,已成功备份!
编辑好导出语句,重新打开另外一个dos窗口,直接执行导出即可。
expdp system/[email protected] directory=dbdata dumpfile=AHNGRM.dmp logfile=AHNGRM.log schemas=AHNGRM
导出全库
expdp ahngrm/gxlu_sw2 directory=dbdata dumpfile=AHNGRM.dmp logfile=AHNGRM.log full=y compress=y
6,如果你要问,导出来的dmp文件怎样还原回去。好吧,做人做到底,为了省去你再找方法的麻烦,这里
我也做一个演示(一般备份的数据是等到数据库有问题时才用的上)。
首先,再一次登录数据库 sqlplus system/[email protected]
然后,删除目标数据库用户 drop user AHNGRM cascade;
7,现在来再一次创建用户,可以用命令创建,也可以在plsql里创建,这里在plsql创建。
用system登录数据库,然后右键users--新建
然后填写你的账号名称,必须和备份时的用户一致,并赋于相应的权限
最后点击应用,完成用户创建。
8,返回DOS命令窗口,不再是sql>
输入导入命令:impdp system/[email protected] directory=dbdata dumpfile=AHNGRM.DMP logfile=AHNGRM.log schemas=AHNGRM
导入成功!
原文地址:https://www.cnblogs.com/luminccs-5308/p/9490974.html