Time of Update: 2018-12-07
查看系統是以pfile還是spfile啟動 Select isspecified,count(*) from v$spparameter group by isspecified; 如果isspecified裡有true,表明用spfile進行了指定配置 如果全為false,則表明用pfile啟動 使用SPfile的好處 Spfile改正了pfile管理混亂的問題,在多結點的環境裡,pfile會有多個image
Time of Update: 2018-12-07
自從發布了一篇部落格Oracle免用戶端For .Net(增加分析Devart和DataDirect)後,非常非常多的同學前來問各種Oracle用戶端運行時安裝配置的問題,嚴重影響了我們團隊的正常工作和日常交流。我甚至多次懷疑我是不是不應該發那篇博文,但是又不忍心刪除! 我們寫那篇博文的初衷,僅僅是為使用我們的資料對應架構XCode(包含ORM)進行Oracle開發的同學而準備!
Time of Update: 2018-12-07
1.在ORACLE中實現分布式快速存取和充實記憶體是很重要的。 要不惜任何代價避免頁面調度和交換﹐每次都必須把系統全域區(SGA)放到記憶體。 將SGA放到記憶體中﹐在INIT.ORA中設定參數 PRE_PAGE_SGA PRE_PAGE_SGA=YES 2.回卷段的竟爭會降低系統的效能。 SELECT GETS,WAITS FROM
Time of Update: 2018-12-07
SQLPLUS的AutoTrace是分析SQL的執行計畫,執行效率的一個非常簡單方便的工具,在絕大多數情況下,也是非常有用的工具。利用AutoTrace工具提供的SQL執行計畫和執行狀態可以為我們最佳化SQL的時候提供最佳化的依據,以及最佳化效果的明顯的對比效果。在SQLPLUS中輸入相關AUTOTRACE命令,輸入想要最佳化的SQL語句,即可得到SQL的執行計畫和執行狀態資訊。SQL> set timing on //開啟時間顯示SQL> set autot traceonly /
Time of Update: 2018-12-07
1、開啟“Scott”使用者,並指定密碼。2、開啟SQL Developer,它需要配置JAVA虛擬機器。如果是Oracle32位,可以直接使用Oracle內建java.exe。如果是Oracle64位,那麼可以從官方網站下載“Java7 64位”,然後安裝並指定其“java.exe”路徑,因為Oracle64位用的“SQL Developer”是32位的。或者,安裝64位的“SQL Developer”。3、將“Scott”使用者改為“DBA” sqlplus
Time of Update: 2018-12-07
首先報的是 無法串連 通過修改 監聽檔案裡面的sid 和 tns 裡面的sid 解決了 然後無法用普通使用者登入 管理員可以登入 但是無法訪問任何錶查看錯誤記錄檔 提示ora 00600 kcratr_scan_lastbwr通過cmd sqlplus sde/sde@"orcl as sysdba" 以管理員身份 串連orcl執行個體SQL>shutdown immediateSQL>startup mountSQL>recover databaseSQL>alter
Time of Update: 2018-12-07
環境:Operating System: windows xpVirtual machine: VMware 5.5.3Linux: RHEL 5註:由於RHEL 5不是Oracle官方文檔中的支援版本,所以以下檢查配置項均參照Oracle對RHEL 4.0的要求。一、檢查硬體1.查看RAM和交換空間以及磁碟大小命令:#grep MemTotal /proc/meminfo #grep SwapTotal /proc/meminfo #df -h
Time of Update: 2018-12-07
目 錄一、硬體要求二、軟體三、系統安裝注意四、安裝Oracle前的系統準備工作五、安裝Oracle,並進行相關設定六、升級Oracle到patchset 10.2.0.4七、使用rlwrap調用sqlplus中曆史命令 一、硬體要求1、記憶體 & swapMinimum: 1 GB of RAMRecommended: 2 GB of RAM or more檢查記憶體情況# grep MemTotal /proc/meminfo# grep SwapTotal
Time of Update: 2018-12-07
1.在表之間傳輸資料 1)利用INSERT傳輸資料insert into test1 (select name2,age2 from test2); 從上面的操作可以看出,可通過SELECT向一個表中成批地添加資料,但應注意:資料類型要一致,所選擇的列數應一致。此語句的文法格式如下: INSERT INTO table_name ( SELECT statement ) ; 2)基於已有的表建立新表 文法為: CREATE TABLE new_table_name AS SELECT
Time of Update: 2018-12-07
在Oracle資料庫中,關於約束的狀態有下面兩個參數: initially (initially immediate 或 initially deferred) deferrable(deferrable 或 not deferrable) 第1個參數,指定預設情況下,約束的驗證時刻(在事務每條子句結束時,還是在整個事務結束時)。 第2個參數,指定了在事務中,是否可以改變上一條參數的設定。 如果不指定上述參數,預設設定是
Time of Update: 2018-12-07
Merging Partitions使用ALTER TABLE .. MERGE PARTITION語句將兩個分區的內容合并到另外一個分區,兩個來源資料分割和關聯的local index都會被drop 不能用於 hash分區表或 hash subpartitions of a composite *-hash partitioned table 不能用於合并引用分區表(reference-partitioned
Time of Update: 2018-12-07
Oracle 11g 允許將索引標記為invisible. oracle像維護其他索引一樣維護 invisible index ,但是預設invisible index不能被最佳化器使用,除非顯式設定 OPTIMIZER_USE_INVISIBLE_INDEXES=TRUE(可以alter system/session).可以在建立索引的時候指定 INVISIBLE關鍵字或 ALTER INDEX命令來invisible一個索引。CREATE INDEX idx_name on
Time of Update: 2018-12-07
oracle express 11g 預設情況下,不管是以 http://127.0.0.1:8080/apex/ 登入本機控制台,還是用pl/sql developer串連,都無法建立資料表空間,只能sql命令完成啟用sql plus:SQL> conn sys as sysdba;SQL> create tablespace CTL datafile 'D:\db\CTL.dbf' size 1000M 2 autoextend on next 1m maxsize 3000
Time of Update: 2018-12-07
1、概念 Transaction以輪循的方式使用rollback segment裡的extent,當前所在的extent滿時就移動到下一個extent。可能有多個transaction同時向同一個extent寫資料,但一個rollback segment block中只能儲存一個transaction的資料。 Oracle 在每個Rollback segment header中儲存了一個transaction table,包括了每個rollback segment中包含的事務資訊,
Time of Update: 2018-12-07
1、概念 DML事務使用row-level locks,查詢不會鎖定資料。鎖有兩種模式:exlusive、share。 鎖的類型: • DML or data locks: – Table-level locks(TM) – Row-level locks(TX) • DDL or dictionary locks 一個transaction至少獲得兩個鎖:一個共用的表鎖,一個專有的行鎖。Oracle
Time of Update: 2018-12-07
1、最佳化器模式 Oracle9i有兩種最佳化器模式可以選擇: • Rule-based: – Uses a ranking system – Syntax- and data dictionary–driven • Cost-based: – Chooses least-cost path – Statistics-driven
Time of Update: 2018-12-07
1、概念 伺服器首先在sort_area_size指定大小的記憶體地區裡排序,如果所需的空間超過sort_area_size,排序會在暫存資料表空間裡進行。在專用伺服器模式下,排序空間在PGA中,在共用伺服器模式下,排序空間在UGA中。如果沒有建立large pool,UGA處於shared pool中,如果建立了large pool,UGA就處於large pool中,而PGA不在sga中,它是與每個進程對應單獨存在的。 PGA:program global
Time of Update: 2018-12-07
1、概念 Latch是簡單的、低層次的序列化技術,用以保護SGA中的共用資料結構,比如並發使用者列表和buffer cache裡的blocks資訊。一個伺服器處理序或後台進程在開始操作或尋找一個共用資料結構之前必須獲得對應的latch,在完成以後釋放latch。不必對latch本身進行最佳化,如果latch存在競爭,表明SGA的一部分正在經曆不正常的資源使用。 1)Latch的作用: A、序列化訪問:保護SGA中的共用資料結構;保護共用記憶體的分配。
Time of Update: 2018-12-07
1、Shared pool tunning Shared pool的最佳化應該放在優先考慮,因為一個cache miss在shared pool中發生比在data buffer中發生導致的成本更高,由於dictionary資料一般比library cache中的資料在記憶體中儲存的時間長,所以關鍵是library cache的最佳化。 Gets:(parse)在namespace中尋找對象的次數; Pins:(execution)在namespace中讀取或執行對象的次數;
Time of Update: 2018-12-07
降低磁碟的IO 分散磁碟的IO 資料表空間使用本地管理 1、將檔案分散到不同的裝置上 1)將資料檔案與記錄檔分開 2)減少與伺服器無關的磁碟IO 3)評估裸裝置的使用 4)分割表資料 2、資料表空間的使用 系統資料表空間保留給資料字典對象 建立本地管理資料表空間以避免空間管理問題 將表和索引分散到獨立的資料表空間中 使用獨立的復原資料表空間 將大的資料庫物件儲存在各自獨立的資料表空間中