精华内容
下载资源
问答
  • linux上oracle备份
    2021-11-10 14:07:44
    
    #!/bin/bash
    #:本脚本自动备份7天的数据库,每次备份完成后,删除7天之前的数据。
    #加载oracle的相关参数
    #如果oracle参数不明确,请使用命令查看
    # su - oracle
    # echo $ORACLE_HOME
    export ORACLE_BASE=/db/app/oracle
    export ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1
    export ORACLE_SID=orcl
    export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
    #oracle字符集
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    #获取当前时间,格式:20150210
    DATE=`date +%Y%m%d`
    #获取7天之前的时间,格式:20150203
    DATE_RM=`date -d "7 days ago" +%Y%m%d`
    #设置备份目录,
    export DIR=/home/oracle/oracledata/backup
    echo $DIR
    #创建日期目录
    mkdir -p $DIR/$DATE
    #开始备份,此处采用exp方式导出,根据实际情况可选用expdb数据方式导出
    echo 'Oracle backup...'
    exp xxxxxx/xxxxxx@xxxxxxxxx:1521/orcl  file=$DIR/$DATE'/C8DBData_'$DATE'.dmp'
    # exp cs_prod/quickdone@CSIC8  file=$DIR/$DATE'/csprod_'$DATE'.dmp' log=$DIR/$DATE'/csprod_log_'$DATE'.log'
    echo 'Oracle backup successfully.'
    echo 'remove...'
    rm -rf $DIR/$DATE_RM
    echo 'remove successsfully.'
    

    更多相关内容
  • 先来介绍一些不使用脚本我们直接使用命令备份与还原oracle数据库Oracle数据备份:步骤 1 备份用户数据。1.使用linux系统下的数据库管理员账号连接linux终端。2. 执行以下语句,创建“bak_dir”文件夹。 代码如下: ...
  • Linux 自动备份oracle数据: 曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的。 所以,在工作中,不管是开发还是...
  • Linux oracle 自动备份脚本,学习了
  • 数据库的字符集必须和Linux下设置的环境变量一致,不然会有乱码。 以下两个sql语句都可以查到: select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET'; select * from v$nls_parameters ...
  • inux下oracle11g 数据库冷备份异机还原,适用于可以停机备份的数据库,方便数据库文件过大还原,本人测试的数据库文件有一百多G
  • 1.在没有安装oracle数据库的linux环境下,远程定时备份oracle数据库。 2.并且提供安装包,以及操做文档。
  • LinuxOracle备份与恢复,其中包括shell命令文件,详细描述了可能出现的问题,如何解决等情况
  • 备份文件大小:3.8TB 数据库路径:CT:/oracle1/app/oracle/oradata/CT PF:/oracle1/app/oracle/oradata/PF LA:/oracle2/app/oracle/oradata/LA PL:/oracle2/app/oracle/oradata/PL (二)恢复数据库环境 操作...
  • Linuxoracle数据库备份方案

    千次阅读 2022-03-03 09:54:18
    #新建Oracle数据库备份目录 mkdir -p /backup/oracledata #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Oracle数据库时设置的) chown -R oracle:oinstall /backup/oracledata ...

    1、root用户登录服务器

    #新建Oracle数据库备份目录
    mkdir -p /backup/oracledata 
    
    #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Oracle数据库时设置的)
    chown -R oracle:oinstall /backup/oracledata -R 

    2、新建Oracle数据库备份脚本

    vi /backup/oracledata/ordatabak.sh   #新建文件,输入以下代码
    
    #!/bin/sh
    export ORACLE_BASE=/data/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=orcl
    export ORACLE_TERM=xterm
    export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export LANG=C
    export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    # oracle用户的系统环境变量路径:/home/oracle/.bash_profile
    date=`date +%Y_%m_%d`   #获取系统当前日期时间
    days=7  #设置删除7天之前的备份文件
    orsid=`192.168.0.198:1521/orcl`  #Oracle数据库服务器IP、端口、SID
    orowner=OSYUNWEI  #备份此用户下面的数据
    bakuser=OSYUNWEI  #用此用户来执行备份,必须要有备份操作的权限
    bakpass=OSYUNWEI  #执行备注的用户密码
    bakdir=/backup/oracledata  #备份文件路径,需要提前创建好
    bakdata=$orowner"_"$date.dmp #备份数据库名称
    baklog=$orowner"_"$date.log #备份执行时候生成的日志文件名称
    ordatabak=$orowner"_"$date.tar.gz #最后保存的Oracle数据库备份文件
    cd $bakdir #进入备份目录
    mkdir -p $orowner #按需要备份的Oracle用户创建目录
    cd $orowner #进入目录
    exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog #执行备份
    tar -zcvf $ordatabak $bakdata  $baklog  #压缩备份文件和日志文件
    find $bakdir/$orowner  -type f -name "*.log" -exec rm {} \; #删除备份文件
    find $bakdir/$orowner  -type f -name "*.dmp" -exec rm {} \; #删除日志文件
    find $bakdir/$orowner  -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;  #删除7天前的备份(注意:{} \中间有空格)
    :wq #保存退出
    
    chmod +x /backup/oracledata/ordatabak.sh   #添加脚本执行权限

    3、设置定时

    vi /etc/crontab  #编辑系统任务计划,添加以下代码到最后一行
    
    30 2 * * * oracle  /backup/oracledata/ordatabak.sh  #每天凌晨2点30分,以oracle用户执行ordatabak.sh备份文件
    
    :wq! #保存退出
    
    service crond restart #重启crond

            每天凌晨2点30分,会自动备份数据库到/backup/oracledata/OSYUNWEI目录中,保存为.tar.gz压缩文件,并且删除7天前的备份,即只保留最近7天的数据。

    备注:以上所有的代码都是在英文半角状态下输入。

    展开全文
  • 本文讲述了LINUXOracle数据导入导出的方法。分享给大家供大家参考,具体如下: 一. 导出工具 exp 1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin exp导出工具将数据库中数据备份压缩成一个二进制...
  • linux命令及oracle备份

    2021-05-07 07:49:25
    1.linux下查看占用空间 df -h2.gzip 压缩文件 gzip xx.dmp xx.dmp.gz3.解压缩 gzip -d xx.dmp.gz4.查看tomcat进程ps -ef |grep tomcat5.杀死进程kill -9 pid6.导出数据exp nciclccd_e/nciclccd_e@LCC buffer=9999999...

    1.linux下查看占用空间 df -h

    2.gzip 压缩文件 gzip xx.dmp xx.dmp.gz

    3.解压缩 gzip -d xx.dmp.gz

    4.查看tomcat进程

    ps -ef |grep tomcat

    5.杀死进程

    kill -9 pid

    6.导出数据

    exp nciclccd_e/nciclccd_e@LCC buffer=9999999 file=/opt/oracle/backup/exp/trans/20100709140000.dmp

    exp user/password file=/home/oracle/ccode_20110526_bak.dmp tables=CCODE CONSTRAINTS=N INDEXES=N

    7.数据导入

    1.只列出导入文件内容:no

    2.创建忽略错误:yes

    3.导入权限:yes

    4.导入表数据:yes

    5.导入整个导出文件:yes

    exp userid=user_name/user_pwd@net_service_name owner=user_name file=exp_user_name.dmp  buffer=67108864 statistics=none grants=n consistent=y

    8.冷备份和热备份

    一、冷备份

    1.停止数据库

    SQL> shutdown immediate

    数据库已经关闭。

    已经卸载数据库。

    ORACLE 例程已经关闭。

    SQL>

    2.拷贝路径下:E:/oracle/product/10.2.0/oradata/orcl的文件到备份,目录下

    3.在oracle数据,控制,log发生损害时,复制到原地,覆盖原文件

    4.重新开启数据库startup

    二、热备份

    1.热备份必须在日志归档的模式下,进行。

    2.查看日志模式

    SQL> archive log list;

    数据库日志模式             非存档模式

    自动存档             禁用

    存档终点            USE_DB_RECOVERY_FILE_DEST

    最早的联机日志序列     9

    当前日志序列           11

    3.启动归档日志模式

    SQL> alter system set log_archive_start=true scope=spfile;

    系统已更改。

    4.关闭数据库

    SQL> shutdown immediate;

    5.启动数据库(只启动控制文件不启动数据文件)

    SQL> startup mount;

    ORA-32004: obsolete and/or deprecated parameter(s) specified

    ORACLE 例程已经启动。

    Total System Global Area  293601280 bytes

    Fixed Size                  1248600 bytes

    Variable Size             100663976 bytes

    Database Buffers          184549376 bytes

    Redo Buffers                7139328 bytes

    数据库装载完毕。

    6.更改数据库为归档方式

    SQL> alter database archivelog;

    数据库已更改。

    7.启动数据文件

    SQL> alter database open;

    数据库已更改。

    8.再次查看log模式

    SQL> archive log list;

    数据库日志模式            存档模式

    自动存档             启用

    存档终点            USE_DB_RECOVERY_FILE_DEST

    最早的联机日志序列     9

    下一个存档日志序列   11

    当前日志序列           11

    SQL>

    9.

    SQL> alter tablespace tab begin backup;

    表空间已更改。

    10.拷贝  E:/oracle/product/10.2.0/oradata/orcl相应的表空间文件(tab)到备份目录下

    11.拷贝结束

    SQL> alter tablespace tab end backup;

    表空间已更改。

    12.将当前日志归档

    SQL> alter system archive log current;

    系统已更改。

    13.归档(执行两次,因为3个log文件)

    SQL> alter system switch logfile;

    系统已更改。

    SQL> alter system switch logfile;

    系统已更改。

    14.关闭数据库

    SQL> shutdown immediate

    15.删掉数据文件(包含tab表空间的数据文件),重新打开,报错

    SQL> startup

    ORA-32004: obsolete and/or deprecated parameter(s) specified

    ORACLE 例程已经启动。

    Total System Global Area  293601280 bytes

    Fixed Size                  1248600 bytes

    Variable Size             109052584 bytes

    Database Buffers          176160768 bytes

    Redo Buffers                7139328 bytes

    数据库装载完毕。

    ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件

    ORA-01110: 数据文件 6: 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TABS.DBF'

    16.drop掉6号错误文件

    SQL> alter database datafile 6 offline drop;

    数据库已更改。

    17.加载其它数据

    SQL> alter database open;

    数据库已更改。

    18.拷回备份文件(Itabs.dbf)

    19.恢复错误文件

    SQL> recover datafile 6;

    20.挂载文件

    SQL> alter database datafile 6 online;

    数据库已更改。

    三、控制文件缺失

    1. 备份控制文件

    SQL> alter database backup controlfile to trace;

    数据库已更改。

    2.控制文件备份到E:/oracle/product/10.2.0/admin/orcl/udump下,最新的一个

    3.打开文件,提取控制文件脚本

    STARTUP NOMOUNT

    CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG

    MAXLOGFILES 16

    MAXLOGMEMBERS 3

    MAXDATAFILES 100

    MAXINSTANCES 8

    MAXLOGHISTORY 292

    LOGFILE

    GROUP 1 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO01.LOG'  SIZE 50M,

    GROUP 2 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG'  SIZE 50M,

    GROUP 3 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO03.LOG'  SIZE 50M

    -- STANDBY LOGFILE

    DATAFILE

    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSTEM01.DBF',

    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/UNDOTBS01.DBF',

    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSAUX01.DBF',

    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/USERS01.DBF',

    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/EXAMPLE01.DBF',

    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TABS.DBF'

    CHARACTER SET ZHS16GBK

    ;

    -- Commands to re-create incarnation table

    -- Below log names MUST be changed to existing filenames on

    -- disk. Any one log file from each branch can be used to

    -- re-create incarnation records.

    -- ALTER DATABASE REGISTER LOGFILE 'E:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/ORCL/ARCHIVELOG/2010_07_23/O1_MF_1_1_%U_.ARC';

    -- ALTER DATABASE REGISTER LOGFILE 'E:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/ORCL/ARCHIVELOG/2010_07_23/O1_MF_1_1_%U_.ARC';

    -- Recovery is required if any of the datafiles are restored backups,

    -- or if the last shutdown was not normal or immediate.

    RECOVER DATABASE

    -- All logs need archiving and a log switch is needed.

    ALTER SYSTEM ARCHIVE LOG ALL;

    -- Database can now be opened normally.

    ALTER DATABASE OPEN;

    存储为文件trl.txt

    3.创建控制文件

    SQL> @c:/trl.txt

    ORA-32004: obsolete and/or deprecated parameter(s) specified

    ORACLE 例程已经启动。

    Total System Global Area  293601280 bytes

    Fixed Size                  1248600 bytes

    Variable Size             113246888 bytes

    Database Buffers          171966464 bytes

    Redo Buffers                7139328 bytes

    控制文件已创建。

    ORA-00283: ??????????

    ORA-00264: ?????

    系统已更改。

    数据库已更改。

    四、log文件的损坏

    重做日志:SQL> alter dabase open resetlog

    展开全文
  • linuxoracle定时备份

    千次阅读 2021-11-11 15:52:59
    通过以下两条命令在数据库创建目录名exp_dir映射到刚才创建的备份路径/opt/oracle/oadbbak目录。 create directory exp_dir as '/opt/oracle/oadbbak'; grant read,write on directory exp_dir to public; Exit...

    进入oracle账户后创建备份目录

    通过mkdir oadbbak命令创建了备份目录oadbbak目录

    通过sqlplus 账号/密码 as sysdba登陆数据库

    通过以下两条命令在数据库创建目录名exp_dir映射到刚才创建的备份路径/opt/oracle/oadbbak目录。

    create directory exp_dir as '/opt/oracle/oadbbak';

    grant read,write on directory exp_dir to public;

    Exit退出sql

    创建 BackUp.sh文件输入以下命令

    expdp 账号/密码@ip:1521/portaldb directory=exp_dir dumpfile=`date +%Y%m%d%H%M%S`portaldb.dmp logfile=`date +%Y%m%d%H%M%S`portaldb.log 

    创建 rootBackUp.sh文件

     su -c /opt/oracle/BackUp.sh - oracle

    创建DeleteUp.sh文件

     删除5天前的备份

    find /opt/oracle/oadbbak  -maxdepth 1  -type f -mtime +5  -name "*.dmp" | xargs rm -rf
    find /opt/oracle/oadbbak  -maxdepth 1  -type f -mtime +5  -name "*.log" | xargs rm -rf

    上传完成之后切换root用户

    在root用户下执行crontab -e 添加以下内容:

    00 23 * * * /opt/oracle/rootBackUp.sh  //每天23点执行

    00 02 * * * /opt/oracle/DeleteUp.sh //每天凌晨2点执行

    备份时间及次数可根据项目需求自行设置

    可以通过tail -n 20 /var/log/cron 查看最近20条的定时任务执行记录

    展开全文
  • linux自动备份oracle数据库脚本
  • 常见备份策略:数据库每天自动备份数据需求第一:每天自动备份当天的数据库的数据信息 。第二:把当天备份的数据和日志一起打成.tar.gz包,这样会减少所占硬盘的空间。第三:用FTP把当天的数据.tar.gz包上传到外面的...
  • linux下自动备份并删除过期文件,同时文件备份到指定异地服务器中
  • 主要介绍了Linux oracle数据库备份完成后可以自动压缩脚本代码,大家参考使用
  • 原标题:Linux系统上Oracle数据库备份和还原操作说明Oracle数据库备份和还原操作说明使用Oralce数据库导出(expdp)、数据库导入(impdp)程序在Oracle数据库之间传输数据对象,进行数据库的备份和还原。数据泵程序需要...
  • 怎样在Linux系统中备份Oracle数据库

    千次阅读 2021-05-04 04:42:59
    LinuxOracle数据库备份的方法有很多,就像mysql一样可以使用不同方法进行备份oracle数据库先来介绍一些不使用脚本我们直接使用命令备份与还原oracle数据库Oracle数据备份:步骤 1 备份用户数据。1.使用linux系统...
  • Linux定时备份oracle数据库

    千次阅读 2021-12-19 15:43:29
    Linux用shell脚本+crontab定时备份数据库
  • #创建逻辑目录Oracle_expdp,存放数据物理目录为/orabakdir create or replace directory Oracle_expdp as '/orabakdir'; #查询逻辑目录是否成功 select * from dba_directories #赋权 Grant read,write on ...
  • linux-oracle定时备份

    2017-11-02 17:27:58
    linux操作系统下,使oracle实现定时备份,避免数据丢失
  • 文章目录前言一、expdp备份脚本详解二、设置计划任务 前言 日常运维工作中有很多要做数据库备份的工作,除rman备份外最常用的就数数据泵的导出了,下面就把我自己脚本做一个分析 提示:以下是本篇文章正文内容,...
  • Linux下实现Oracle数据库自动备份的脚本
  • linux环境下Oracle自动备份说明前提Orable已经在linux环境下正确安装使用crontab服务已经正确安装并且启动用户有足够的执行权限配置过程首先创建一个shell文件,名为backuporacle.sh,拷贝以下脚本内容,并保存。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 58,815
精华内容 23,526
关键字:

linux上oracle备份