Oracle学习笔记十四:备份与恢复案例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle学习笔记十四:备份与恢复案例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4238字,纯文字阅读大概需要7分钟。
内容图文
获取命令帮助
exp -help imp -help expdp -help impdp -help rman target / ?
测试数据准备
CREATE TABLESPACE test01 datafile 'C:\APP\ADMINISTRATOR\ORADATA\TEST\test01.dbf' SIZE 10M autoextend off; CREATE USER hello IDENTIFIED BY world DEFAULT TABLESPACE test01; grant dba to hello; conn hello/world; create table emp01 (id number(3),name varchar2(10)); insert into emp01 values(1,'hello01'); insert into emp01 values(2,'hello02'); insert into emp01 values(3,'hello03');
案例一
1.1、案例说明:在Oracle生产环境中,如何使用exp备份的整个数据库?
1)查看数据库字符集:
select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; --或者 select userenv('language') from dual;
本机数据库的字符集是:ZHS16GBK,若数据库与环境字符集不一样的话,请先设置字符集,如:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
2)使用exp备份的整个数据库:
exp system/oracle buffer=65536 feedback=10000 full=y file=exp.dmp log=exp.log
案例二
2.1、案例说明:在Oracle生产环境中,如果某员工删库跑路,把hello整个用户全误删,请使用imp进行恢复。
1)模拟删除hello整个用户:
drop user hello cascade; DROP TABLESPACE test01 INCLUDING CONTENTS AND DATAFILES;
2)先创建表空间,再创建用户授权:
CREATE TABLESPACE test01 datafile 'C:\APP\ADMINISTRATOR\ORADATA\TEST\test01.dbf' SIZE 10M autoextend off; CREATE USER hello IDENTIFIED BY world DEFAULT TABLESPACE test01; grant dba to hello;
3)恢复hello整个用户:
imp system/oracle fromuser=hello touser=hello commit=y buffer=65536 feedback=10000 ignore=y file=exp.dmp log=imp.log
案例三
3.1、案例说明:在Oracle生产环境中,如何使用expdp备份的整个数据库?
1)先建一个备份的文件夹:
cd c:\users\administrator mkdir dump
2)创建一个Oralce内部用来识别OS文件系统路径目录并授权:
create directory dump_dir as 'C:\Users\Administrator\dump'; grant read,write on directory dump_dir to system;
3)使用expdp备份的整个数据库:
expdp system/oracle directory=dump_dir dumpfile=full_expdp.dmp full=y logfile=expdp.log parallel=2
案例四
4.1、案例说明:在Oracle生产环境中,如果某员工删库跑路,把整个数据库误删,请使用impdp进行恢复。
1)这里就不删数据库了,只模拟删除hello整个用户来搞破坏:
drop user hello cascade; DROP TABLESPACE test01 INCLUDING CONTENTS AND DATAFILES;
2)创建数据库(此处略去),再创建表空间:
CREATE TABLESPACE test01 datafile 'C:\APP\ADMINISTRATOR\ORADATA\TEST\test01.dbf' SIZE 10M autoextend off;
3)配置directory(案例三2)已授权,此步可以省略):
create directory dump_dir as 'C:\Users\Administrator\dump'; grant read,write on directory dump_dir to system;
4)使用impdp进行恢复:
impdp system/oracle directory=dump_dir dumpfile=full_expdp.dmp full=y logfile=impdb.log
5)编译无效对象:
@?:@是sqlplus调用脚本的标识,?是指Oracle的安装路径(ORACLE_HOME)。
@?/rdbms/admin/utlrp.sql
6)结果验证:
案例五
5.1、案例说明:在Oracle中,机房需停电维修UPS,请备份整个Oracle环境。
1)停止监听:
lsnrctl stop
2)关闭数据库:
shutdown immediate;
3)创建备份目录:
cd c:\users\administrator mkdir backup
4)使用WinRar备份整个Oracle环境:
cd C:\Program Files\WinRAR
Rar a C:\Users\Administrator\backup\oraclebak20201016.rar C:\app
案例六
6.1、案例说明:在Oracle中,机房完成UPS维护后,启动系统,发现Oracle启动失败,数据文件损坏,为了快速恢复业务,你应该怎么处理?
1)删除数据库安装目录(仅为测试,请慎重):
rd /s /q c:\app
2)目录恢复:
cd C:\Program Files\WinRAR Rar x -o+ C:\Users\Administrator\backup\oraclebak20201016.rar C:\
案例七
7.1、案例说明:在Oracle生产环境中,如何使用rman备份整个数据库?
1)创建备份目录:
cd c:\users\administrator mkdir backup1
2)进入rman:
rman target /
3)使用rman备份整个数据库:
CONFIGURE CONTROLFILE AUTOBACKUP ON; run{ allocate channel d1 type disk; sql 'alter system archive log current'; backup format 'C:\Users\Administrator\backup1\testfull_%U' database include current controlfile plus archivelog; release channel d1; }
案例八
8.1、案例说明:在Oracle生产环境中,如果某员工删库跑路,把Oracle数据目录误删,请使用RMAN进行恢复。
1)模拟把数据文件删除:
关闭数据库:
shutdown immediate;
删除数据文件:
DEL /S /Q C:\app\Administrator\oradata\test\*.*
2)把数据库启动到nomount状态:
startup nomount;
3)进入rman:
rman target /
4)恢复控制文件:
restore controlfile from 'C:\Users\Administrator\backup1\TESTFULL_04VCQ4PG_1_1';
5)将数据库启动到mount状态:
alter database mount;
6)恢复数据库:
restore database; recover database; alter database open resetlogs;
7)结果验证:
内容总结
以上是互联网集市为您收集整理的Oracle学习笔记十四:备份与恢复案例全部内容,希望文章能够帮你解决Oracle学习笔记十四:备份与恢复案例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。