当前位置:首页 > 技术知识 > 正文内容

「oracle备份恢复」oracle数据库备份恢复之逻辑备份与恢复

maynowei9个月前 (09-09)技术知识83

oracle版本oracle 11g

逻辑备份与恢复

备份前可以先查看环境变量情况

echo $ORACLE_BASE 
echo $ORACLE_HOME 
echo $ORACLE_SID
echo $NLS_LANG

如果没有则对变量进行export,特别是字符集,结合实际环境所在的情况

export NLS_LANG=american_america.ZHS16GBK
export ORACLE_BASE=/data/oracle 
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

使用命令exp 进行导出备份,注意备份文件所在磁盘的空间

exp 'user/"passwd"'@orcl file=/bakdir/db-20220513.dmp full=y

恢复,恢复前注意环境变量

echo $ORACLE_BASE 
echo $ORACLE_HOME 
echo $ORACLE_SID
echo $NLS_LANG

如果没有则对变量进行export,特别是字符集

export NLS_LANG=american_america.ZHS16GBK

使用命令imp对数据库进行恢复,该命令建议是在新安装的环境进行数据导入,而不是已经有数据的数据库进行导入,会导致数据错乱,ignore=y(由于是在新的环境,没有数据,所以这个可以加,而且必须加,不加恢复数据表好像有问题,访问不了。)

imp 'system/chenzm123@orcl' file=/bakdir/db-20220513.dmp full=y log=./imp-2022-0513.log ignore=y

oracle imp 导入可以使用 ignore=y 参数进行覆盖数据库,

如果不使用 ignore=y 参数在进行imp 导入时,就会 对已经存在的表就不会进行导入,

如果加上ignore=y 参数就会对已经存在的表中没有的记录进行更新,但对已经存在记录不会进行覆盖修改。

备份脚本,在oracle运行用户下添加计划任务,备份的时候注意挂载目录的权限,注意系统时间,如果系统时间不对,那么要注意重启计划任务service crond restart ,不然计划任务可能不会按时执行。

chown -R oracle:oinstall /localdiskbak
#!/bin/bash
export ORACLE_BASE=/data/oracle 
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG=american_america.ZHS16GBK
date=`date +%Y_%m_%d`
bakdir=/localdiskbak
bakdata=$ORACLE_SID-$date.dmp
baklog=$ORACLE_SID-$date.log
oradatabak=$ORACLE_SID$date.tar.gz
cd $bakdir
bakuser=user
bakpasswd=\"passwd\"
orsid=ip:1521/orcl
exp $bakuser/$bakpasswd@$orsid full= y  file=$bakdir/$bakdata log=$bakdir/$baklog 【备份以这个为主】//grants=y compress=y 这个参数我没加
tar -czvf $oradatabak $bakdata $baklog
find $bakdir -type -f -name "*.log" -exec rm {} \;
find $bakdir -type -f -name "*.dmp" -exec rm {} \;
-----------------------------------
(c)著作权归作者所有:来自51CTO博客作者chenzm0592的原创作品,请联系作者获取转载授权,否则将追究法律责任
【oracle备份恢复】oracle数据库备份恢复之逻辑备份与恢复
https://blog.51cto.com/chenzm0592/5290270

相关文章

Flutter 之 ListView(flutter框架)

在 Flutter 中,ListView 可以沿一个方向(垂直或水平方向)来排列其所有子 Widget,常被用于需要展示一组连续视图元素的场景ListView 构造方法ListView:仅适用于列表中...

分析 Rust 程序的火焰图(rust火吗)

分析 Rust 程序的火焰图(Flame Graph)是定位性能瓶颈的核心手段,其核心是通过可视化的函数调用栈和时间分布,找到 CPU 耗时、内存分配、锁竞争等热点。以下是详细的分析方法和步骤,结合...

掌握C语言多线程:高效并发编程指南

一、多线程基础概念介绍多线程编程是现代软件开发中提高程序性能和响应性的重要技术。在C语言中,pthread(POSIX Threads)库是实现多线程编程的标准工具。本节将通俗易懂地介绍多线程的核心概...

聊聊并发编程: Lock(并发锁有哪些)

之前学习了如何使用synchronized关键字来实现同步访问,Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功...

大量类加载器创建导致诡异FullGC(类的加载器有什么用)

“ 由 GC 问题带你全面了解 JDK8 Metaspace”01—现象最近接手了一个同事的项目,某一天接口的响应耗时突然增加了很多,由几十ms 增加到了几十秒。首先查看机器上的日志,有调用第三方接口...

Oracle 11g安装教程完整版(oracle 11g 安装教程)

由于工作需要,将安装的经验分享给大家。第一步:首先准备安装文件包:Oralce 11.2.0.4 64bit和plsqldev1405x64如图所示:第二步:将2个文件解压到同一个目录,如图所示:第三...