henbeibi

Wednesday, April 30, 2008

LinuxでSQLPLUSが文字化け

環境
OS:
  Redhat Enterprise Linux AS release 4 (Nahant Update 4)
Database:
  Oracle Database 10g Release 2

環境変数を設定すれば、問題が解消する
export NLS_LANG=Japanese_Japan.AL32UTF8

Labels: , ,

[好文摘录]奔跑的馬

  马是世界上最善跑的动物,它不仅跑得快,而且奔跑时很少会摔倒。
; D5 r7 F$ v4 J: c2 ?1 B! Z, ?5 ?y2.cn  
   在形容马奔跑时,我们总爱用“飞奔”这个词。其实,不管马儿跑得多么快,它都没有“飞”起来,因为它始终保持有一条腿不离开大地。

  
  有人用高倍摄像机摄录马儿奔跑时的步态,发现马儿与其他四足动物的步态有明显的差别。一般四足动物奔跑起来,前面两足大多同时落地,而马儿不是,它的 前面两足落地总会存在一个时间差,同时,它的后面两足与前面两足也存在着延迟的时间差。也就是说,马儿在奔跑时,它的四个足落地的时间是不同的,并始终保 持有一个足踏在大地上。

& V3 K/ |3 J! c& ^. C* P   
  不管跑得多快,也不把自己悬空起来,在这方面,我们很多人都不如马。不是吗?一些人一旦飞黄腾达,就飘飘然,就趾高气扬,就把自己悬空起来,高高在上,目中无人,结果,不少人因此而栽了跟头。

  
  马儿善跑,而且在奔跑时很少见它摔倒,就是因为马儿懂得这样一个道理:只有脚踏实地,才能步态稳健,才能从大地上不断获取前进的力量。


  在人生的路上,我们应该保持一种马儿奔跑的姿态。

Labels:

バックアップ時間の制限

RMANによるBACKUPコマンドで、DURATIONを使用すると、指定した時間内にバックアップを完了させるように指定できます。

MINIMIZE TIME:デフォルト。

MINIMIZE LOAD:テープに書き込む場合は無効です。複数のバックアップファイルが作成されるときに外部への影響を最小限にすることができるため、イメージコピーの作成時に使用するのが望ましい機能です。ただし、バックアップセットでも可能です。

使用例:
BACKUP AS COPY DURATION 04:00 MINIMIZE LOAD DATABASE;
 
 4時間以内に、外部への影響を最小限にしてイメージコピー
 によるバックアップを作成します。

CONFIGURE DEVICE TYPE DISK PARALLELISM 4;
 BACKUP AS BACKUPSET DURATION 04:00 PARTIAL DATABASE;
 
 DURATIONのデフォルトはMINIMIZE TIMEの動作ですので、
 完了していなくても、4時間で正常終了します。
 4つのバックアップセットを作成されます。
 終了時にキャンセルされたバックアップセットは使用できませんが、
 終了までに作成されたバックアップセットはリカバリで使用できます。

Labels:

2008年5月

20080501
EURUSD BUY   20,000 @1.5568
EURUSD BUY   20,000 @1.5521
EURUSD STOP 40,000 @1.5478

EURUSD BUY   20,000 @1.5461
EURUSD LIMIT  20,000 @1.5468

GBPUSD BUY   20,000 @1.9801
GBPUSD STOP 20,000 @1.9787

20080502
USDJPY SELL  20,000 @104.98
USDJPY STOP 20,000 @105.40

EURUSD:
-26,200

GBPUSD:
-2,925

USDJPY:
-8,400

COMMISSION RATE:
-4,000

SUMMARY:
-41,525

Labels:

2008年4月

AUDUSD:
-14,548

EURUSD:
+51,402

GBPUSD:
+67,533

COMMISSION RATE:
-12,800

SUMMARY:
91,587

Labels:

セグメントの縮小機能

Oracle9i Database以前の未使用領域の解放は、ALTER TABLE ... DEALLOCATE UNUSEDなどを使用した最高水位標以上の領域の解放とALTER TABLE ... MOVEコマンドによる再構築や、exp/impユーティリティを使用した再構築が必要でした。

