<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

oracle網絡連接配置范文

2023-09-16

oracle網絡連接配置范文第1篇

1、先點擊Cancel進入kettle主界面

依次FILE --NEW--JOB OR TRANSFORMATION,

在transformation頁面下,點擊左邊的【Main Tree】【主對象樹】,雙擊【DB連接】,進行

數據庫連接配置 插播我的kettle配置: 我的版本是kettle4.4 環境變量設置:KETTLE_HOME F:ToolsKettle4.4data-integration

Path % KETTLE_HOME% 首先找到

Kettle 的主程序啟動方式:運行 data-integrationSpoon.bat。

Kettle 默認不帶 Oracle 驅動。于是我把 Oracle 的 JDBC 驅動 ojdbc14.jar/ojdbc14_g/ojdbc14dms/ojdbc14dms_g.jar 放到了 Kettle 的目錄data-integrationlibextJDBC

我遇到的連接錯誤:

錯誤連接數據庫 [orcl] : org.pentaho.di.core.exception.KettleDatabaseException: Error occured while trying to connect to the database

Error connecting to database: (using class oracle.jdbc.driver.OracleDriver) Io 異常: The Network Adapter could not establish the connection

org.pentaho.di.core.exception.KettleDatabaseException: Error occured while trying to connect to the database

Error connecting to database: (using class oracle.jdbc.driver.OracleDriver) Io 異常: The Network Adapter could not establish the connection

3、原因:

--

1、connection name:orcl【這個是我的數據庫名,連接時我也用這個名字,DB名字也是這個】

--

2、Host-name:說實話,我重裝系統之后還真沒注意主機名是什么,我是在

oracle網絡連接配置范文第2篇

1 存儲管理

系統的I/O性能是Oracle數據庫系統的性能瓶頸之一, 選擇高速可靠的存儲設備, 是解決數據庫性能問題的重要手段, 在已有存儲設備的基礎上, 如何合理的配置, 也是提高Oracle數據庫性能的有效手段。

1.1 使用磁盤陣列

在數據庫服務器上, 使用冗余獨立/廉價磁盤陣列 (Redundant Array of Independent/Inexpensive Disks, RAID) 配置磁盤幾乎已經成為一種規范, 使用磁盤陣列可以改進性能和可用性[1]。但是, 選擇單塊磁盤時, 應該根據數據庫需要存儲的數據量的大小來選擇磁盤容量, 過大的容量會帶來不適當的冗余和較差的性能。同時, 要根據數據庫的特點, 選擇合適的RAID級別。

RAID 5對于有大量讀操作的應用程序可以獲得最大的性能, 這是一種低成本的解決方案, 但是對于大量寫操作的Oracle應用程序, 效率并不高。RAID 10是先鏡像, 然后再對其進行分段, 這是最常見的Oracle OLTP產品的RAID級別。它通過將RAID 0的磁盤I/O分段優勢融入到RAID 1帶來的鏡像, 結合了這個兩個RAID級別的優點。在高讀/寫量的環境 (如OLAP) 中, 由于對數據的小規模訪問會很頻繁, 建議使用RAID 10。在硬件條件允許的情況下, 還可以使用RAID 10或者RAID 5的改進方案。對于使用了磁盤陣列, 不再需要把磁盤陣列上的一個邏輯設備分割成操作系統的多個盤區, 因為這樣做會增加必須管理的數據文件位置的數量, 從而使得系統I/O性能下降。

1.2 關鍵數據文件分開存儲

為了更有效地在文件系統上操作Oracle數據庫, 應該把關鍵的數據文件分布到可用的文件系統中。以下元素關聯的文件應該盡可能分離:SYSTEM表空間、TEMPORARY表空間、UNDO表空間、聯機重做日志文件 (最好放在最快的磁盤上) 、操作系統盤、放在ORACLE_HOME目錄下的關鍵ORACLE文件、經常被訪問的表的數據文件、經常被訪問的索引的數據文件、歸檔區域等。同時, 分開存儲數據和索引文件。把關鍵的Oracle數據文件分開放置, 這樣可以避免磁盤爭用成為一個“瓶頸”。通過把經常連接的幾個表的表和索引分開放置, 保證即使最糟糕的表連接也不會導致磁盤爭用。

1.3 使用本地管理的表空間

