Linux下备份oracle数据库的步骤? 求解高手解决,小弟感激尽!

发布网友 发布时间:2022-04-24 12:44

我来回答

3个回答

懂视网 时间:2022-04-08 08:34

  • create tablespace test_data
  • logging
  • datafile ‘/u01/app/oradata/test/TEST.dbf‘
  • size 32m
  • autoextend on
  • next 32m maxsize 2048m
  • extent management local;
  •  
  • --创建用户并指定表空间
  • create user TEST identified by 123
  • default tablespace test_data
  • temporary tablespace temp;
  •  
  • --给用户授予权限
  • grant connect,resource to TEST;
  • 用Test用户登录,创建一个表,并插入两条数据:

    1. create table t1(
    2.        Id varchar(50) primary key,
    3.        title varchar(50)
    4. );
    5.  
    6. insert into t1 values(sys_guid(),‘t1‘);
    7. insert into t1 values(sys_guid(),‘t2‘);
    8. commit;

    先写一个导出的脚本文件:

    1. export ORACLE_BASE=/u01/app
    2. export ORACLE_HOME=/u01/app/oracle
    3. export ORACLE_SID=TEST
    4. export PATH=$ORACLE_HOME/bin:$PATH
    5. d=$(date ‘+%Y%m%d‘)
    6. exp TEST/123@TEST file=/home/oracle/backup/$d.dmp log=/home/oracle/backup/$d.log owner=TEST
    7. zip -m /home/oracle/backup/$d.zip /home/oracle/backup/$d.dmp /home/oracle/backup/$d.log

    前4句是设置环境变量,因为crontab定时调用时,不会使用oracle用户的环境变量,所以要先把它们导进来。第6行以当前日期作为导出的文件名,例如20120626.dmp和20120626.log。第7行把这两个文件打成一个zip包,并删掉这两个文件。

    要用chmod命令把这个sh标记为可执行:

    1. chmod +x backup.sh

     

    用oracle用户,输入crontab -e命令,编辑oracle用户的任务计划:

    1. [oracle@localhost backup]$ crontab -e
    2. 42 13 * * * /home/oracle/backup/backup.sh

    这样就添加了一个计划,在每天的13点42分运行/home/oracle/backup/backup.sh。

    Linux中设置定期备份oracle数据库

    标签:

    热心网友 时间:2022-04-08 05:42

    给的分太少了,不过还是帮帮你吧!

    1、如果备份本机的数据库,比如本地数据库实例名为:orcl
    那就使用:exp username/password@orcl file=bak.dmp log=bak.log buffer=10240
    2、如果是备份另外一台Oralce,要分两步
    (1)、配置datasource 比如本地服务器A的IP是192.168.1.101,要备份的服务器B的IP是192.168.1.102,实例名为:orcl 在oracle的tnsnames.ora中配置datasource
    db102 = 这个名称随便起
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521)) 这里为机器B的地址及数据库端口号
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME =orcl) 这个名称为机器B 数据库SID的值
    )
    )
    测试数据库连通性,在机器A如下;
    [oracle@localhost admin]$ tnsping db102
    显示如下;
    TNS Ping Utility for Linux: Version 10.2.0.1.0 - Proction . 04-JAN-2009 16:53:23
    Copyright (c) 1997, 2005, Oracle. All rights reserved.
    Used parameter files:
    /home/oracle/oracle/proct/10.2.0/network/admin/sqlnet.ora

    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DE.ION = (ADDRESS = (PROTOCOL = TCP)(HOST = 61.172.197.197)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = jjtdb)))
    OK (10 msec)
    测试通过
    (2)写脚本 exp username/password@db102 file=bak.dmp log=bak.log buffer=10240

    热心网友 时间:2022-04-08 07:00

    没懂

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com