Oracle:大数据的备份

转载 2006年06月01日 12:39:00

来源:http://oracle.chinaitlab.com/

问:公司里的oracle数据库有20G之大(这是一个方案的大小.原来这个方案有30G,我已经把能删的数据都删了),怎么备份?感觉备份一次好慢啊.专家有什么指导一下的吗?(另:20G的数据库是不是备份也要20G这样?)我希望能每周备份一次,最好每天一次.

  答:方法一:首选需要在UNIX下创建一个管道(只创建一次即可):

  $mknod ./exp_pipe p

  $ ls -l exp_pipe

  prw-rw-r-- 1 report group 0 Mar 17 05:20 exp_pipe

  然后通过管道,将EXP导出的数据直接压缩,注意:下面二行要写在同一个shell脚本中。

  compress < ./exp_pipe > ./tmp_now.dmp.Z &

  exp user/passwd@数据库连接串 file=./exp_pipe direct=y compress=no log=./exp.log

  20G的DMP文件,压缩后的大小在4G左右。

  方法二:考虑到机器的速度和效率的问题,一般不建议使用exp对数据量大的数据库进行备份,因为比较慢。oracle的rman备份可以支持增量备份,你可以自己设置一个备份策略,好比每周日做一次数据库全备份(level 0 级的备份),然后周一周二做增量备份(level 1 级的备份),周三在做一次数据库全备份(level 0),最后周四、周五、周六做数据库的增量备份(level 1)。这样既可以保证你的备份在大部分时间内比较快,而且也可一保证在需要恢复时较快。具体的备份策略要根据你的要求而定,我只是举个例子。

  介绍一下什么是Oracle的rman备份:

  Oracle 的RMAN备份- -

  查看那当前使用那个spfile文件 :

  SQL> select name,value from v$parameter where name='spfile';

  1。检查数据库的归档方式。如果不是规定方式,则要修改数据库为归档方式。

  1.1 以dba帐号登陆,

  $ sqlplus '/as sysdba';

  SQL> archive log list;

  Database log mode No Archive Mode #非归档方式

  Automatic archival Enabled

  Archive destination /oracle/bakram/log_archive

  Oldest online log sequence 161

  Current log sequence 163

  1.2 如果第一步为 No Archive Mode ,则将数据库修改修改为归档方式

  1.2.1 建立存档路径.

  $mkdir /oracle/bakram/log_archive

  1.2.2 在/oracle/OracleHome/dbs/建立一文件 firstSpfile.ora

  文件内容为:

  SPFILE="/oracle/OracleHome/dbs/spfileorcyehoo.ora" # 实例名称

  log_archive_start=true;

  log_archive_format=ARC%T%S.arc #格式

  log_archive_dest=/oracle/bakram/log_archive #存放的路径

  1.3 停止数据库

  $/oracle/dbstop.sh

  1.4 修改归档方式

  1.4.1 建立一个dbstartmount.sh文件

  --------

  echo "begin to start oracle mount..."

  lsnrctl start

  sqlplus /nolog <

  connect /as sysdba

  startup mount

  exit

  exit

  sleep 10

  echo "oracle have started oracle mount..."

  --------

  执行./dbstartmount.sh

  SQL>alert database archivelog;

  Database altered.

  将数据库打开

  SQL> alert database open;

  Database altered.

  SQL>

  1.5.配置dbstart.sh。 启动数据库

  $vi /oracle/dbstart.sh #编辑启动脚本

  ---------------------------------------------

  echo "begin to start oracle..."

  lsnrctl start

  sqlplus /nolog <

  connect /as sysdba

  startup pfile="/oracle/OracleHome/dbs/firstSpfile.ora" #修改这里。即启动时加载自己配置的文件。

  exit

  exit

  sleep 10

  echo "oracle have started..."

  --------------------------------------

  2. 创建RMAN目录

  $ sqlplus system/data#yes

  2.1创建一个独立的表空间

  SQL> create tablespace back datafile 'back_css.dmp' size 50m;

  2.2创建RMAN用户

  SQL> create user rman identified by rman default tablespace back temporary tablespace temp;

  2.3给RMAN授予权限

  SQL>grant connect,resource,recovery_catalog_owner to rman;

  2.4打开RMAN

  $RMAN

  2.5连接数据库

  RMAN>connect catalog rman/rman;

  2.6 创建恢复目录

  RMAN>create catalog tablespace back;

  3. 注册目标数据库(需要备份的数据库)

  3.1 注册数据库

  $rman target sys/data#yes catalog rman/rman@yehoo; #yehoo为实例名。

  ----

  Recovery Manager: Release 9.2.0.1.0 - Production

  Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

  connected to target database: YEHOO (DBID=2840368994)

  connected to recovery catalog database

  ----

  RMAN> register database;

  3.2 查询恢复目录

  怎么能知道我们的oracle9i是OLTP还是DSS

  4。备份

  备份表空间:

  backup tag 'tsuser' format '/oracle/css_20041209_%u_%s_%p' tablespace css;

  5. 维护rman

  5.1 查看现有备份

  RMAN> list backup;

  5.2 列出过期备份

  RMAN> report obsolete

  6. 选择备份策略

oracle大数据量定期备份参考方案

相比很多同学都做过历史数据备份的工作,可能方式有很多种,在此说一种业务场景:有原始表a和历史表a_his两个表,每个月月初将a中上个月之前的历史数据,转移到a_his中。 可能一开始想到的方案就是使...
  • sdmanooo
  • sdmanooo
  • 2017年09月20日 17:22
  • 480

Oracle 大数据量下的数据迁移

本文梗概: 本文主要描述了从oracle 9i至oracle 10g的单表大数据量的迁移过程,其间作者尝试了不同方法,对比之后,主要使用了DB Link。 正文:由于公司服务器升级,原Oracle ...
  • golden24kcn
  • golden24kcn
  • 2011年04月18日 16:33
  • 2750

Oracle数据库管理系统:大数据的备份

问:公司里的oracle数据库有20G之大(这是一个方案的大小.原来这个方案有30G,我已经把能删的数据都删了),怎么备份?感觉备份一次好慢啊.专家有什么指导一下的吗?(另:20G的数据库是不是备份也...
  • liqfyiyi
  • liqfyiyi
  • 2011年07月06日 15:20
  • 1002

大数据存储与备份,迫在眉睫!

随着互联网信息技术的发展,如今的社会和人际圈已然成为一个信息化的圈子,而基于这些信息和技术所建立起来的信息系统正改变着人们的工作和生活方式,至今,大数据已经逐渐开始形成。大数据存储备份然而凡事都有两面...
  • qudaqu
  • qudaqu
  • 2018年01月19日 16:07
  • 60

Oracle中删除大数据量表

Oracle中删除大数据量表
  • enter89
  • enter89
  • 2016年01月21日 16:09
  • 698

mysql 对于一个库的备份和还原, 对于大数据量的快速备份和还原

1、备份命令 mysqldump 2、快速导入数据库 A 进入mysql配置文件中 比如:/etc/my.cnf  中   的这一项目:datadir = /data/mysql/dat...
  • qiezikuaichuan
  • qiezikuaichuan
  • 2015年05月11日 10:06
  • 1348

oracle中关于对表的一些操作和表的备份

个人在自学的时候  整理了一些关于ORACLE中操作表的时候经常遇到的问题 1.主键为多个字段 当在创建表的时候,一个字段满足不了主键 这个时候,我们就需要用到多个字段,比如在设计零售零细表的时候,通...
  • qq_37516419
  • qq_37516419
  • 2017年02月13日 14:19
  • 717

Oracle备份恢复-手动备份

dba基础课程:Oracle备份恢复-手动备份  平台:redhat linux as5,oracle10g Oracle提供了许多方法来备份数据库。包括用户管理,恢复管理器(RMAN),...
  • oraclestudyroad
  • oraclestudyroad
  • 2016年08月04日 09:33
  • 927

工作随笔——肆(利用Navicat管理MySql时关于较大数据备份导入问题)

duplicate entry '' for key 'primary',MySQL server has gone away
  • xiaodiannao_1
  • xiaodiannao_1
  • 2016年12月14日 10:53
  • 288

oracle数据库分区的备份和恢复

1 查看创建表空间时指定的数据文件 show parameter db_create_file 2 设置表空间地址 alter system set DB_CREATE_FILE_DES...
  • adermxl
  • adermxl
  • 2014年06月16日 15:43
  • 1203
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle:大数据的备份
举报原因:
原因补充:

(最多只允许输入30个字)