久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle連接問(wèn)題實(shí)例分析

共計(jì) 2470 個(gè)字符,預(yù)計(jì)需要花費(fèi) 7 分鐘才能閱讀完成。

今天丸趣 TV 小編給大家分享一下 Oracle 連接問(wèn)題實(shí)例分析的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

  我們知道 Oracle 在啟動(dòng)的時(shí),fork 進(jìn)程會(huì)根據(jù) ORACLE_SID 來(lái)創(chuàng)建相關(guān)后臺(tái)進(jìn)程,而在 Unix 和 Linux 系統(tǒng)中,ORACLE SID 和 ORACLE_HOME 在一起哈希后會(huì)得到一個(gè)唯一的值作為 SGA 的 key。

  所以我拋出一個(gè)蠻有意思的問(wèn)題,在同一臺(tái)服務(wù)器上,存在 10g,11g 多個(gè) ORACLE_HOME,是可以創(chuàng)建多個(gè)同名的 Oracle 實(shí)例,而如果在同一個(gè)用戶下(比如操作系統(tǒng)用戶是 oracle),是否可能創(chuàng)建出兩個(gè)同名的實(shí)例來(lái)?

  我想你的腦海中已經(jīng)有了答案。我換一個(gè)角度來(lái)說(shuō)明是否可以。通過(guò)一個(gè)蠻有意思的 DG 配置問(wèn)題。

  我在使用 RMAN 的 duplicate 搭建備庫(kù)的時(shí)候拋出了下面的一個(gè)錯(cuò)誤。

RMAN duplicate target database for standby from active database nofilenamecheck;
Starting Duplicate Db at 2017-08-03 10:40:42
RMAN-03002: failure of Duplicate Db command at 08/03/2017 10:40:42
RMAN-05501: aborting duplication of target database
RMAN-06403: could not obtain a fully authorized session
RMAN-04006: error from auxiliary database: ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory

看錯(cuò)誤很明顯,備庫(kù)是被啟動(dòng),找不到內(nèi)存結(jié)構(gòu)了。

但是實(shí)際上查看數(shù)據(jù)庫(kù)進(jìn)程,是沒(méi)有問(wèn)題的。

而我根據(jù)服務(wù)名嘗試連接,下面的結(jié)果讓我大跌眼鏡。

sqlplus sys@s2Queuedb as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Aug 3 10:41:53 2017
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Enter password:
Connected to an idle instance.

這是哪里的問(wèn)題呢,是不是實(shí)例名有大小寫的拆吧呢,在我的印象中似乎沒(méi)有。那我索性就在這個(gè)窗口下嘗試啟動(dòng),沒(méi)想到還真起來(lái)了一個(gè)新的實(shí)例。

SQL startup nomount
ORACLE instance started.
Total System Global Area 9620525056 bytes
Fixed Size  2261368 bytes
Variable Size  2248150664 bytes
Database Buffers  7348420608 bytes
Redo Buffers  21692416 bytes

你看這下同一個(gè)用戶下有兩個(gè)同名的實(shí)例了。

$ ps -ef|grep smon|grep -v grep
oracle  43259  1  0 10:39 ?  00:00:00 ora_smon_Queuedb
oracle  43337  1  0 10:44 ?  00:00:00 ora_smon_Queuedb

到了這里,不要以為是 bug,也不要認(rèn)為以前的這些基礎(chǔ)知識(shí)都不奏效了。我們梳理一下思路。

首先 ORACLE_SID 是統(tǒng)一的,是同一個(gè),而不同之處就是 ORACLE_HOME 了。而這個(gè)數(shù)據(jù)庫(kù)環(huán)境我只安裝了一個(gè)版本的數(shù)據(jù)庫(kù)環(huán)境,所以不存在多個(gè) ORACLE_HOME, 所以這個(gè)問(wèn)題讓我很糾結(jié),我們繼續(xù)來(lái)看看 ORACLE_HOME 的情況,可以查看環(huán)境變量的值。

$ cat /proc/43259/environ |xargs -0 -n1 |grep ORACLE_HOME
ORACLE_HOME=/U01/app/oracle/product/11.2.0.4

查看另外一個(gè)實(shí)例的 ORACLE_HOME 變量的值。

$ cat /proc/43337/environ |xargs -0 -n1 |grep ORACLE_HOME
ORACLE_HOME=/home/U01/app/oracle/product/11.2.0.4

到了這里,似乎有了眉目,原來(lái)是 ORACLE_HOME 不一樣。

而問(wèn)題到了這里還是有些奇怪,因?yàn)?/home/U01 和 /U01 是指向的同一個(gè)目錄。他們代表的含義是一樣的。

lrwxrwxrwx  1 root root  9 Aug  1 17:53 U01 – /home/U0

這個(gè)問(wèn)題到了這里該這么解釋呢,我們繼續(xù)理一下思路。我們?cè)?RMAN 使用 duplicate 的時(shí)候是使用 TNS 連接方式的,那么 TNS 連接在連接本地實(shí)例的時(shí)候指向了另外一個(gè)實(shí)例(盡管剛開(kāi)始這個(gè)實(shí)例不存在),那么本地的連接配置其實(shí)還是在 listener.ora 里面。

打開(kāi)靜態(tài)注冊(cè)的內(nèi)容,這樣一看就很清楚了。

SID_LIST_LISTENER =
  (SID_LIST =
  (SID_DESC =
  (GLOBAL_DBNAME = Queuedb)
  (ORACLE_HOME = /home/U01/app/oracle/product/11.2.0.4)
  (SID_NAME = Queuedb)
  )
  )

所以了解了這個(gè)問(wèn)題,我們可以換個(gè)思路想想有什么場(chǎng)景可以把這個(gè)特點(diǎn)發(fā)揚(yáng)光大,在一些特定的場(chǎng)景中起到神助攻的作用。

至少在之前的數(shù)據(jù)遷移中,我是使用多個(gè)版本的 ORACLE_HOME 來(lái)達(dá)到同服務(wù)器多實(shí)例的切換,能夠極大的提高數(shù)據(jù)遷移的效率。

以上就是“Oracle 連接問(wèn)題實(shí)例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,丸趣 TV 小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-15發(fā)表,共計(jì)2470字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 济南市| 油尖旺区| 勃利县| 石泉县| 莎车县| 新昌县| 宣汉县| 黄浦区| 本溪市| 临清市| 精河县| 嵊泗县| 通化市| 佳木斯市| 阿坝| 商丘市| 雷州市| 嘉黎县| 汶川县| 清徐县| 松溪县| 大兴区| 汕尾市| 三原县| 湛江市| 讷河市| 陵川县| 莱芜市| 友谊县| 兴和县| 清涧县| 许昌市| 成安县| 曲水县| 白城市| 壤塘县| 牟定县| 咸丰县| 洪江市| 赤壁市| 南川市|