Oracle10gよりは、セグメントの縮小機能を使用することで、最高水位標以下の空き領域も含めて解放することができます。

これは、なかなかいい機能です。

特徴:
1:処理中もオンライン状態ですから、他のセッションで同じ表へのSELECT文とDML文も可能です。
2:縮小後、索引の再構築は必要ありません。
3:テーブル、MV、MVログ、インデックスに対して使用できます。
4:ALTER TABLE ... SHRINK SPACE CASCADE文を使用すると、依存オブジェクトも同時に縮小するようになります。

条件:
1:自動領域管理セグメントであること
SELECT TABLESPACE_NAME, SEGMENT_SPACE_MANAGEMENT FROM DBA_TABLESPACES
で確認。

TABLESPACE_NAME SEGMEN
------------------------------ ------
SYSTEM MANUAL
UNDOTBS1 MANUAL
SYSAUX AUTO
TEMP MANUAL
USERS AUTO
HBBUSER AUTO

2:行管理が有効になっていること
SELECT ROW_MOVEMENT FROM DBA_TABLESで確認。

ROW_MOVE
--------
ENABLED

ALTER TABLE ... ENABLE ROW MOVEMENT;で行管理を有効化する。

Labels:

UNDO保存の保証

ALTER TABLESPACE UNDOTBS1 RETENTION GUARANTEE;
のようにすれば、UNDO表領域がサイズが不足していても、
UNDO_RETENTION期間中には、上書きせず、
実行中のトランザクションを一時停止するようにすることができます。

(9iでは、UNDO_RETENTION初期化パラメータで指定した期間内でも上書きされる)。

そのため、UNDO表領域のサイズを大きめにするか、自動拡張を有効にして、
トランザクションに影響が出ないようにします。

そして、「スナップショットが古すぎ」エラーが発生しているような場合には、
UNDO_RETENTIONが小さすぎるか、UNDO表領域サイズが小さすぎることが予想されます。

Labels:

Wednesday, April 23, 2008

03_記憶域関連の新機能

記憶域関連の新機能

・V$SYSAUX_OCCUPANTSビューのMOVE_PROCEDURE列に表示されるプロシージャを使用すると、SYSAUX占有データを別の表領域に移動できる(プロシージャの所有者はSCHEMA_NAME列に表示されたOracleユーザー)。

・SYSAUX占有データのうち、スケジューラ(JOB_SCHEDULER)は再配置できない。

・表領域名の変更に関する特徴は次のとおり

●ローカル管理表領域のみ可能
●COMPATIBLE初期化パラメータが10.0.0以上であること
●データディクショナリ及び制御ファイル内のその表領域に関するすべての情報が変更される
●SYSTEM、SYSAUXは変更できない
●データファイルがオンラインである必要がある
●読み取り専用表領域の場合は、データファイルヘッダーは変更されない(次に読み書き可能になったときに行われる)

・アクティブにされているUNDO表領域に対する表領域名の変更時は、UNDO_TABLESPACE初期化パラメータも自動的に変更される。

・DBCAで作成したデータベースの場合、デフォルト永続表領域は「USERS表領域」が指定されている。

・デフォルト永続表領域の確認は、DATABSE_PROPERTIESビューで行える。

・BIGFILE表領域の特徴は次のとおり。

●表領域に含まれるのは単一のデータファイル
●OMFと連携すれば、ファイルを完全に意識しなくて済む(透過性の実現)

・BIGFILE表領域の場合、データファイルの自動拡張設定やサイズ変更などは、表領域に対しても実行可能。

●ALTER TABLESPACE ... RESIZE サイズ;
●ALTER TABLESPACE ... AUTOEXTENT ON;
●ALTER DATABASE DATAFILE ... RESIZE サイズ;(従来の方法)

・UNDO保存期間は、最大の問い合わせ時間によって自動調整される。

・UNDO_RETENTION初期化パラメータは、最低のUNDO保存期間として使用される。

・UNDO保存の保証(ALTER TABLESPACE ... RETENTION GURANTEE)を行うと、UNDO保存期間中のUNDOデータの上書きを防止する。

