Tony Blog

迈小步,不停步


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • message

  • 搜索

Oracle-Data-Guard之创建物理备库

发表于 2017-03-23 | 分类于 Oracle Data Guard

第一. Creating a Physical Standby Database


1.1 实验背景

此处输入图片的描述

  • You have two servers (physical or VMs) with an operating system and Oracle installed on them. In this case I’ve used Oracle Linux 5.6 and Oracle Database 11.2.0.2.
  • The primary server has a running instance.
  • The standby server has a software only installation.
数据库 IP DB_SID DB_NAME DB_UNIQUE_NAME Oracle Net Service Name
Primary 0.0.0.188 mmpdb3 mmpdb3 mmpdb3 mmpdb3
Physical standby 0.0.0.189 mmpdb3 mmpdb3 mmpdb3sby mmpdb3sby
阅读全文 »

ORACLE简单易懂之Rman备份恢复概念

发表于 2017-01-20 | 分类于 Oracle Backup and Recovery

8.1 Rman恢复的概念

8.1.1 Restore 和 Recovery的区别

Restoration: A corrupted data file is overwritten from a backup of the data file .The data file is at a prior point of time than the current database.

Recovery: Recovery applies the changes to the individual blocks,using archive and redo information,to move the database forward to the current point in time.

从原理上解释,Restore是使用备份文件,将数据库还原到过去的某个状态。

Recovery是使用redo日志和归档日志将数据库向前恢复,一步步的恢复到现在这个时点。

举个例子。
某生产环境的数据库,每天凌晨一点会作一次备份。某天下午两点时数据库文件损害,同时数据库宕机。
接着DBA开始恢复数据库。

1.首先,使用最近一次的备份文件还原数据库到当天凌晨一点的状态。但是凌晨一点到下午两点的数据丢失了。
2.接着,使用redo日志和归档日志,把当天凌晨一点开始的数据库操作重做一遍,直到下午两点数据库宕机前。
这样数据库就一点都不差的被恢复起来了。

阅读全文 »

Oracle简单易懂之事务流程分析

发表于 2017-01-13 | 分类于 Oracle

事务的完整流程分析

一个事务的简单流程分析

1、事务开始;

2、在buffer cache中找到需要的数据块,如果没有找到,则从数据文件中载入buffer cache中;

3、事务修改buffer cache的数据块,该数据被标识为“脏数据”,并被写入log buffer中;

4、事务提交,LGWR进程将log buffer中的“脏数据”写入redo log file中;

5、当发生checkpoint,CKPT进程更新所有数据文件的文件头中的信息,DBWn进程则负责将Buffer Cache中的脏数据写入到数据文件中。

附:checkpoint由ckpt进程触发oracle进行checkpoint动作,将data buffer中的脏块(已经写在redo里记录但是没有写到datafile里的)的内容写入到data file里并释放站用的空间,由dbw后台进程完成,并修改controlfile和datafile的scn.
一般手工执行(alter system checkpoint)是由于要删除某个日志但是该日志里还有没有同步到data file里的内容,就需要手工check point来同步数据,然后就可以drop logfile group n.

阅读全文 »

Oracle简单易懂之logminer

发表于 2017-01-06 | 分类于 Oracle

Logminer操作

LogMiner介绍

Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 在线/归档日志文件中的具体内容,特别是该工具可以分析出所有对于数据库操作的DML和DDL语句。该工具特别适用于调试、审计或者回退某个特定的事务。

LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图(Oracle8i内置包的一部分)组成,它作为Oracle数据库的一部分来发布是8i产品提供的一个完全免费的工具。但该工具和其他Oracle内建工具相比使用起来显得有些复杂,主要原因是该工具没有提供任何的图形用户界面(GUI)。

此处输入图片的描述

Figure shows a sample LogMiner configuration. In this figure, the source database in Boston generates redo log files that are archived and shipped to a database in San Francisco. A LogMiner dictionary has been extracted to these redo log files. The mining database, where LogMiner will actually analyze the redo log files, is in San Francisco. The Boston database is running Oracle9i, and the San Francisco database is running Oracle Database 10g.

阅读全文 »

Rman恢复-Restore和Recovery的区别

发表于 2016-12-30 | 分类于 Oracle Backup and Recovery

Restore和Recovery的区别

Restoration: A corrupted data file is overwritten from a backup of the data file .The data file is at a prior point of time than the current database.

Recovery: Recovery applies the changes to the individual blocks,using archive and redo information,to move the database forward to the current point in time.

从原理上解释,Restore是使用备份文件,将数据库还原到过去的某个状态。

Recovery是使用redo日志和归档日志将数据库向前恢复,一步步的恢复到现在这个时点。

举个例子
某生产环境的数据库,每天凌晨一点会作一次备份。某天下午两点时数据库文件损害,同时数据库宕机。
接着DBA开始恢复数据库。

1.首先,使用最近一次的备份文件还原数据库到当天凌晨一点的状态。但是凌晨一点到下午两点的数据丢失了。
2.接着,使用redo日志和归档日志,把当天凌晨一点开始的数据库操作重做一遍,直到下午两点数据库宕机前。
这样数据库就一点都不差的被恢复起来了。

