win764位使用plsql developer遇到的問題

都知道的是plsql是不支持直接管理64位的orcacle,要使用instantclient。
1、首先要知道的是自己安裝的數據的版本,最簡單的辦法就是sqlplus /nolog,它的下面有一個sqlplus:版本號,這個版本號與orcacle的版本號的是相同的(反正我的是相同的),也可以用一些網上的常規方法去查。
2、找到版本號就到orcacle官網上下載對應的instantclient版本,這個文件夾可以放在任何地方(我是放在oracle的product目錄下的,這樣也方便找)。
3、接下來dbhome_1下的NETWORK複製到下載instantclient的目錄下。
4、安裝plsql軟件
5、設置變TNS_ADMIN變量,其值是..\instantclient\NETWORK\ADMIN,這裏是我的路徑D:\app\hai\product\instantclient_11_2\NETWORK\ADMIN。
要說明的是這個變量設置很重要的,TNS_ADMIN變量的作用是告訴系統listener.ora、sqlnet.ora、tnsnames.ora的存放路徑是在當前存放值的目錄下,就不會讀取原有的NETWORK中的文件了。如果要新創建一個服務,要在設置值得目錄下找到tnsnames.ora文件並修改,使用net manager新創建的服務也會在該文件中生成對應的配置,這時修改原有的dbhome_1\NETWORK下的tnsnames.ora是沒有用的。
6、在plsql中oracle_home填上instantclient的文件路徑,在oci庫中填上instantclient的文件路徑\oci.dll。
這是我的:
oracle_home:D:\app\hai\product\instantclient_11_2
oci庫:D:\app\hai\product\instantclient_11_2\oci.dll
7、嘗試連接出現ora-12514錯誤,在網上才找一下在listener.ora中添加一段代碼,至於爲什麼要這樣寫,還不知道!先解決問題先!
這是我的listener.ora:

# listener.ora Network Configuration File: D:\app\hai\product\instantclient_11_2\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\app\hai\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\hai\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = D:\app\hai\product\instantclient_11_2)
      (SID_NAME = orcl)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
ADR_BASE_LISTENER = D:\app\hai

其中SID_LIST_LISTENER中的第二塊SID_DESC就是要添加的代碼了,其中我實驗過GLOBAL_DBNAME可以跟SID_NAME不一樣的。
GLOBAL_DBNAME
SID_NAME
SERVICE_NAME
這三個參數很容易搞混淆的,現在爲止都沒有分得很清楚。
當global_dbname和sid_name不一樣時,我實驗發現使用sqlplus username/password@ip:port/service_name是進不去的,sqlplus username/password@ip:port/global_name纔可以(我這裏service_name和sid_name是一樣的,具體原因暫時還不知道)。
8、使用net manager創建服務,這裏要注意的網絡服務名可以自定義的,ip或主機名也是可以自定義,但是服務名最好是看一下,進入數據使用show parameter service_names看一下,填錯了肯定出不來的!

9、使用net manager配置監聽程序,這裏要監聽的肯定是我們設置的ip地址或主機名。
10、配置完成要重啓listener,可以使用lsnrctl stop + lsnrctl start來重啓,也可以在服務中去重啓listener服務
最後就可以使用plsql來管理數據庫了,我這裏使用的是多用戶單實例也就是一個用戶中裝一個數據庫的模式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章