・UNDOアドバイザへのアクセスは、「UNDO管理」ページから行う。

・UNDO保存期間に必要なUNDO表領域サイズなどをアドバイスするのは、「UNDOアドバイザ」

・UNDOアドバイザでは、分析期間の設定も可能。

・一時表領域グループの特徴は次のとおり。

●表領域と同じ名前空間(ネームスペース)が使用される
●一時表領域を作成するときに一時表領域グループ名を指定することで作成される
●少なくとも1つの一時表領域が含まれている

・一時表領域の作成時、または変更時に、GROUP句を省略するか、「GROUP ''」とした場合は、どのグループにも属さない一時表領域となる。

・セグメントの縮小を行う条件は次のとおり。

●行管理の有効化「ALTER TABLE ... ENABLE ROW MOVEMENT」が必要
●自動セグメント領域管理の表領域に格納されているセグメントであること

・セグメントの縮小による結果は次のとおり。

●SHRINK SPACE句:セグメントの領域は圧縮され、未使用領域が解放される
●CASCADE句:表に依存するオブジェクトも同様に縮小される

・解放できる表領域内の空き領域などを確認するには、「セグメントアドバイザ」を使用する。

・索引の使用不可に関する特徴は次のとおり。

●SKIP_UNUSABLE_INDEXES初期化パラメータのデフォルト値がTRUE
●使用不可の索引にアクセスしても、自動的にスキップされる
●使用不可になるメンテナンス時、アラートログに警告メッセージが記録される

・表パーティションメンテナンス時の「UPDATE INDEXES」句について、次のことを覚えておく。

●ローカル索引とグローバル索引が自動的に再構築される
●明示的な記憶域変更が指定されていなければ、元の索引格納表領域で再構築される
・ハッシュパーティショングローバル索引でサポートされないメンテナンスコマンドは次のとおり。

●UNUSABLE句を除くMODIFY PARTITION
●SPLIT PARTITION

・マテリアライズドビューがリライトされないときにエラーとするなら、「REWRITE_ON_ERROR」ヒントを使用する。

・DBMS_ADVISOR.TUNE_MVIEWプロシージャで作成できるSQL文は次のとおり。

●高速リフレッシュのためのマテリアライズドビューログの作成
●クエリーリライトを可能とするマテリアライズドビューの作成

Labels:

02_管理の自動化を行う新機能

管理の自動化を行う新機能

・AWRスナップショットの作成について、次のことを覚えておく。

●作成は「MMON」プロセスが行う(ASHのバッファが部即すると「MMNL」プロセスが実行)
●STATISTICS_LEVEL初期化パラメータがTYPICALまたはALLであることが必要

・AWRスナップショットのデフォルト設定は、60分に1度の収集と7日間の保存。

・AWRスナップショットの設定変更の方法は次のとおり。

●Enterprise Managerの「設定の編集」ページ
●DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGプロシージャ

・事前定義済みサーバー生成アラートは次の理由により発生する

●表領域の領域使用率(ローカル管理表領域のみ)
●リカバリ領域の空き領域不足
●再開可能セッションの一時停止
●スナップショットが古すぎエラー

・表領域使用率のサーバー生成アラートについて、次のことを覚えておく

●ディクショナリ管理表領域は制限がある
●自動拡張可能なデータファイルは、最大サイズで閾値が判断される

・「ORA-01555:スナップショットが古すぎます」エラーに対するサーバー生成アラートは、24時間以内に最大一度の未表示される。

・サーバー生成アラートのしきい値を変更する方法は次のとおり。

●Enterprise Managerの「しきい値の編集」ページ
●DBMS_SERVER_ALTERパッケージ

・サーバー生成アラートの結果を表示する方法は次のとおり。

●Enterprise Managerの「データベースホーム」ページ「アラート」リージョン
●DBA_OUTSTANDING_ALERTビュー

・サーバー生成アラートの結果を表示する方法は次のとおり。

●Enterprise Managerの「データベースホーム」ページ(「アラート」リージョン)
●DBA_OUTSTANDING_ALERTSビュー

・閾値を下回ったサーバー生成アラートは、DBA_ALERT_HISTORYビューで確認できる。

