oracle12c使用過程遇到問題

1.連接Oracle12C數據庫報錯,監聽程序無法識別請求服務

原因:數據庫連接的數據庫名字錯誤

要區分服務器連接名跟SID是否一樣


2.連接Oracle12C報錯,沒有匹配的驗證協議

原因:Oracle12C版本爲12.2.0.1.0,要求jdk1.8+ojdbc8.jar

網上有兩種方式,方式一修改爲ojdbc6.jar。方式二,修改配置文件。

因爲數據庫版本原因,方式一沒有生效,方式二可以。

解決辦法:

  1. 使用 jdk1.8+ojdbc8.jar
  2. 修改Oracle配置文件,允許低版本訪問

在Oracle的安裝路徑下找到sqlnet.ora文件。

(我的安裝路徑F:\app\root\root\product\12.1.0\dbhome_1\NETWORK\ADMIN)
 在文件的最後添加SQLNET.ALLOWED_LOGON_VERSION=8

如果文件不存在,在該路徑下新建文件sqlnet.ora,加上這句話。

如圖:

 


3.Oracle10往Oracle12C導數據,報錯字段長度太長

原因:數據庫字符集不同導致,Oracle12c一個字佔3個字符,

解決辦法:將varchar類型的數據字段長度擴充1.5倍,但是不能超過4000修

將varchar類型的數據字段長度擴充1.5倍

select 'alter table '||table_name||' modify'||'('||column_name||

' '||data_type||'('||ceil(data_length*1.5)||'));'

from user_tab_columns where data_type like '%VARCHAR2%'  AND COLUMN_NAME !='SHEETID'

and ceil(data_length*1.5)<=4000 and table_name not in(SELECT view_name FROM user_views)

 

執行查詢出來的數據,進行擴容

擴容結束後,導出數據庫

可能還是會存在問題,但是大部分問題解決,其他的可以根據日誌報錯去單獨添補缺

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