在Oracle 8i之前, 所有表空間的段的盤區信息都通過Oracle數據字典進行維護, 這樣, 發生在數據庫的段上并關系到盤區分配的操作, 例如擴展或截取一個表, 將會導致對數據字典的操作。如果有很多擁有大量盤區的表被操作時, 維護數據字典將會成為這些操作的瓶頸。Oracle 8i推出了新的盤區管理方式, 叫本地管理的盤區, 通過本地管理的盤區, 盤區管理操作被重新分配到數據文件頭中的位圖塊中, 數據庫的每個表空間都只包含自己的盤區信息, 可以使用快速散列進程訪問該信息, 而不是使用較慢的基于表的查詢訪問, 因而使用本地管理的表空間, 可以提高性能??梢詣摻ū镜毓芾淼谋砜臻g, 也可以把數據字典管理的表空間遷移到本地管理的表空間。

1.4 使用分區來避免磁盤爭用

分區技術是基于海量數據的數據庫系統 (比如數據倉庫或者OLAP系統) 中最重要的一個技術, 很難想象, 在一個存儲著上TB或者幾十TB的數據庫中, 數據表不使用分區的情況[2]。

分區可能是提高與大型表有關的性能的最佳方法。通過訪問一個表或索引的較小片段, 而不是訪問整個表或索引, 分區可以很好地提高效率。這個策略在一個或多個用戶訪問同一個表的多個部分時特別有效。如果一個表的分區 (片段) 位于不同的設備上, 吞吐量就會大大增加, 分區還可以被獨立地備份和恢復, 這樣可以減少備份期間可能出現的磁盤I/O問題。僅當分區被正確實現后, 才能體現Oracle性能提高的良好優點。設計良好的分區, 在數據操作中, 可以很好的實現分區規避, 同時對索引進行分區, 并使用并行選項, 可以使分區功能更強大。為了最小化對一個大表的磁盤I/O, 應該把表分割在多個分區上, 這些分區應該放置在不同的物理磁盤上。

1.5 使用自動存儲管理 (Automatic Storage Management, ASM)

在Oracle Database 10g Release 2中, 使用自動存儲管理極大地簡化了數據庫的存儲管理和配置。ASM提供了內置于Oracle數據庫內核中的文件系統和卷管理器功能, 提供了跨越所有服務器和存儲平臺的簡單存儲管理界面。提供了管理動態數據庫環境的靈活性, 并且可以有效地提高效率。

ASM主要有以下優點:

1) 將I/O均勻地分布到所有可用磁盤驅動器以防止產生熱點, 并且最大化性能;

2) 不再需要過多地進行配置工作, 并且最大化推動數據庫合并的利用存儲資源;

3) 內在地支持大文件;

4) 在增量增加或刪除存儲容量后執行自動聯機重分配;

5) 維護數據的冗余副本以提高可用性, 或者利用第三方的RAID功能。

Oracle數據庫可以包含ASM文件和非ASM文件, 任何新的文件都可以創建為ASM文件, 已有的文件也可以遷移到ASM。ASM降低了Oracle數據庫的成本和復雜性, 并且不會影響到性能或可用性。構建ASM的主要用途是解決數據庫的配置和布局以及IT角色之間的通信。有資料表明, 在同樣的硬件條件下, 使用ASM比使用操作系統的文件系統的I/O要快26%左右。

總之, 通過以上這些配置要么是提高磁盤I/O性能, 要么就是減少I/O爭用, 以此來提高數據庫性能。

2 內存優化

Oracle實例的內存使用對性能起著至關重要的作用。如果未按最佳方式為各種結構分配內存量, 性能將急轉直下[3]。分配的內存量不能過少, 也不能過多。在較早的數據庫版本中, DBA只有掌握大量的知識, 花費大量的時間才能調整內存的使用, 但是在11g版本中, 內存調整大多可以自動完成。

Oracle實例中的內存使用分為兩類:程序全局區域 (Program Global Area, PGA) 和系統全局區域 (System Global Area, SGA) , 前者專門供每個會話使用, 后者由所有Oracle進程共享。從9i版本開始, PGA的管理實現了自動化, 從10g版本開始, SGA的管理實現了自動化, 11g版本可同時自動管理PGA和SGA。

2.1 PGA內存管理