・ADDMによって行われる処理は次のとおり。

●システム問題を検出し、推奨事項を生成する。
●問題のない領域もドキュメント化する

・ADDMは、AWRスナップショットが作成されると自動起動し、結果はAWRに格納される。

・ADDMの起動間隔について、次のことを覚えておく。

●デフォルトは60分に1度
●変更するなら、AWRスナップショットの作成間隔を変更する

・ADDMの実行結果の確認方法は次のとおり。

●Enterprise Managerの「Automatic Database Diagnostic Monitor(ADDM)」ページ
●DBMS_ADVISOR.GET_TASK_REPORT
●$ORACLE_HOME/rdbms/admin/addmrpt.sql

・自動共有メモリー管理にて調整されるメモリーコンポーネントは次のとおり。

●共有プール(SHARED_POOL_SIZE)
●データベースバッファキャッシュ(DB_CACHE_SIZE)
●ラージプール(LARGE_POOL_SIZE)
●Javaプール(JAVA_POOL_SIZE)

・自動共有メモリー管理の各コンポーネントのメモリーサイズ調整は「MMAN」プロセスが行う。

・自動共有メモリー管理の設定方法について、次のことを覚えておく。


●STATISTICS_LEVEL初期化パラメータがTYPICALまたはALLであることが必要
●SGA_TARGET初期化パラメータにて全体サイズを設定(最大SGA_MAX_SIZEまで)

※SGA_TARGETは自動で行うメモリーコンポーネントの合計サイズではなく、手動+自動である。

・自動共有メモリー管理が有効なとき、自動調整されるメモリーコンポーネントに指定したサイズは、最低サイズとして使用される。

・自動オプティマイザ統計収集では、統計がないもの、または統計が執行したものが収集される。

・自動オプティマイザ統計収集が行われるタイミングについて、次のことを覚えておく。
●データベーススケジューラのウインドウを使用
●WEEKNIGHT_WINDOW:月曜~金曜の午後10:00~午前6:00
●WEEKEND_WINDOW:土曜の午前12:00~月曜の午前12:00

・オプティマイザ統計は、デフォルト31日間保存される。

・オプティマイザ統計をリストアには、DBMS_STATS.RESTORE_XXX_STATSプロシージャを使用する。

・SQLチューニングアドバイザでチューニングできることは次のとおり。

●チューニングされた実行計画の作成
●失効または欠落している統計の検出
●SQLの再構築
●欠落している索引の追加

・SQLアクセスアドバイザで調整できるオブジェクトは次のとおり。

●索引
●マテリアライズドビュー
●マテリアライズドビューログ

・Enterprise Managerの「パフォーマンス」ページに表示される情報は次のとおり。

●「ホスト」(実行キューの長さとページング率)チャート
●「セッション:待機中と実行中」チャート
●「インスタンスのスループット」チャート

Labels:

Tuesday, April 22, 2008

01_サーバー構成に関する新機能

サーバー構成に関する新機能

・DBCAにて新規データベースの作成時に自動構成されるのは次のとおり。

●デフォルトのフラッシュリカバリ領域
●自動オプティマイザ統計収集設定

・Enterprise Manager Database Controlへの接続方法は次のとおり。

●「emctl start dbconsole」コマンドにてdbconsoleプロセスを起動
●デフォルトのポートは5500⇒http://ホスト名:5500/em

・データベース機能の統計情報の収集について、次のことを覚えておく。

●MMONによって自動収集される。
●SYSAUX表領域に格納される。

・データベース機能の統計情報の確認方法は次のとおり。

●Enterprise Managerの「データベース使用状況統計」ページ
●DBA_FEATURE_USAGE_STATISTICSビュー(DB機能の使用統計)
●DBA_HIGN_WATER_MARK_STATISTICSビュー(DB最高水位標統計)

・ポリシーフレームワークについて、次のことを覚えておく。

●Enterprise Managerによって自動的に提供される。
●ポリシーは事前定義されている。

・「ポリシー・ライブラリの管理」ページを使用することで、ポリシーを無効にすることができる。

・「ポリシー違反の管理」ページで設定できる内容は次のとおり。

