- 締切済み
OSのシステム日付を変更してテスト2
【以前の質問】 Oracleがインストールされているサーバの システム日付を変更してテストを実施した いと考えております。 ネットを検索するシステム日付の変更は 危険な様ですが、問題ない手順をご存知な方 は教えて頂けないでしょうか。 宜しくお願いします。 【頂戴した回答】 初期化パラメータFIXED_DATEを変更する 【更に質問】 FIXED_DATEの利用も検討してみますが、 日付が固定値になります。 時分秒の経過もテストデータとしたいのですが、 その場合はやはりシステム日付を変更する必要 があるのでしょうか。 この場合の詳細な方法を教えて頂けないでしょうか? また、注意事項があればご教示下さい。 例えば システム日付を変更した状態でOracleの停止・起動は不可?とか Oracleクライアントからの接続がある場合はクライアント のシステム日付を変更する必要がある?とか
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nieve
- ベストアンサー率51% (14/27)
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
お礼
ありがとうございます。 今後のテスト時の参考とさせて頂きます。