針對Oracle實例的用戶會話由連接到服務器進程的用戶進程組成。用戶進程生成SQL語句, 并將它們發送到服務器進程供執行, 這就是客戶端與服務器的分工。與服務器進程關聯在一起的是非共享內存塊:PAG。在執行SQL語句時, 服務器進程使用PGA來存儲會話特有的數據, 包括:臨時表、排序表、歸并位圖、變量、調用堆棧。PGA中的某些數據必須使用內存。例如, 如果會話的調用堆棧需要內存, 那么, 相應的內存必須可供使用。而對于其他存儲結構, 例如臨時表存儲, 使用PGA的效果是不錯的, 但PGA并不是必需的, 因為可以將數據寫到基于磁盤的存儲結構中, 但是這會對性能產生負面影響。Oracle強烈建議使用自動管理PGA內存。實現自動PGA內存管理, 需要設置PGA內存分配總量 (所有會話需要量之和) 的目標, 此后, Oracle實例將根據需要, 從總量中為會話分配內存, 在某個會話執行完語句后, 此會話使用的PGA可以分配給另一會話。在任何時刻, 只有某些已經連接上的會話需要任何可轉讓的PGA內存, 即使會話處于閑置狀態, 也都需要一定量的PGA內存來保留當前會話的狀態, 但總體看來, 這會留下足夠的空間使正在實際運行語句的會話獲得需要的內存。

使用兩個實例參數來啟用PGA內存的自動管理:WORKAREA_SIZE_POLICY, PGA_AGGREGAT_TARGET, WORKAR-EA_SIZE_POLICY的默認值是AUTO, 就是自動將PGA分配給用戶, 同時力求將PGA分配的總量保持在PGA_AGGREGAT_TAR-GET范圍以內。

2.2 SGA內存管理

SGA包含多個內存結構, 這些結構的大小可以以獨立方式調整, 主要有:共享池、數據庫高速緩存區、大池、流池、Java池、日志緩沖區。分配給大池、Java池和流池的內存與轉讓無關, 原因是需要這樣的內存, 或者相應的內容不可轉讓。如果這些結構不夠大, 將發生錯誤;如果這些結構過大, 也不會提高性能。分配給共享池、數據庫高速緩存區和日志緩存區的內存是可以轉讓的;如果達不到最優大小, 不會發生錯誤, 但性能會因此下降。共享池是一個例外:如果在較長時間內達不到最優大小, 將會發生錯誤。

Oracle公司同樣建議對SGA內存進行自動管理。設置SGA的總大小, 實例依據總量將內存分配給各個結構, 確保不存在因SGA組件不夠大帶來錯誤, 且分配大于最小限度的內存使SGA組件可以最佳狀態執行。根據需要調整組件的大小, 這樣, 如果組件需要更多內存, 可以從具有多余空間的組件那里獲取內存。要啟用SGA自動管理, 則保留上述內存結構參數的默認值, 并設置一個參數, 來啟用自動共享內存管理:SGA_TARGET, 在使用自動共享內存管理時, 實例將監視各個SGA組件的內存需求, 并根據需要將內存分配給組件, 如有必要, 會減少內存容量, 以便將內存分配總量控制在目標范圍內。包含在目標范圍的還有日志緩沖區, 其大小使用LOG_BUFFER參數進行設置。LOG_BUFFER的默認大小可能是正確的, 可將此參數設置得比默認值更大, 但這往往會導致性能下降, 如果將其設置得低于默認值, 將忽略相應設置。

2.3 Automatic Memory Management

使用Automatic Memory Management機制時, 通過設置MEMORY_TARGET這個參數, 就可以讓Oracle實例在總體上管理服務器內存的使用。這允許Oracle根據需要, 在PGA和SGA之間轉換內存, 從而將自動PGA管理和自動SGA管理又向前推進了一步。

自動內存管理會帶來巨大的性能優勢。在實例運行過程中, 無法根據活動模式的更改, 在SGA和PGA之間手工轉換內存, 而且很多系統也無法同時為二者分配足夠的內存, 來滿足它們的峰值需求;自動內存管理能夠根據需要, 在SGA和PGA之間轉換內存, 以便在內存總量允許的范圍內優化性能。必須由DBA和系統管理員共同確定總量大小, 如果DBA設置的上限過大, 以至于操作系統必須將SGA和PGA分頁寫入交換設備, 這將會失去意義;系統管理員將建議適當的最大值。

