oracle数据库:数据的导入导出及备份
sinye56 2024-09-27 21:02 5 浏览 0 评论
相信大家在客户现场维护的时候一定会适时地做一些备份操作,对关键业务建立完备的备份机制,本篇文章就是给大家一个linux环境下的参考。
一、 用imp/exp实现数据的导入导出
(一)环境配置
1.执行环境:
exp/imp可以在客户端执行也可以在服务器端执行,在客户端执行需要先安装有oracle的客户端,如果是linux系统,就是以oracle用户登录,在控制台下执行。
2.如果没有配置oracle的exp/imp命令的环境变量,则进入到oracle的bin目录:
# cd /opt/oracle_11/app/oracle/product/11.2.0/dbhome_1/bin
3.配置临时环境变量:
# export ORACLE_HOME="/opt/oracle_11/app/oracle/product/11.2.0/dbhome_1"
# export ORACLE_SID=glassfish
4.切换到oracle用户
# su oracle
(二)exp/imp方式的导入导出
注意:
红色标记部分为可按需求修改部分。
二、 数据泵实现数据导入导出的步骤
注意:
红色标记部分为可按需求修改部分,导出部分表时可在"Expdp [用户名A]/[密码]@[数据库名]"后跟"TABLES=需要导出的部分表的表名"。
三、 Linux环境下数据泵实现手动及自动备份
(一)创建脚本文件
命令格式: touch 路径/文件名.sh
例如:
输入命令:touch /home/backup.sh
(二)写备份脚本
首先进入脚本:vi命令
vi /home/backup.sh
在脚本内写入:
(三)执行脚本文件
文本框: #! /bin/shexport NLS_LANG="AMERICAN_AMERICA".UTF8export ORACLE_BASE=/home/oracle/appexport ORACLE_HOME=/home/oracle/app/product/11g/db_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin#设置备份文件格式#设置删除备份文件的格式,当前为删除1个月前的备份backuptime=`date +"%Y%m%d%H"`deletetime=`date -d "7 day ago" +"%Y%m%d%H"`#开始删除1个月前的备份rm -f /home/oracle/backup/orcl_$deletetime.dmprm -f /home/oracle/backup/orcl_$deletetime.log#开始备份expdp system/oracle@orcl file=/home/oracle/backup/system_$backuptime.dmp log=/home/oracle/backup/system_$backuptime.log schemas=systemexpdp system/oracle@orcl file=/home/oracle/backup/system_$backuptime.dmp log=/home/oracle/backup/system_$backuptime.log schemas=system
1、手动执行脚本文件
命令格式:sh 路径/文件名.sh
例如:sh /home/backup.sh
2、定时自动执行脚本
(1)安装crond
如果没有安装crond服务就先装上服务。
检查服务状态:service crond status
(2)修改crontab内容
输入命令:crontab –e
进入后继续输入命令:0 0 /7 * /home/backup.sh
设置为每7天执行一次脚本文件
然后,保存退出:wq
sh脚本前面五个字段分别表示分钟(0-59)、小时(0-23)、日(1-31)、月(0-12)、星期几(0-6)后面的为脚本所在目录
3. 重新启动crond服务
输入命令:service crond restart
注意:
红色标记部分为可按需求修改部分。
四、 Linux环境下exp实现手动及自动备份
(一)创建脚本文件
命令格式: touch 路径/文件名.sh
例如:
输入命令:touch /home/backup.sh
(二)写备份脚本
1、首先进入脚本:vi命令
vi /home/backup.sh
文本框: #!/bin/bashexport ORACLE_BASE=/u01/app/oracle --Oracle安装目录,可自定义export ORACLE_SID=ORCL --Oracle实例名,可修改export ORACLE_HOME=$ORACLE_BASE/11.2.0/db_1export PATH=$PATH:$ORACLE_HOME/binexport NLS_LANG=American_America.ZHS16GBKexport BAKUPTIME=`date +%Y%m%d%H%M%S` --定义当前系统时间变量export DATA_DIR=/home/oracle/backup/datas/$BAKUPTIME --定义数据备份目录export TAR_DIR=/home/oracle/backup/tars/$BAKUPTIME --定义数据打包目录mkdir -p $DATA_DIR --创建数据备份目录mkdir -p $TAR_DIR --创建数据打包目录cd $DATA_DIR echo "Starting bakup..."echo "Bakup file path $DATA_DIR/SCOTT_$BAKUPTIME.dmp"#备份数据库SCOTT用户exp scott/scott file=$DATA_DIR/SCOTT_$BAKUPTIME.dmp log=$DATA_DIR/SCOTT_$BAKUPTIME.logecho "Starting tar..."echo "Tar file path $TAR_DIR/SCOTT_$BAKUPTIME.tar.gz"#压缩SCOTT备份数据文件和日志文件tar -zcvf $TAR_DIR/SCOTT_$BAKUPTIME.tar.gz SCOTT*echo "Bakup file path $DATA_DIR/HR_$BAKUPTIME.dmp"
2、在脚本内写入:
(三)执行脚本文件
1、手动执行脚本文件
命令格式:sh 路径/文件名.sh
例如:sh /home/backup.sh
2、定时自动执行脚本
(1)安装crond
如果没有安装crond服务就先装上服务。
检查服务状态:service crond status
(2)修改crontab内容
输入命令:crontab –e
进入后继续输入命令:每天23:30执行自动备份
30 23 * * * /home/oracle/backup/backup.sh
设置为每天23:30执行一次脚本文件
然后,保存退出:wq
3. 重新启动crond服务
输入命令:service crond restart
注意:
红色标记部分为可按需求修改部分。
相关推荐
- Linux两种光驱自动挂载的方法
-
环境:CentOS6.4西昆云服务器方式一修改fstab文件/etc/fstab是系统保存文件系统信息?静态文件,每一行描述一个文件系统;系统每次启动会读取此文件信息以确定需要挂载哪些文件系统。参...
- linux系统运维,挂载和分区概念太难?在虚机下操作一次全掌握
-
虚拟机的好处就是可以模拟和学习生产环境的一切操作,假如我们还不熟悉磁盘操作,那先在虚机环境下多操作几次。这次来练习下硬盘扩容操作。虚拟机环境:centos8vm11linux设备命名规则在linux中...
- Linux 挂载 NFS 外部存储 (mount 和 /etc/fstab)
-
mount:手工挂载,下次重启需再重新挂载,操作命令:mount-tnfs-ooptionsserver:/remote/export/local/directory上面命令中,本地目录...
- 在Linux中如何设置自动挂载特定文件系统(示例)
-
Linux...
- Linux环境中的绑定挂载(bind mount)
-
简介:Linux中的mount命令是一个特殊的指令,主要用于挂载文件目录。而绑定挂载(bindmount)命令更为特别。mount的bind选项将第一个目录克隆到第二个。一个目录中的改变将会在...
- Linux挂载CIFS共享 临时挂载 1. 首先
-
如何解决服务器存储空间不足的问题?大家好,欢迎回来。在上一期视频中,我为大家介绍了如何利用Linux挂载来扩容服务器存储空间。这一期视频,我将以Linux为例,教大家如何进行扩容。群辉使用的是Linu...
- Linux 硬盘挂载(服务器重启自动挂载)
-
1、先查看目前机器上有几块硬盘,及已挂载磁盘:fdisk-l能够查看到当前主机上已连接上的磁盘,以及已经分割的磁盘分区。(下面以/dev/vdb磁盘进行分区、挂载为例,挂载点设置为/data)df...
- linux 挂载磁盘
-
在Linux中挂载硬盘的步骤如下:...
- 笨小猪教您Linux磁盘挂载
-
本教程针对Linux系统比较熟悉或者想学习Linux基础的用户朋友,本教程操作起来比较傻瓜式,跟着步骤就会操作,本文使用的工具是XShell同时多多注意空格(文中会有提示)。【问答】什么是磁盘挂载?答...
- Linux 磁盘挂载和docker安装命令
-
本篇给大家介绍Linux磁盘挂载和docker安装的相关内容,Linux服务器的操作是一个手熟的过程,一些不常用的命令隔断时间就忘记了,熟话说好记性不如烂笔头,还需在平时的工作中多练习记录。...
- Linux设置开机自动挂载分区
-
有时候,我们在安装完Linux系统之后,可能在使用过程中添加硬盘或者分区进行使用,这时候就需要手动把磁盘分区挂载到某个路径,但是开机之后就会消失,需要重新挂载,非常麻烦,那么我们应该如何设置开机自动挂...
- 在linux挂载一个新硬盘的完整步骤
-
以下是在Linux中挂载新原始磁盘的完整步骤,包括分区、创建文件系统以及使用UUID在/etc/fstab中启动时挂载磁盘:将新的原始磁盘连接到Linux系统并打开电源。运行以下命令,...
- Linux系统如何挂载exFAT分区
-
简介:Linux系统中不能像Windows系统那样自动识别加载新设备,需要手动识别,手动加载。Linux中一切皆文件。文件通过一个很大的文件树来组织,文件树的根目录是:/,从根目开始录逐级展开。这些文...
- Linux系统挂载硬盘
-
fdisk-l查看可挂载的磁盘都有哪些df-h查看已经挂载的磁盘...
- WSL2发布,如何在Win10中挂载Linux文件系统
-
WSL2是最新版本的架构,它为Windows子系统提供支持,使其能够在Windows上运行ELF64Linux二进制文件。通过最近的更新,它允许使用Linux文件系统访问存储在硬盘中的文件。如果你...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- 关闭防火墙linux (53)