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