MEMORY_MAX_TARGET參數限制了MEMORY_TARGET參數的最大值不能超過。因此啟用自動內存管理, 只要設置一個參數MEMORY_TARGET, 而不必設置上面列出的其他參數。

2.4 使用內存顧問程序

Oracle實例收集大量有關活動和性能的信息。這些統計信息收集到內存中, 并由MMON (Manageability Monitor) 后臺進程定期轉儲到自動工作負荷倉庫 (Automatic Workload Repository, AWR) , 這些統計信息供內存顧問程序使用。內存顧問程序是計算更改SGA和PGA內存結構大小的效果的工具。AWR工具使用顧問程序制定有關內存分配的決策, DBA可以通過各種視圖或者Enterprise Management Database Control看到他們。通過查詢V$pga_target_advice、V$sga_target_advice和V$memory_target_advice, 可以分別得到最佳的PGA、SGA和內存分配值。如果使用自動內存管理, 僅需要查詢最后一個視圖, 來確定Oracle實例總內存的最佳分配值。同樣, 可以通過Enterprise Management Database Control, 使用顧問程序來收集有關內存分配的建議, 通過打開Memory Advisors鏈接, 可以分別查找SGA、PGA和Memory的當前設置大小和建議的最佳大小。

3 日常運行和維護

在數據庫的長期運行過程中, 隨著數據量的增加, 以及數據物理存儲的變化, 數據庫的性能會有所下降, 所以, 對數據庫進行相關的日常維護, 也是提高數據庫性能的重要手段。

3.1 歸檔舊的數據

遵循“二八”原則, 數據庫中有很多數據很少被訪問到, 所以應該對于這些“歷史”數據, 進行相應的歸檔操作。如果是已經使用了分區的表, 可以通過分區合并和拆分, 進行數據歸檔。以此來降低查詢數據時的磁盤I/O量, 減少DML操作時的鎖沖突, 提高數據庫性能。

3.2 管理無效對象和無用對象

決定性能的另一關鍵因素是數據庫中各種對象的狀態, 如果PL/SQL對象是無效的 (INVALID) , 則會對性能產生負面影響, 也可能導致錯誤;如果無法使用索引, 那么SQL語句的執行速度可能大大降低, 并更密集地使用資源。應該識別、了解和修復所有無效對象和不可用的對象。

1) 無效對象

存儲的PL/SQL是數據字典中編譯為PL/SQL對象并在其中保持的代碼, 可以是過程、函數、觸發器、程序包或對象類型。這些對象大多數會引用數據對象 (例如表) 。在編譯對象時, 編譯器將檢查器引用的數據對象, 以便確認代碼的定義正確。如果編譯時發現引用的數據對象不存在, 會將該對象標記為無效;但是對象可能在創建一段時間之后變得無效。DBA_OBJECTS視圖包含STATUS列, 該列標記對象的狀態是有效還是無效。如果有相關的無效對象, 應該進行刪除或者修復。

2) 無用的索引

一個索引由若干按照順序排列的索引鍵值組成, 其中每個索引鍵值都具有相關聯的rowid, rowid是索引鍵引用的行的物理位置的指針。如果某個表的rowid發生變化, 那么索引就會被標記為無用。索引變得無用的原因有許多種, 其中最常見的是使用Alter table……move命令移動了指定的表, 會改變所有行的物理位置, 因此索引被指向錯誤的位置, 對于分區表的分區調整, 也同樣會產生無用索引。隨著時間的推移, 執行了許多影響行鍵值的刪除和更新操作, 索引往往會變得無用。Oracle會發現這個錯誤, 從而不允許使用該索引。

在Oracle 11g版本中, 如果某條SQL語句試圖使用無用的索引, 那么查詢會重新使用不需要該索引的執行計劃, SQL語句的執行總會成功, 不過查詢的性能會顯著降低。這種方式由實例參數SKIP_UNUSABLE_INDEXES控制, 它的默認值是TRUE。如果希望在查詢中使用到無用索引時返回錯誤消息, 那么可以執行Alter System Set SKIP_UNUSABLE_INDEXES=FALSE。通過查詢DBA_INDEXES視圖, 運行Select owner, index_name from dba_indexes where status=’UNUSABLE’, 可以查找變得無用的索引, 并使用Alter Index……Rebuild命令重新創建該索引。重建索引是數據庫正常維護工作的一部分。

3.3 消除數據碎片

碎片會阻礙數據庫的空間管理, 但總的說來, 一個段中的盤區量的多少總是會影響數據庫性能。擁有很多跨多個數據文件的不連續盤區的位圖索引就是一個大的性能問題??梢允褂谜_的盤區大小以消除碎片, 對于已經有碎片的數據表, 可以創建一個新表空間并把數據移到其中。

3.4 增加日志文件的大小

增加日志文件的大小和LOG_CHECKPOINT_INTERVAL以提高速度, 如果想讓大量的INSERT、UPDATE和DELETE操作速度更快, 可以增加日志文件大小, 并確保這些文件在最快的磁盤上。Oracle依賴于聯機重做日志文件來記錄事務處理。每次數據庫中發生一次事務處理, 聯機重做日志文件中就會增加一個條目。如果增大分配給日志的空間, 就可以提高性能, 沒有提交的事務同樣會生成日志條目, 因為它們生成撤銷記錄, 這些撤銷記錄也寫入到重做日志。增加日志文件的大小, 從而增加處理大型IN-SERTS、DELETES和UPDATES (DMLs) 操作的規模。

3.5 配置UNDO表空間

回滾段保存了在一次更新和刪除期間內的數據快照, 如果初始化參數UNDO_MANAGEMENT=MANUAL, 那么就可以像Oracle前面的版本一樣使用回滾段。如果初始化參數UNDO_MANAGEMENT=AUTO, 就使用撤銷表空間管理。當事務回滾時, 就要用到數據快照, 如果把數據庫設置為使用回滾段, 要為各個回滾段保留多個表空間, 這樣用戶就不會在同一個表空間中出現爭用現象。在Oracle 9i中, 提出了一個管理Rollback或UNDO數據的新辦法, 就是使用UNDO表空間, 大大簡化了對事務的管理。在回滾段中, 撤銷塊會根據需要被新的事務重寫, 因而要保證有足夠大的回滾段可用于事務。從而避免執行大的事務時發生快照太舊的錯誤, 并且保證有足夠的回滾段來維護數據庫中的常規活動, 從而最小化回滾段的爭用。為了利用自動撤銷管理, 可以在數據庫中創建UNDO類型的表空間。并在初始化文件中指定3個新的參數:UNDO_MANAGEMENT=AUTO, UNDO_TABLESPACE=UN-DOTBS1, UNDO_RETENTION=時間值, UNDO_RETENTION初始化參數用來指定撤銷數據被提交之后保留在表空間中的數據值 (秒) , 這是使用撤銷表空間的真正優點, 因為不同于傳統的回滾段, 數據庫至少會嘗試為長期運行的查詢維護較早版本的數據。

如果將UNDO_MANAGEMENT設置為AUTO, 即使用自動撤銷管理, 就要將UNDO_TABLESPACE配置一個具體的表空間, 如果沒有配置, 則使用SYSTEM表空間, 這將會影響數據庫性能。

通過V$UNDOSTAT視圖可以監控實例中當前事務使用UNDO表空間的情況, 視圖中的每行表示在過去24小時里每隔10分鐘UNDO表空間的使用情況、事務量和查詢長度等信息的統計快照, 通過分析這些信息可以對UNDO表空間進行重新配置。

4 結束語

有關Oracle數據庫性能優化的方法還有很多, 例如配置RAC、實現Data Guard以及SQL查詢優化[4]等, 相關的論文有很多, 這里不再討論。

總之, 在硬件設備既定的情況下, 通過上述的相關配置, 能夠進一步的提高和優化Oracle數據庫的性能, 實現一個功能強大的數據庫管理平臺。

參考文獻

[1]Niemiec, Richard J.Oracle Database 10g Performance Tuning Tips and Techniques[M].Osborne/McGraw-Hill, 2007:65-74.

[2]譚懷遠.基于海量數據的數據庫設計與優化[M].北京:電子工業出版社, 2011:1-3.

[3]John Watson.OCA Oracle Database 11g:Administration I Exam Guide (Exam 1Z0-052) [M].Osborne/McGraw-Hill, 2008:377-380.

上一篇:220kv變電站施工合同范文下一篇:3dsmax室內設計教程范文

91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火