このドキュメントでは、不良の原因となる Call Details Record /CDR Analysis and Reporting(CDR/CAR)データベースを縮小するために使用できる情報を提供しています。
Cisco Bug ID CSCea55522(登録ユーザ専用)およびCSCeb47037(登録ユーザ専用):「art_log.ldf ファイルが大きくなり、CAR レコードが消去されない」。 art_log.ldf および cdr_log.ldf ファイルは、いずれも非常に大きくなることが判明しています。 これにより、ディスク スペースが少なくなり、Cisco CallManager のパフォーマンス低下や、サービスへの影響が発生する恐れがあります。
この設定を行う前に、次の要件が満たされていることを確認します。
Cisco CallManager 3.x および 4.x の管理
SQL データベースの管理
このドキュメントの情報は、Cisco CallManager 3.x に基づくものです。
本書の情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。 稼働中のネットワークで作業を行う場合、コマンドの影響について十分に理解したうえで作業してください。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
Cisco CallManager は次の SQL エラー メッセージを返します。
Error No. -2147219942 (0x8004061a): CDBLException Dump: [Unknown SQL driver error. Please send message to Cisco developer for Telephony Database Layer]
このエラーの原因は、一部のデータベースの SQL トランザクション ログ ファイルのサイズが 1 GB を超えたことです。 SQL トランザクション ログ ファイルは、C:\Program Files\Microsoft SQL Server\MSSQL\Data ディレクトリにある *.ldf ファイルです。 *.mdf ファイル、特に、art.mdf および cdr.mdf ファイルは、システム設定によっては 1 GB より大きくなる可能性があります。 これらの解決策は、サイズが 1 GB より大きい *.ldf ファイルを対象にしています。
注: Cisco CallManager への登録を試行している未登録の MGCP デバイスがネットワーク内に存在しないことを確認してください。 そのようなデバイスは登録試行を無限に繰り返し、記録されるログが何メガバイトにも達する原因となる可能性があります。
この問題を解決するには、ここに示す解決策を使用します。
最も一般的な問題は、Backup and Restore System(BARS)が未設定であるか、設定に誤りがあることです。 バックアップが定期的に実行されるように設定されていることを確認します。 バックアップ中、BARS は CDR トランザクション ログの切り捨てを行います。 BARS バックアップの成功または失敗に関するログは、C:\Program Files\Common Files\Cisco\Log\BARS で確認できます。
BARS が切り捨てを行っているときに、ログでログ障害が発生している場合は、解決策 2 に移動します。
SQL Enterprise Manager でデータベースを縮小する。
注: この操作は Publisher 上で行います。
[Start] > [Programs] > [MS SQL Server] > [Enterprise Manager] の順に選択します。
パブリッシャ サーバを選択します。
ART データベースまたは CDR データベースのいずれか、ファイル サイズの大きいデータベースに移動します。
データベースを右クリックします。
[Select All Tasks] > [Shrink database] の順に選択し、[Files] をクリックします。
新しいウィンドウで、データベース ファイルの [CDR] および [CDR_log] を選択します。
それぞれを縮小します。
この処理にはしばらく時間がかかります。
この処理を実行してもファイルが大きいか、SQL でトランザクション ファイルを縮小できない場合は、解決策 3 を使用します。
SQL 2000(Cisco CallManager 3.3 および 4.0)の場合、次の手順で CDR_log.LDF ファイルのサイズを縮小できます。 このファイルは、C:\Program Files\Microsoft SQL Server\MSSQL\Data にあります。
コマンド プロンプトで次のコマンドを使用します。
ART C:\>osql -E 1>use art 2>go 1>backup log art with no_log 2>go 1>dbcc shrinkdatabase (art) 2>go CDR C:\>osql -E 1>use cdr 2>go 1>backup log cdr with no_log 2>go 1>dbcc shrinkdatabase (cdr) 2>go
Microsoft の縮小データベースに関する詳細は、「INF: How to Shrink the SQL Server 7.0 Transaction Log」 を参照してください。
この項では、3 つの代替解決策を説明します。
CAR 消去プロセスで一度に消去されるレコードが 500,000 件未満になるように設定できます。 「CAR システム設定」を参照してください。
管理レポートツール(ART)を使用せずに、手動で CDR を削除できます。 詳細については、「Cisco CallManager: 管理レポートツール(ART)を使わない、コール詳細レコード(CDR)の手動削除』の手順を使用して CDR を手動で削除します。
データベースに登録される CDR レコード数を制限できます。
[CCMadmin page Select Service] > [Service Parameters] > [Select the according server] > [Cisco Database Layer Monitor Service] > [Max CDR records] の順に選択します。
この作業は通常業務時間外に実行することをお勧めします。 CDR レコード数を削減すると、削除プロセスが発生し、CPU 使用率が高くなります。 レコード 50,000 件ずつから開始できます。 その後、データベース層モニタ サービスを再開します。
CDR と CAR に関する FAQ については、「CDR および ART に関する FAQ を使用した CallManager の問題の解決」を参照してください。