●ポリシーを無視させることができる
●カテゴリ別に「高」「中」「情報」の優先順位が設定されている

・データベースをアップグレードする場合は、DBUAを使用するか、事前にSYSAUX表領域を作成して手動でアップグレードする

・COMPATIBLE初期化パラメータの特徴は次のとおり。

●アップグレードによる互換性が保証され、新しいバージョンの機能がすべて使用できる。
●アップグレードしてOracleサーバーを起動すると、元に戻せない

Labels:

Monday, April 21, 2008

Solaris10でrootにftpを許可する

Solaris10はインストール直後、rootでftpしてくることを許可していない。
何かと不便なので、rootでftpを許可することにする。

/etc/ftpd/ftpdusers
ファイルを編集すればよい。このファイルはftpを許可しないユーザ一覧です。
以下のようにrootをコメントアウトしましょう。これでOKです。

#vi /etc/ftpd/ftpusers

# ident "@(#)ftpusers 1.5 04/02/20 SMI"
#
# List of users denied access to the FTP server, see ftpusers(4).
#
#root
daemon
bin
sys
adm
lp
uucp
nuucp
smmsp
listen
gdm
webservd
nobody
noaccess
nobody4

Labels:

Sunday, April 20, 2008

AirportKey

F2FDE99F90D29A86C89A81C189

Labels:

サーバー構成に関する新機能

  • 応答ファイルを使用したサイレントインストールでは、GUIクラスがインスタンス化されない
  • DBCAにて新規データベースの作成時に自動構成されるものは次の通り
    • デフォルトのフラッシュリカバリ領域
    • 自動オプティマイザ統計収集設定
  • Enterprise Manager Database Controlへの接続方法は次のとおり。
    • [emctl start dbconsole]コマンドでdbconsoleプロセスを起動
    • デフォルトのポートは5500⇒http://ホスト名:5500/em
  • データベース機能の統計情報の収集について、次のことを覚えておく。
    • MMONによって自動収集される
    • SYSAUX表領域に格納される
    • 自動的に収集される
  • データベース機能の統計情報の確認方法は次のとおり。
    • Enterprise Managerの「データベース使用状況統計」ページ
    • DBA_FEATURE_USAGE_STATISTICSビュー(DB機能の使用統計)
    • DBA_HIGH_WATER_MARK_STATISTICSビュー(DB最高水位標統計)
  • ポリシーフレームワークについて、次のことを覚えておく。
    • Enterprise Managerによって自動的に構成される
    • ポリシーは事前定義されている
  • 「ポリシー・ライブラリの管理」ページを使用することで、ポリシーを無効にすることができる。
  • 「ポリシー違反の管理」ページで設定できる内容は次のとおり。
    • ポリシーを無視させることができる
    • カテゴリ別に「高」「中」「情報」の優先順位が設定されている
  • データベースをアップグレートする場合は、DBUAを使用するか、事前にSYSAUX表領域を作成して手動でアップグレードする。
  • COMPATIBLE初期化パラメータの特徴は次のとおり。
    • アップグレートによる互換性が保証され、新しいバージョンの機能がすべて使用できる
    • アップグレードしてOracleサーバーを起動すると、元に戻せない

UNDOアドバイザ

推奨される三要素

1:必要なUNDO表領域サイズ
2:最適なUNDO保存期間
3:拡張可能なUNDO表領域の最大サイズ

スナップショットが古すぎエラーについて

UNDO保存期間が短すぎるか、UNDO表領域サイズが小さすぎることが予想される。

Labels:

Sunday, April 13, 2008

ASMインスタンスの管理

ASMを管理するASMインスタンスは特殊なインスタンスで、ASMディスクグループをマウントするMOUNTモードまでしか起動しません。このインスタンスに接続できるのは、特権ユーザーとしてのSYSDBA権限、SYSOPER権限を持つユーザーのみです。SYSOPER権限を持つユーザーは、下表にあるコマンドを使用することができます。

