Oracle重做日志管理

Jun 07, 2016 pm 03:25 PM
oracle ログ 管理

Oracle重做日志操作是为了记录数据的改变,提供数据库的恢复,下面就为您介绍重做日志的运行流程,希望对您能够有所帮助。 一、ORACLE引入重做日志目的:记录数据的改变,提供数据库的恢复。 1、日志文件需要分组,同一个重做日志组的每个成员所存的信息完全

Oracle重做日志操作是为了记录数据的改变,提供数据库的恢复,下面就为您介绍重做日志的运行流程,希望对您能够有所帮助。

一、ORACLE引入重做日志目的:记录数据的改变,提供数据库的恢复。

1、日志文件需要分组,同一个重做日志组的每个成员所存的信息完全相同。(当为当前联机日志组添加成员时,造成该组的成员间数据不完全一样,因此添加成员时应注意被添加组是否处于CURRENT状态,如果是则可Alter system swtich logfile 来改变当前使用的日志组)

2、每个组中的重做日志文件均被称为成员

3、每组最好有2、3个成员,分别放置不同的物理磁盘,这样安全性较高。

4、最少需要两个重做日志组

二、Oracle重做日志的运行流程:

Oracle重做日志按照有序循环的方式被使用,即当一组日志文件被填满后,循环覆盖下一组日志文件,不断循环。此时称为日志切换。检查点操作也在此时发生,检查点操作是用来实现同步的,它会写数据文件的头信息、控制文件。在归档模式下,当一组日志文件被填满后,ARCH(归档写进程)将这组复制到归档日志文件中。(在ARCH正在写的重做日志文件LGWR是不可以写的)

1、Oracle重做日志文件的定稿是依靠LGWR后台进程

2、.LGWR正在写的重做日志组称为:当前重做日志组。

3、重做日志文件------联机日志文件;归档日志文件------脱机日志文件

三、查询重做日志组:

1、日志组:

select group#, sequence#, members, bytes, status, archived from v$log;

Status列中各值的意义:

Current:当前组。

Inactive:实例恢复已不需要这组日志了

Activie:这组日志是活动的,但非当前组。例如正在归档。

Unused:此组从未被写过。是日志刚被添加到DB中的状态。

2、日志文件:

Select * from v$logfile;

Status列中各值的含义:

空白:此文件正在使用。

Stale:该文件内容是不完全的。

Invalid:该文件不可以被访问。例如刚建立

Deleted:该文件已不再有用。

四、创建与删除重做日志文件组:

1、添加删除重做日志文件组:

Alter database add logfile (‘d:\**.log’, ‘e:\**.log’ ) size15m;

(这样创建的2个重做日志文件都会是同一组)

Alter database drop logfile group 4;

删除指定组号的重做日志组(删除后实际文件并未删除,需手动删除)

删除过程中出现的各种限制条件如下:

current log group当前日志组不可删除,要删除当前日志组需要先对当前日志组进行切换,使用命令为alter system switch logfile;

active log group活动的日志组不可删除

no archived log group没有归档的日志组不可删除(前提是已运行在归档模式下)

2、添加/删除重做日志文件:

Alter database add logfile member‘d:\red004.log’ to group 1,‘d:\red005.log’ to group2;

Alter database drop logfile member ‘d:\red004.log’;
删除时遇到的限制条件:

不能删除当前组的成员,如要删除则:强制性切换重做日志的命令:alter system switch logfile;

active log group活动的日志成员不可删除

no archived log group没有归档的日志成员不可删除(前提是已运行在归档模式下)

at least one member per group当日志成员中只有一个成员

特例:

有的时候在删除重做日志文件redo log file时,会出现如下错误

ERROR位于第1行:

ORA-00362:要求输入成员以组成组4中的有效日志文件

ORA-01517:日志成员: 'C:\ORACLE\ORADATA\GXCNC\REDO041.LOG'

(之所以不能drop logfile member from group 2,是因为group 2的其他redo log file的状态不对。这种情况,应该作几次alter system switch logfile ,使group 2的其他redo log file的状态变为正常 就可以了。)

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracleの表空間サイズを確認する方法 Oracleの表空間サイズを確認する方法 Apr 11, 2025 pm 08:15 PM

Oracle Tablespaceサイズを照会するには、次の手順に従ってください。クエリを実行して、TableSpace名を決定します。DBA_TABLESPACesからTableSpace_Nameを選択します。クエリを実行してテーブルスペースのサイズをクエリします:sum(bytes)をtotal_size、sum(bytes_free)asavail_space、sum(bytes) - sum(bytes_free)as sum(bytes_free)as dba_data_files from tablespace_

