Windows下Oracle11g数据库导出备份

参考来源: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

时间: 2024-09-30 15:08:04

Windows下Oracle11g数据库导出备份的相关文章

windows下oracle数据库自动备份脚本

1.根据日期自动生成 Oracle 备份文件 @echo off echo 正在备份Oracle数据库,请稍等...... exp userid='用户名/密码@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.log owner=res echo 任务完成! 2.根据日期时间分秒自动生成 Oracle 备份文件 @echo off

windows下mysql数据库定时备份。

注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat 这个文件是用来定时执行指定的php文件 timerExecutePhp.bat文件内容: F:\web\php-5.6.22-Win32-VC11-x64\php.exe F:\web\htdocs\demo\timer.php 注释: 1.F:\web\php-5.6.22-Win32-VC11-x64\p

windows下mysql数据库表名大小写不敏感

最近新入职,领导让做个小功能先练练手.是一个添加分类的功能,有添加和列表,很简单.功能做完后提交,结果在线上出现一个大大的500. 但是我再本地环境下是正常的,我以为可能是php的版本不一致导致的问题,就仔细看代码,看看有没有什么不合理的地方,然后在提交,还是500.然后又看,又提,依然是500.很不解啊,只有问领导了,领导说,是线上mysql字段设置了大小写敏感,遂改之,结果还是500.领导再一看,我靠了,表名应该是首字母大写的,但是我本地是小写. 大坑啊.原来开发创建的表都是小写的,所以原来

oracle11g 数据库导出报“ EXP-00003: 未找到段 (0,0) 的存储定义”错误的解决方案

导出oracle11.2.0.2的服务器的数据时,报"EXP-00003: 未找到段 (0,0) 的存储定义"错误.初步分析是由于数据表是空表导致该问题. Oracle 11G在用EXPORT导出时,空表不能导出 11GR2中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法:一. insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表.二. 设置deferred_segment_cr

windows server 2012R2数据库的备份与还原

windows server 2012R2数据库的备份与还原 实验模拟:北京有一个uec.com 的主服务器,需要在上海创建一个额外域控制器,但上海与北京网络延迟较大,正常复制不成功. 思路:在北京创建一个AD数据库的介质文件,存放AD数据库内的数据,将此介质文件复制到上海的服务器上,在上海利用 介质问价创建额外域控制器. 准备环境: 北京: server 01       IP: 192.168.1.101 上海: server 02       IP: 192.168.1.102 步骤一:在

windows下mysql数据库导入导出

导出数据库: 1.windows下cmd打开命令行 2.cd 到MySQL的安装目录的bin 目录,如果bin目录添加到环境变量中不需要切换到bin目录 3.导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 比如在命令行中输入命令 mysqldump -u root -p person >d:\person.sql (输入后会让你输入进入MySQL的密码)(如果导出单张表的话在数据库名后面输入表名即可) 4.执行完成后,会看到d盘中有person.sql 文件 M

mysql、oracle在Linux和Windows下的简单自动备份

前面一段时间已经安装好了mysql.oracle等常用数据库,但是数据库在使用时必须做到定时备份,这样能够在数据库出现问题时及时恢复到可用状态.那么下面我们就在Linux和Windows环境下测试使用mysql和oracle的自动备份脚本. 1.Linux环境下 #!/bin/sh # Database info DB_USER="" DB_PASS="" DB_HOST="" DB_NAME="" # Others vars

linux下 mysql数据库的备份和还原

1.备份 1 [[email protected] ~]# mysqldump -u root -p mysql > ~/mysql.sql #把数据库mysql备份到家目录下命名为mysql.sql 2 Enter password: 3 [[email protected] ~]# ls ~/mysql.sql /root/mysql.sql 2.还原 [[email protected] ~]# mysql -u root -p web < ~/web.sql #把web.sql导入数据

linux下 mysql数据库的备份和还原sql

1.备份 1 [[email protected] ~]# mysqldump -u root -p mysql > ~/mysql.sql #把数据库mysql备份到家目录下命名为mysql.sql 2 Enter password: 3 [[email protected] ~]# ls ~/mysql.sql 4 /root/mysql.sql 2.导入 [[email protected] ~]# mysql -u root -p web < ~/web.sql #把web.sql导入