dポイントプレゼントキャンペーン実施中!

【以前の質問】
Oracleがインストールされているサーバの
システム日付を変更してテストを実施した
いと考えております。
ネットを検索するシステム日付の変更は
危険な様ですが、問題ない手順をご存知な方
は教えて頂けないでしょうか。
宜しくお願いします。
【頂戴した回答】
初期化パラメータFIXED_DATEを変更する
【更に質問】
FIXED_DATEの利用も検討してみますが、
日付が固定値になります。
時分秒の経過もテストデータとしたいのですが、
その場合はやはりシステム日付を変更する必要
があるのでしょうか。
この場合の詳細な方法を教えて頂けないでしょうか?
また、注意事項があればご教示下さい。
例えば
システム日付を変更した状態でOracleの停止・起動は不可?とか
Oracleクライアントからの接続がある場合はクライアント
のシステム日付を変更する必要がある?とか

A 回答 (1件)

OracleのトランザクションSCN(system change number)で管理されているため時刻を進めたり戻したりすることによって、トランザクション間の不整合が発生することはありません。



しかし、OracleはREDOログにタイムスタンプを持っていますし、SYSDATE関数はシステム時刻をもとに値を返します。

起動中に時刻を変更する場合の注意としては、OracleとNTPを併用する場合の注意点と同じになります。
NTPの場合は、adjtimexを使いsettimeofdayを使わないようにするというのがありますので、Oracleは自動中に時刻が戻ることに対応出来ないようです。

複数サーバーの時刻あわせ
http://www.oracle.co.jp/2shin/ora66/18.html

また、停止中であったも、未来の作成時刻を持つオブジェクトにアクセスすると、ORA-01466が発生する場合があります。
そのため、時刻を進めた場合などには注意が必要です。
時刻を過去にす場合などは、EXPORT/IMPORTを用いてデータベースの再作成を行う必要があります。

その他注意事項などは、下記の検索結果を参考にしてみてください。
http://search.goo.ne.jp/web.jsp?MT=oracle+ntp
    • good
    • 0
この回答へのお礼

ありがとうございます。
今後のテスト時の参考とさせて頂きます。

お礼日時:2005/03/15 10:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す