oracle备份、还原

----第一步:设置空表导出

----由于Oracle 11G在用EXPORT导出时,空表不能导出。解决方法如下:(11G中有个新特性,当表无数据时,不分配segment,以节省空间)

select ‘alter table ‘||table_name||‘ allocate extent(size 64k);‘ from tabs t
where not exists (select segment_name from user_segments s where s.segment_name=t.table_name);

--在plsql里面执行以上语句 然后把查询结果集复制出来,执行复制的语句数据

2、首次安装完oracle数据库,用sysdba登录plsql执行如下语句,再进行表空间及用户创建:

将创建segment的参数设置为false,以后空表就可以任意导入导出。

alter system set deferred_segment_creation=false;

---注意:修改此设置后创建库的表空间可以实现空表任意导入导出,但修改设置前的数据库,必须执行第一步的导出空表设置语句。

---第二步:备份数据库

---开始——运行,输入CMD,输入备份语句

exp userid=abc/[email protected] file=D:\01abc\数据库备份\abc20160520.dmp   log=D:\01abc\数据库备份\abc20160520.log

---说明:exp userid=用户名/密码@net服务名 file=(备份数据库文件路径)\备份文件名称.dmp   log=(日志路径)\日志路径.log

---第三步:还原数据库

---开始——运行,输入CMD,输入还原语句

imp userid=abc/[email protected]  file=D:\01abc\数据库备份\abc20160520.dmp  full=y   log=D:\01abc\数据库备份\abc20160907.log

---说明:imp userid=用户名/密码@net服务名 file=(备份数据库文件路径)\备份文件名称.dmp   full=y   log=(日志路径)\日志路径.log,注意和备份语句的区别在于①命令不同是imp ②增加了full=y

--其他

1、如果是备份一张表或几张表,可以在plsql里面通过“工具——导出表”,选择一张或多张表完成,但是这种方式不能备份视图等,全库备份需要用语句的方式备份。

2、oracle用户的密码必须在180天内更改,否则启动数据库的时候会提示连接失败。防止oracle用户密码过期:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

时间: 2024-10-31 07:06:24

oracle备份、还原的相关文章

Oracle备份 还原命令

1.备份命令 exp username/password file=d:/test/test.dmp; 2.还原命令 imp username/password full=y file=d:/test/test.dmp; Oracle备份 还原命令

ORACLE备份还原(expdp/impdp)

1. 创建目录 SQL> create directory dump_file as '/db/backup'; 2. 目录赋权限 SQL> grant read,write on directorydump_file to bam; 查看目录 SQL> select * from dba_directories; 3. 备份 SQL>expdp user/pwd directory=dump_filedumpfile=expdp_%U.dmp logfile=expdp.log

oracle初级简单逻辑备份还原

oracle初级简单逻辑备份还原 注: 1,所有命令在cmd命令提示符下运行(键入 EXP HELP=Y 或者IMP HELP=Y 获取帮助信息). 2,路径文件夹必须存在(本例中,文件夹oracleback必须存在). 单独备份用户orcl下的fruit表: exp userid=xxk/password direct=y tables=(fruit) file=d:\oracleback\baktb_fruit20140509.dmp log=d:\oracleback\baktb_frui

Bat脚本学习-4:Oracle自动备份还原脚本

从同事那弄到一份Oracle自动备份还原的脚本,看上去很强大,苦在bat语法不熟,查了半天文档,先弄明白了一小段 @echo off REM 在批处理中,我们可以用setloacl ENABLEDELAYEDEXPANSION这个命令来启用"延迟环境变量扩展" REM 在我们启用了"延迟环境变量扩展"后,当CMD在解释涵有嵌套格式的命令时,他会把嵌套的命令一条一条的先执行一次,然后再进行匹配操作 REM 这样我们的赋值操作就会完成.并且再"延迟环境变量扩展

oracle备份(expdp、exp)及还原(imp、impdp)的方法

oracle备份(exp.expdp) --按用户导出表expdp bdcdj/[email protected] schemas=bdcdj directory=a dumpfile=bdcdj.dmp --按表名导出表expdp scott/[email protected] TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;--按查询条件导出表expdp scott/[email protected] directory=dpdata

根据用户通过数据泵备份还原ORACLE数据库,

1.首先,解释几个词语 directory:一般创建directory都是为了用数据泵导入/导出数据用,其实directory还有很多别的用处,本文不做阐述 schemas:  你用“用户 user”来理解就很容易了,每个模式(user)下可以有一套互不干扰的对象.你如果想要访问其他模式的对象, 需要指定schema的name,实际就是指定username. 如,你要访问模式scott的表emp,而你所在的模式(用户)是tiger, 那你要这样写: select * from scott.emp

备份还原oracle数据库

Winserver 和 linxu 下的备份还原命令是相同的 基本格式: imp和exp不适合大文件备份,如果文件超过20个G,这种方式效率会很低,如果文件过大,可以采用Rman方式进行备份还原 exp bim_dev/[email protected] file=c:\bim_dev.dmp owner=bim_dev imp bim_dev/[email protected] file=c:\bim_dev.dmp full=y ignore=y l 错误信息处理:如果是本地链接导入库,不需

Oracle 整库备份还原

http://www.mamicode.com/info-detail-2481866.html sql语句 system用户登陆 查看表空间和存放位置 select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#; 查看所有表空间的大小 select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespa

Oracle之备份还原

创建表分区 create tablespace apps datafile '&1\apps.dbf' size 10m autoextend on next 8m; create tablespace appsys datafile '&1\appsys.dbf' size 10m autoextend on next 8m; 创建分区表空间 create tablespace APPS_00 datafile '&1\APPS_00.dbf' size 10M autoexte

MySQL数据的备份还原及数据修复

在日常的生产环境中为什么要进行备份??备份可以使生产中的数据进行有效的灾难恢复:硬件故障.软件故障.自然灾害.误操作测试等数据丢失场景. 备份注意要点能容忍最多丢失多少数据恢复数据需要在多长时间内完成需要恢复哪些数据还原要点做还原测试,用于测试备份的可用性还原演练备份类型完全备份.不分备份完全备份:整个数据集部分备份:只备份数据子集,如部分库或表增量备份.差异备份增量备份:仅备份最近一次完全备份或增量备份(如果存在增量)以来变化的数据,备份较快,还原复杂差异备份:仅备份最近一次完全备份以来变化的