Oracle 服務命名(別名)的配置及原理,plsql連接用
Oracle 服務命名(別名)的配置及原理
連接數據庫必須配置服務命名(別名,用於plsql的連接),不管是本地還是遠程,服務命名即簡單命名,簡單命名映射到連接描述符,他包含服務的網絡位置和標識,配置方式分為二種配置方式,圖形界面配置和修改配置文件方式。(net manger 點擊圖標會有相應的說明)
1、圖形界面配置方式: net manger,點擊服務命名,根據向導提示,進行一步一步的配置,適用於從新配置一個數據庫連接服務。
2、修改配置文件方式: 找到 tnsnames.ora 文件,在里面添加一個 服務塊,具體可以pssql中 help->support info -> tns names選項卡查看,每一個服務配置都對應一個具體的塊,類似與 json那種格式。通常指中方式常用語將已經配置好的服務,直接發送給其他人,其他人只要修改tns文件,便可連接該服務的數據庫。
其實細看配置文件中的服務的每一個鍵值,會發現他對應了net manger 圖形界面向導的每一個步驟,例如:服務名、主機名、端口號等等。圖形界面的工作過程,就是修改tnsnames.ora文件來達到配置服務的目的。
注意:數據庫連接字符串,最后的服務名都是orcl,不可是別名,別名基本上都是用於plsql連接數據庫用的,別名映射到具體的連接描述符,包括端口、地址等。
plsql連接多個數據庫設置
PLSQLwindows下配置怎么連ORACLE
windows的話,在服務里面就可以查服務要啟動,監聽也要啟動!可以用lsnrctl命令查看監聽!
而且要在你的oracle的D:\oracle\product\10.2.0\db_1\network\ADMIN下配置監聽名。配置好后,可以使用tnsping 命令來測試監聽是否配置成功!如tnsping orcl
以上都通過了,那連接是沒有問題的!
oracle集群中plsql和java程序連接方式
oracle集群中plsql和java程序連接方式非集群中plsql連接配置:
DB1_193 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 59.208.39.193)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = bester)
)
)
非集群中java連接的url
url=jdbc:oracle:thin:@127.0.0.1:1521:bester
oracle集群中plsql連接配置:
db_1_2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 59.208.39.193)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 59.208.39.195)(PORT = 1521))
(LOAD_BALANCE=yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bester)
)
)
oracle集群中java程序連接的url
datasource.url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =59.208.39.193)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST =59.208.39.195)(PORT = 1521))(LOAD_BALANCE=yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = bester)))
PLSQL配置怎么連ORACLE
如果是windows的話,在服務里面就可以查服務要啟動,監聽也要啟動!可以用lsnrctl命令查看監聽!
首先你需要在我的電腦的屬性里,找到環境變量,配置系統下面的path,看看里面指向的是哪里(我的電腦里就有oracle的多個版本)
而且要在你的oracle的X:\oracle\product\10.2.0\db_1\network\ADMIN\tnsnames.ora下配置監聽名及相關ip地址或計算機名,X一般是你本地盤符,例如像下面的格式。
orclTest =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcltst)
)
)
配置好后,可以使用tnsping 命令來測試監聽是否配置成功!如tnsping orclTest
以上都通過了,會提示OK,那連接是沒有問題的!
如果Oracle服務正常啟動了,就可以連接了。
如果不能連接,就要檢查服務器端的兩個地方,Oracle是不是已經配置了網絡監聽服務,Oracle的服務是不是已經啟動了。
啟動PLSQL程序:
方法一:
PLSQL->TOOLS->PREFERENCES->CONNECTION中分別設置ORACLE HOME,OCI LIBRARY兩個參數的值(此處只能讓PLSQL連接上,TNSPING未必能找到相應的TNS)
如下:
ORACLE HOME:OraDb11g_home2
OCI LIBRARY:C:\product\11.2.0\dbhome_2\bin\oci.dll
具體值可以參照本機ORACLE產品目錄的路徑
方法二:
在我的電腦設置環境變量,新建變量,並給出相應的值。
如下:
變量 值
TNS_ADMIN C:\product\11.2.0\dbhome_2\NETWORK\ADMIN(此處為ORACLE產品目錄下面tnsnames.ora的路徑)
參考:http://www.cnblogs.com/sumsen/archive/2012/09/24/2700083.html
ORA-12514 TNS 監聽程序當前無法識別連接描述符中請求服務|轉|
安裝好oracle client或者綠色版本的instant之后,
注:instant安裝之后需要在plsql的preference里面設置
PL/SQL Developer因為綠色版出現漢字亂碼的解決方法:
在windows中創建一個名為NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK,然后重新啟動 pl/sql developer,這樣檢索出來的中文內容就不會是亂碼了。
從客戶端PLSQL連接到ORACLE服 ...
步驟1: 在客戶端先安裝oracle客戶端和PLSQL軟件,就是在oracle安裝過程中選擇安裝客戶端就可以了 。
步驟2: 在服務器端安裝oracle服務器端就可以了步驟3: 修改oracle客戶端tnsnames.ora文件(目錄在C:\oracle\ora92\network\admin) MYACCP= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=tcp)(HOST=superich-accp )(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME = ACCP) ) )
注: superich-accp 為服務器主機名稱 ACCP為oracle服務名 ...
舉例:
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
JSCE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.1.27)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = jsce)
)
)
注明:上面的語句可以依據上面的寫法copy下去,這樣plsql在登錄的時候可以選擇不同的數據庫,比如正式庫或者測試庫。
如下:
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
JSCE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.1.27)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = jsce)
)
)
NC57 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = NC57)
)
)
nc52 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = nc52)
)
)
如果想刪除plsql的登陸歷史,
可以這樣操作:
在oracle群北京 陳海的幫助下,登陸PL/SQL Developer的時候database這樣寫:
就可以成功登陸了,之后登陸PL/SQL Developer就可以恢復到之前的方式登陸