oracle重做日志教程,Oracle教程:重做日志文件基本維護

重做日志文件最重要的用途就是用來恢復數據(其實你也可以用來logminer),它記錄著system global area(sga)當中的database bu

重做日志文件最重要的用途就是用來恢復數據(其實你也可以用來logminer),它記錄著system global area(sga)當中的database buffer cache(高速緩存區)的所有變更信息,記錄到log buffer;不過在某些特殊情況下比如sqlldr direct等直接寫入操作例外,這些例外將不會被記錄。因此,使用redo log在實例崩潰情況下來恢復尚未寫入數據文件的的數據。

針對每個實例,只有一個寫進程LGWR;重做日志文件建議至少兩個組,每個組至少兩個成員文件,同一個組內的成員之間是內容相同的副本拷貝,同組內的成員大小保持一致,當然建議所有的成員大小都一致,為了避免相關的LGWR等待影響數據庫性能,一個比較有用的建議是將成員文件在物理磁盤上分散存放。

提到重做日志文件不得不提到重做日志緩存區log buffer,以及一個重要的進程LGWR日志寫進程,該進程負責建log buffer的內容寫入到redo logfile,具體的觸發條件如下:

◆ 當發出commit命令的時候

◆ 當log buffer的空間寫滿到1/3的時候或者當log buffer的空間寫滿1MB的記錄的時候

◆ 當每3秒鐘超時的時候

◆ 當DBWn需要寫入數據文件的操作之前的時候

◆ 當切換日志文件的時候

0. 查看日志文件

SELECT group#, sequence#, bytes, members, status FROM v$log;--組號、序列號、大小、成員數量、狀態【UNUSED-從未使用過;CURRENT-當前使用中;ACTIVE-活動的,,進行恢復的使用將會被用到;INACTIVE-非活動的;CLEARING_CURRENT-正在清除當前日志文件中已經關閉的線程;CLEARING-類似的,在執行ALTER DATABASE CLEAR LOGFILE之后將被清空為空日志之后將轉化為UNUSED】

select * from v$logfile;--狀態【INVALID-該文件不可訪問;STALE-該文件內容不完全,比如正在添加一個文件成員;DELETED-該文件不再被使用;空白-正在使用】

SELECT groups, current_group#, sequence# FROM v$thread;--組數量、當前組、序列號

1. 查看log buffer

show parameter log_buffer

伴隨著重做日志而來的還有一個重要的信息,那就是是否將日志文件進行歸檔。數據庫可以運行在歸檔模式(archivelog)和非歸檔模式(noarchivelog)下。

2. 查看歸檔模式

archive log list;

select log_mode from v$database;

select archiver from v$instance;

3. 歸檔方式切換

為了簡單,這里使用Oracle 10g來演示。

SQL*Plus: Release 10.2.0.5.0 - Production on Tue May 8 15:49:39 2012

Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> archive log list;

Database log mode No Archive Mode

Automatic archival Disabled

Archive destination /u01/oracle/10g/arch

Oldest online log sequence 158

Current log sequence 160

--目前未歸檔,我們要切換為歸檔,首先設置歸檔目錄

SQL> alter system set log_archive_dest_1='location=/u01/oracle/10g/arch' scope=spfile;

System altered.

--關閉數據庫

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

--啟動實例mount狀態

SQL> startup mount;

ORACLE instance started.

Total System Global Area 1610612736 bytes

Fixed Size 2096632 bytes

Variable Size 469762568 bytes

Database Buffers 1124073472 bytes

Redo Buffers 14680064 bytes

Database mounted.

--打開歸檔模式

SQL> alter database archivelog;

Database altered.

--打開數據庫

SQL> alter database open;

Database altered.

--檢查歸檔模式

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /u01/oracle/10g/arch

Oldest online log sequence 158

Next log sequence to archive 160

Current log sequence 160

--手工切換日志文件

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /u01/oracle/10g/arch

Oldest online log sequence 159

Next log sequence to archive 161

Current log sequence 161

SQL> alter system switch logfile;

System altered.

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /u01/oracle/10g/arch

Oldest online log sequence 160

Next log sequence to archive 162

Current log sequence 162

SQL> alter system archive log current;

System altered.

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /u01/oracle/10g/arch

Oldest online log sequence 161

Next log sequence to archive 163

Current log sequence 163

--切換為非歸檔模式

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

Total System Global Area 1610612736 bytes

Fixed Size 2096632 bytes

Variable Size 469762568 bytes

Database Buffers 1124073472 bytes

Redo Buffers 14680064 bytes

Database mounted.

SQL> alter database noarchivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> archive log list;

Database log mode No Archive Mode

Automatic archival Disabled

Archive destination /u01/oracle/10g/arch

Oldest online log sequence 158

Current log sequence 160

logo.gif 本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴 本文系統來源:php中文網

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458991.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458991.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458991.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

以太網,局域網,萬維網

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 以太網是一種通信協議標準 萬維網WWW 是 Internet 的多媒體信息查詢工具 以太網: 以…

java的自動類型轉換和強制類型轉換

在程序運行時,經常需要將一種數值類型進行轉換成另一種類型。下面給出了一個合法的轉換。數值之間的合法轉換上圖中有6個實心箭頭,表示無信息丟失的轉換,有三個虛箭頭,表示可能有精度丟失的轉換。例如123456789是一個大整數&#…

Class 泛型

