解决方案:Oracl数据库中大数据的备份

网事以成疯cc

网事以成疯cc

2016-02-19 18:33

图老师小编精心整理的解决方案:Oracl数据库中大数据的备份希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

  问:公司里的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 ,则将数据库修改修改为归档方式

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  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  
SQLalert 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授予权限

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  SQLgrant connect,resource,recovery_catalog_owner to rman;

  2.4打开RMAN

  $RMAN

  2.5连接数据库

  RMANconnect catalog rman/rman;

  2.6 创建恢复目录

  RMANcreate 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. 选择备份策略

展开更多 50%)
分享

猜你喜欢

解决方案:Oracl数据库中大数据的备份

编程语言 网络编程
解决方案:Oracl数据库中大数据的备份

数据备份系统解决方案

编程语言 网络编程
数据备份系统解决方案

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MySQL数据库中的安全解决方案

MySQL mysql数据库
MySQL数据库中的安全解决方案

sql2008 还原数据库解决方案

编程语言 网络编程
sql2008 还原数据库解决方案

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL下数据备份系统解决方案

编程语言 网络编程
MySQL下数据备份系统解决方案

Oracle数据库操作常见错误及解决方案

编程语言 网络编程
Oracle数据库操作常见错误及解决方案

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

常用css缩略语

常用css缩略语

简单介绍CSS结合JS的运用

简单介绍CSS结合JS的运用
下拉加载更多内容 ↓