阅读全文 »

zabbix-pyora定制监控Oracle数据库

发表于 2016-12-05 | 分类于 zabbix

安装Pyora 监控oracle

Today Zabbix have some nice improvements like macros and Discovery, so we can set the database settings(user,password,database and such) on the host using macros and not hard code it on a script that you have to access a server to change it. Also if Zabbix already discovery disks and network interfaces why not Oracle tablespaces? Then Pyora was born:

Pyora is a clean python script that uses cxOracle library to fetch data from the database. To use Pyora you need Oracle client and the cxOracle. I’m assuming that you have both installed on your system, if you don’t have it you check this page and install it.

阅读全文 »

Oracle备份恢复案例3-控制文件的恢复

发表于 2016-11-17 | 分类于 Oracle Backup and Recovery

7.5.3 案例3 (控制文件的恢复)

7.5.3.1 场景1 控制文件没有全坏,有一个是好的

step 1: 查看控制文件记录的序列号,控制文件和数据文件的SCN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
-- Control file sequence number incremented by control file transactions
-- V$DATABASE displays information about the database from the control file.
SQL> select CONTROLFILE_SEQUENCE# from v$database;
CONTROLFILE_SEQUENCE#
---------------------
1676
-- The x$kcvfh table is a fixed table in Oracle. The table naming stands for Kernel, Cache, recoVery, File, Header.
-- FHCSQ:controlfile sequence number in the Memory
SQL> select hxfil as file#, FHCSQ from x$kcvfh;
FILE# FHCSQ
---------- ----------
1 1644
2 1644
3 1644
4 1644
5 1644
6 1644
-- Last SCN in backup control file; null if the control file is not a backup
SQL> select controlfile_change# from v$database;
CONTROLFILE_CHANGE#
-------------------
1152251
-- Last SCN checkpointed
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
1146902
-- Data file checkpoint change#
-- "V$DATAFILE_HEADER", which displays information from data file headers
SQL> select file#, checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1146902
2 1146902
3 1146902
4 1146902
5 1146902
6 1146902
-- SCN at last checkpoint
-- V$DATAFILE displays datafile information from the control file.
SQL> select file#, checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1146902
2 1146902
3 1146902
4 1146902
5 1146902
6 1146902
阅读全文 »

Oracle备份恢复案例2-表空间热备恢复

发表于 2016-11-16 | 分类于 Oracle Backup and Recovery

7.5.2 案例2 (数据库打开时的恢复以用户数据的表空间为例(热备))

热备份是当数据库打开并对用户有效是的OS级的数据备份。热备份只能用于ARCHIVELOG方式的数据库。在数据文件备份之前,对应的表空间必须通过使用ALTER TABLESPACE …… BEGIN BACKUP以备份方式放置。然后组成表空间的数据文件可以使用类似冷备份的操作系统命令进行拷贝。在数据文件用操作系统命令拷贝后,应使用ALTER TABLESPACE …… END BACKUP命令使表空间脱离热备份方式。
热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。

对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。

热备份的优点:

  • 可在表空间或数据文件级备份,备份时间短。
  • 备份时数据库仍可使用。
  • 可达到秒级恢复(恢复到某一时间点上)。
  • 可对几乎所有数据库实体作恢复。
  • 恢复是快速的,在大多数情况下在数据库仍工作时恢复。
阅读全文 »

Oracle备份恢复案例1-使用冷备份数据文件实现恢复

发表于 2016-11-16 | 分类于 Oracle Backup and Recovery

场景: 数据库关闭时的恢复(system,sysaux,undo,whole database):user表空间为例(冷备)

step 1: 查看有哪些数据文件

1
2
3
4
5
6
7
8
select * from v$dbfile;
FILE NAME
---------- ------------------------------------------------------------
4 /home/oracle/app/oracle/oradata/mmpdb3/users01.dbf
3 /home/oracle/app/oracle/oradata/mmpdb3/undotbs01.dbf
2 /home/oracle/app/oracle/oradata/mmpdb3/sysaux01.dbf
1 /home/oracle/app/oracle/oradata/mmpdb3/system01.dbf
5 /home/oracle/app/oracle/oradata/mmpdb3/tab01.dbf
阅读全文 »

Oracle清除离线数据文件记录

发表于 2016-11-11 | 分类于 Oracle Issue

Oracle清除离线数据文件记录

测试前提:数据文件离线,系统上删除了该文件,需要删除在数据字典中,关于这条离线数据文件记录

阅读全文 »
12345
Tony Wang

Tony Wang

终会有属于自己的一片天空!

46 日志
17 分类
16 标签
github gitbook Java Python 数据库排名 程序排名 Oracle Mysql DBAplus Performance
友情链接
  • Open Source
  • 惜分飞
  • DBA eygle
  • asktom
  • 天堂向左 DBA向右
© 2016 — 2018 Tony Wang
本站访客数: