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

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

maynowei6个月前 (09-09)技术知识55

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

相关文章

Shopee新手指南:Shopee卖家中心用户界面介绍

1.Shopee各站点前台网页链接:2.Shopee各站点后台网页链接3.Shopee APP下载:安卓版下载链接:https://pan.baidu.com/s/1eSp8M1k#list/path...

C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解

在多线程编程中,线程同步是确保多个线程安全地访问共享资源的关键技术。C# 提供了几种常用的同步机制,其中 lock、Monitor 和 Mutex 是最常用的同步工具。本文将全面介绍这三种同步机制的用...

Linux C++实现多线程同步的四种方式(超级详细)

背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题?通过多线程模拟多窗口售票为例:#include <iostream>#include<pthread.h>#inc...

一个快要被忘记的数据库开发岗位,但应该被尊重

数据库测试,似乎是被人遗忘的数据库职业,但依然是不错的选择。底下是我在某站找的招聘启事,就连蚂蚁金服都在积极寻找数据库测试人:要说我经历的项目,大大小小也有几十个,从 C/S, B/S, 再到 B/C...

ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人遇到过这样的问题,因此写着这里。也...

Java集合框架:总结(java集合框架是什么?说出一些集合框架的优点)

Java集合框架这个系列做了一个整理,主要包括:Map系:HashMap, LinkedHashMap, TreeMap, WeakHashMap, EnumMap;List系:ArrayList,...