コマンド 説明
STARTUP,SHUTDOWN ASMインスタンスの起動、停止
ALTER DISKGROUP...MOUNT、ALTER DISKGROUP...DISMOUNT ASMディスクグループのマウント、ディスマウント
ALTER DISKGROUP...ONLINE、 ALTER DISKGROUP...OFFLINE ASMディスクグループのオンライン化、オフライン化
ALTER DISKGROUP ... READBALANCE ASMディスクグループに対する手動再バランス
ALTER DISKGROUP ... CHECK ASMディスクグループのメタデータの一貫性を確認し、修復方法を表示させる

Labels:

ASMインスタンスの作成にかかわる初期化パラメータ

初期化パラメータ名 説明
INSTANCE_TYPE ASMインスタンスでは、{ASM}と指定する。データベースインスタンスの場合は、{RDBMS}とする。デフォルトは{RDBMS}。
DB_UNIQUE_NAME ASMインスタンスでASMディスクグループを管理するサービス名を指定する。1つのノードに1つのASMインスタンスのみを起動するのであれば、[+ASM]とする(デフォルト)
ASM_POWER_LIMIT 再バランス作業の速度を制御する。1~11の値を私用でき、11が催促でリバランスを実行する(逆に他への影響は大きい)。再バランスを主導で実行するコマンドのPOWER句で上書きされる。
ASM_DISKSTRING ASMインスタンスで検出するディスクの名前。[/ASM/rdisk/c1*]などをワイルドカードも可能
ASM_DISKGROUPS ASMインスタンスがマウントするときに自動的にマウントするASMディスクグループ名のリスト
LARGE_POOL_SIZE ASMインスタンス内部で私用するパッケージはラージプールから実行されるため、最低8MBに設定する


ASMインスタンスとして必須と成っている初期化パラメータは、[INSTANCE_TYPE=ASM]です。他の初期化パラメータは、環境に応じて調整していくことができます。

Labels:

ASM

自動ストレージ管理機能の略です。Automatic Storage Management。

ASMオブジェクト 説明
ASMディスク 物理的なディスクパーティション(RAWディバイス)と対応。LVMでいう物理ボリュームに相当する
ASMディスクグループ ASMディスクをまとめて管理するグループ。LVMでいうボリュームグループに相当する
ASMファイル データベースインスタンス側でASMディスクグループを使ってファイル作成を依頼すると作成されるファイル。実際の領域はASMディスクに分散され、データベースインスタンス側から見ると1つのファイルとして扱われる。LVMでいう論理ボリュームに相当する


通常のデータベースインスタンスの代わりに、ASMインスタンスがASMオブジェクトを管理します。ASMインスタンスは、1つのノード(マシン)上に1つ以上必要なインスタンスです。

通常のバックグラウンドプロセスのほかに、ASMインスタンスでは、RBAL(Rebalance)とARBn(ASM Rebalancer)という2つのバックグラウンドプロセスが起動します。

プロセス名 説明
RBAL ディスクグループの再バランス全体を調整するプロセス。ASMディスクの追加、削除が行われると再バランスが行われる(ASMディスク内の領域の再分散)
ARBn 実際の再バランスのためのデータエクステントの移動を行うスレーブプロセス。ARB0、ARB1といった番号が割り当てられる。


一方、ASMを使用するデータベースインスタンス側では、通常のバックグラウンドプロセスのほかに、RBAL(Rebalance)とASMB(ASM Background)地うバックグラウンドプロセスが起動します。

プロセス名 説明
RBAL ASMディスクグループ内のASMディスクへのアクセスのコーディネートする
ASMB ASMインスタンスに接続するためのバックグラウンドプロセス。ASMインスタンス側のFG(フォアグラウンドプロセス)と通信

Saturday, April 05, 2008

10g OCP

进入新公司第一个星期,头说我现在反正也没啥事情,那就去考资格吧。

正合我意啊,那就先拿一个10g的黄金吧。这个东西虽然不是很值钱,总比没有好,何况考试费用公司可以出,而且有可能会给一点報奨金。何乐而不为,嘿嘿。

不过说实话,Oracle已经很久没碰了,自从2005年拿到9i的OCP以后,作了一个DB2的项目,然后又是Eclipse SWT,然后才解除了一点点Oracle 10g。接下来就是上学什么什么的。不管怎么样,争取在一个月之内搞定。