Oracleデータベースをインポートする方法 Oracleデータベースをインポートする方法 Apr 11, 2025 pm 08:06 PM

データインポート方法:1。SQLLOADERユーティリティを使用します。データファイルを準備し、制御ファイルを作成し、SQLLoaderを実行します。 2。IMP/EXPツールを使用します。データをエクスポートし、データをインポートします。ヒント:1。ビッグデータセットに推奨されるSQL*ローダー。 2。ターゲットテーブルが存在する必要があり、列定義が一致します。 3。インポート後、データの整合性を検証する必要があります。

Oracleのインストールをアンインストールする方法は失敗しました Oracleのインストールをアンインストールする方法は失敗しました Apr 11, 2025 pm 08:24 PM

Oracleインストール障害のためのアンインストールメソッド:Oracleサービスを閉じ、Oracleプログラムファイルとレジストリキーを削除し、Oracle環境変数をアンインストールし、コンピューターを再起動します。アンインストールが失敗した場合、Oracle Universal Uninstallツールを使用して手動でアンインストールできます。

テーブルフィールドをOracleに追加する方法 テーブルフィールドをOracleに追加する方法 Apr 11, 2025 pm 07:30 PM

ALTER TABLEステートメントを使用して、特定の構文は次のとおりです。ALTERTABLE TABLE_NAME add column_name data_type [constraint-clause]。 WHERE:table_nameはテーブル名、column_nameはフィールド名、data_typeはデータ型、制約条項はオプションの制約です。例:テーブルの従業員を変更すると、電子メールvarchar2(100)は、従業員テーブルに電子メールフィールドを追加します。

Oracleを再び追求する方法 Oracleを再び追求する方法 Apr 11, 2025 pm 07:33 PM

Oracleは複数の重複排除クエリメソッドを提供します。個別のキーワードは、各列の一意の値を返します。 Group by Clauseは、結果をグループ化し、各グループの非繰り返し値を返します。一意のキーワードは、一意の行のみを含むインデックスを作成するために使用され、インデックスをクエリすると自動的に重複排除が行われます。 row_number()関数は、一意の数値を割り当て、行1のみを含む結果をフィルタリングします。min()またはmax()関数は、数値列の非繰り返し値を返します。交差する演算子は、2つの結果セットの共通値を返します(複製なし)。

Oracleでテーブルを作成する方法 Oracleでテーブルを作成する方法 Apr 11, 2025 pm 08:00 PM

Oracleテーブルの作成には、次の手順が含まれます。作成テーブルの構文を使用して、テーブル名、列名、データ型、制約、およびデフォルト値を指定します。テーブル名は簡潔で説明的である必要があり、30文字を超えてはなりません。列名は説明的でなければならず、データ型は列に保存されているデータ型を指定します。 NOT NULL制約により、列でnull値が許可されていないことが保証され、デフォルト句は列のデフォルト値を指定します。テーブルの一意の記録を識別する主要なキーの制約。外部キーの制約は、表の列が別のテーブルの主キーを指していることを指定します。主要なキー、一意の制約、デフォルト値を含むサンプルテーブル学生の作成を参照してください。

Oracleビューを暗号化する方法 Oracleビューを暗号化する方法 Apr 11, 2025 pm 08:30 PM

Oracle View暗号化により、ビュー内のデータを暗号化でき、それにより機密情報のセキュリティが強化されます。手順には以下が含まれます。1)マスター暗号化キー(MEK)の作成。 2)暗号化されたビューを作成し、暗号化されるビューとMEKを指定します。 3)暗号化されたビューにアクセスすることをユーザーに許可します。暗号化されたビューがどのように機能するか:ユーザーが暗号化されたビューを求めてクエリをするとき、OracleはMEKを使用してデータを復号化し、認定ユーザーのみが読み取り可能なデータにアクセスできるようにします。

Oracleで文字化けのコードを解決する方法 Oracleで文字化けのコードを解決する方法 Apr 11, 2025 pm 10:09 PM

Oracle Garbledの問題は、データベース文字セットをチェックしてデータと一致するようにすることで解決できます。データベースに一致するようにクライアント文字を設定します。データを変換するか、列文字セットを変更してデータベース文字セットに一致させます。 Unicode文字セットを使用して、マルチバイト文字セットを避けます。データベースとクライアントの言語設定が正しいことを確認してください。

See all articles