Java Class 泛型的例子說明: http://blog.chinaunix.net/uid-1911213-id-3085866.html http://blog.163.com/sir_876/blog/static/1170522320121216273111/轉載于:https://www.cnblogs.com/yedu/p/4514016.html

java動態代理的實現

動態代理作為代理模式的一種擴展形式,廣泛應用于框架(尤其是基于AOP的框架)的設計與開發,本文將通過實例來講解Java動態代理的實現過程。友情提示:本文略有難度,讀者需具備代理模式相關基礎知識&#xff0c…

常見的網絡類型

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 我們經常聽到Internet網、星形網等名詞,它們表示什么?是怎樣分…

oracle放在內存里,oracle如中何把小表釘住在內存中

buffer_pool_defualtbuffer_pool_keepbuffer_pool_recycle如果要把表釘死在內存中,也就是把表釘在keep區。相關的命令為:alter table ..... storage(buffer_pool keep);這句命令把表示表如果緩存的話是緩存在keep區。可以通過語句:select tab…

C++基礎之this指針的詳解

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 關于C中的this指針,建議大家看看這篇文章,《C中的this指針》&a…

xcode 開發ios兼容性問題的上下黑邊 和 coco2d-x 游戲分辨率適配 ResolutionPolicy::FIXED_WIDTH 都會引起上下黑邊問題!!!...

1:Xcode6在iPhone5iOS7模擬器上編譯,上下有黑邊問題 問題描述: Xcode6環境下,對iPhone5或iPhone5s模擬器,在iOS7或iOS7.1下運行,屏幕上下有黑邊。在iOS8下沒問題。 問題分析: 這種熟悉的場景又出…

如何用參數化SQL語句污染你的計劃緩存

你的SQL語句的參數化總是個好想法。使用參數化SQL語句你不會污染你的計劃緩存——錯!!!在這篇文章里我想向你展示下用參數化SQL語句就可以污染你的計劃緩存,這是非常簡單的! ADO.NET-AddWithValue ADO.NET是實現像SQL …

oracle values函數,Oracle文本函數簡介

Oracle文本函數使我們常用的函數,下面就為您介紹幾種Oracle文本函數的用法,供您參考學習,希望可以讓您對Oracle文本函數有更深的認識。(1)UPPER、LOWER和INITCAP這三個函數更改提供給它們的文體的大小寫。select upper(product_name) from pr…

c++ int *p = new int()

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** int *anew int(120); 申請一個整型變量空間,賦初值為120,并…

Ios: 如何保護iOS束文件屬性列表,圖像,SQLite,媒體文件

Ios: 如何保護iOS束文件屬性列表,圖像,SQLite,媒體文件我創建了Hello World示例項目,然後添加data.plist文件到資源文件夾。現在人們可以很容易得到束文件解壓縮。國際音標。有任何的方法來保護data.plist文件保存在iPhone應用程序…

w3wp oracle,w3wp.exe占用CPU超過50%的處理

w3wp.exe占用CPU超過50%的處理1.查看CPU占用高的進程:任務管理器C:\Documents andSettings\Administrator>iisappW3WP.exe PID: 18008 AppPoolId: STATW3WP.exe PID: 8328 AppPoolId: STATW3WP.exe PID: 17868 AppPoolId: JYCV16W3WP.exe PID: 16652 AppPoolId: …

論兩種學習模式

引言 A:你是如何學習的,通過視頻、書籍和實踐結合?B:不是,一般情況是以一個問題為點去畫線和面。 兩種學習模式 按部就班方式獲取知識(通過書、視頻)缺點 信息接收者缺乏深度思考和探索信息發布者的知識體系不一定適合…

啟動mq命令 linux,RocketMQ:Linux下啟動server和broker的命令

目錄QUESTION:RocketMQ:Linux下啟動server和broker的命令?ANSWER:一、啟動mqnamesrv1.1當前執行1.2后臺運行二、啟動mqbroker2.1當前執行2.2后臺運行QUESTION:RocketMQ:Linux下啟動server和broker的命令?ANSWER:一、啟動mqnamesrv1.1當前執行進入rocke…

C++中int *p[4]和 int (*q)[4]的區別

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** C中int *p[4]和 int (*q)[4]的區別 前者是指針數組,后者是指向數組的指針…

Spring筆記③--spring的命名空間

p:命名空間: xmlns:p"http://www.springframework.org/schema/p" 作用:簡化在xml配置bean的屬性 在<bean>中使用p:屬性名來配置 AOP:命名空間: xmlns:aop"http://www.springframework.org/schema/aop" xsi:schemaLocation: http://www.springframewo…

linux不用命令開啟ssh,不用密碼也能ssh登陸Linux?

Linux的一個后門引發對PAM的探究1.1 起因今天在搜索關于Linux下的后門姿勢時&#xff0c;發現一條命令如下&#xff1a;ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort5555;經典后門。直接對sshd建立軟連接&#xff0c;之后用任意密碼登錄即可。ssh rootx.x.x.x -p 5555這個是…

ScrollView常用(暫時用上了的)代理方法

2019獨角獸企業重金招聘Python工程師標準>>> ScrollView常用代理方法: #pragma mark - 滾動結束調用 -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {// 計算 滑動到了第幾頁double page scrollView.contentOffset.x / scrollView.width;self.p…

筆試題目匯總

C常考筆試題:不用if,while,do-while,for,打印出所有大于0小于k的整數.函數原型void printLess(int k); 解法一:遞歸方式(剛想出來) [cpp] view plaincopy #include <iostream> using namespace std; void printLess(int k) { switch(--k) { case 0:…