0

Oracle データベースを含む環境を削除するスクリプトに取り組んできました。tns エントリのクリーンアップの自動化を除いて、すべてが機能しています。私は当初、正規表現で十分に簡単だと思っていましたが、異なるノード間でエントリの形式が異なることに気付いたので、どのパターンを探すべきかわかりません。UNIXボックスでデータベースが削除されたときにtnsnames.oraのクリーンアップを自動化する適切な方法はありますか?

4

1 に答える 1

2

C# の場合、http: //www.codeproject.com/Articles/30962/TNSNames-Readerの RegEx を使用しています。

TNSNAMES.ORA に対して次の ReGex を実行すると、データベースのリストが取得されます。([\n][\s]*[^(][a-zA-Z0-9_.]+[\s] )=[\s] (

各アイテムの最初の MatchGroup を使用し、それに対して TNSPING を実行します。応答があればエントリを保持し、応答がなければエントリを破棄します。

欠点は、現時点でデータベースがダウンしている場合、とにかくtnsnamesからデータベースを消去することです...

于 2012-12-18T18:08:57.087 に答える