我想找到一個最佳方法來替換名爲listener.ora for oracle的文件中的一些文本。主要是想用別的東西取代「SID_LIST_LISTENER_ORCL」條目......但我有幾件事情可能會出錯,我想避免...刪除基於括號數的行嗎?
首先,你可以看到條目看起來像條目# 1或條目#2,第一個具有「SDU =」條目,而第二個不要...注意該文件將具有條目#1或條目#2,並且不是同時(兩者不是同時)(至少不是在我們的環境中)。第二,我在想的是做一個「SID_LIST_LISTENER_ORCL」的查找並從那裏刪除6或7行,但由於條目不同(SDU =在一個而不在其他),我不認爲它是一個好主意。 ..
接下來的事情,無論我能想出什麼,我可能會發現一個環境,可能讓說,在該條目2多行,然後我的腳本將打破或導致其他錯誤....所以這將是很高興有一些東西可以用於這兩個條目,以及我將來可能遇到的其他任何東西......我可以想到的一個重要的事情是,無論它有多少行6,7,9或9,它總是會有一個確切的開始和結束括號{()}的數字......從「(SID_LIST =」
我知道我想要替換和我有這部分制定了但如何刪除現有生產線
### Entry #1
SID_LIST_LISTENER_ORCL =
(SID_LIST =
(SID_DESC =
(SDU = 32768)
(SID_NAME = ORCL)
(ORACLE_HOME = /oracle/ORCL/11264)
)
)
## Entry #2
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = /oracle/ORCL/11264)
)
)
完整的listener.ora文件通常是這樣的掙扎......
LISTENER_ORCL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = hostname)
(PORT = 1578)
)
)
)
)
STARTUP_WAIT_TIME_LISTENER_ORCL = 0
CONNECT_TIMEOUT_LISTENER_ORCL = 10
TRACE_LEVEL_LISTENER_ORCL = OFF
SID_LIST_LISTENER_ORCL =
(SID_LIST =
(SID_DESC =
(SDU = 32768)
(SID_NAME = ORCL)
(ORACLE_HOME = /oracle/ORCL/11204)
)
)
我不認爲這會工作,因爲它會刪除「LISTENER_ORCL」部分中的所有其他條目... –
我想,會做這個訣竅,但是你知道如何擺脫5條線以後?我想我可以使用sed刪除這5行,但我可能最終刪除錯誤的行,如果我只是說刪除最後5行... –
哪5行?您是否要刪除完整記錄SID_LIST_LISTENER_ORCL? – karakfa