Time of Update: 2017-01-13
unused column和drop column的操作從本質上講是不一樣的,unused是通過變更資料字典的資訊讓sql無法訪問到column,而drop是直接在物理資料層做了變動。這裡的操作後台跟蹤可以用event 10046去驗證,這裡不做描述.下面通過實驗的方式驗證unused和drop column的操作對比情況:1.建立測試表SQL> grant dba to luda;Grant succeeded.SQL> conn
Time of Update: 2017-01-13
又一個類似『12c比10g索引回表消耗增多的問題』的案例,同事在12c中跑的buffer get很高,但是在10g中跑的buffer很低。懷疑是不是12c的最佳化器有問題。這個10g的環境和12c的環境,資料量大致一樣,只是有很少部分的不同,但是就是這個很少部分不同,造成了not exists中的子查詢返回不同的值,進而對外層查詢產生不同的影響。我們來用如下的代碼類比一下。初始化資料:--10gdrop table t1;drop table t2; create table t1 (
Time of Update: 2017-01-13
某資料庫升級到12c後(應用代碼也升級了),出現了大量css initialization的等待:SQL> select event,sql_id,count(*) from v$session where event='CSS initialization' group by
Time of Update: 2017-01-13
(一)參數說明:(1). rate_limit參數從9.2.0.8引入,可以用來控制串連風暴。rate_limit後面跟的參數是允許每秒串連的個數,配置完成後,需要stop/start listener生效。如下:LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host.
Time of Update: 2017-01-13
概述等待事件主要可以分為兩類,即空閑(IDLE)等待事件和非空閑(NON-IDLE)等待事件。1).空閑等待事件ORACLE正等待某種工作,在診斷和最佳化資料庫的時候,不用過多注意這部分事件。2). 非空閑等待事件專門針對 ORACLE 的活動,指資料庫任務或應用運行過程中發生的等待,這些等待事件是 在調整資料庫的時候需要關注與研究的。在 Oracle 10g 中的等待事件可以通過 v$event_name 視圖來查看等待事件的相關資訊。常見等待事件Buffer busy waits從本質上講,
Time of Update: 2017-01-13
Oracle修改欄位名稱alter table xgj rename column old_name to new_name;修改欄位類型alter table tablename modify (column datatype [default value][null/not null],….);例子假設表xgj,有一個欄位為name,資料類型char(20)。create table xgj(id number(9) ,name
Time of Update: 2017-01-13
有朋友在一個儲存空間給asm使用,發生空間不足,然後使用另外一個儲存中的lun給asm的data磁碟組增加asm disk,運行了大概1天之後,asm磁碟組直接dismount,資料庫crash.然後就無法正常mount.包括這個儲存上的幾個其他磁碟組也無法正常mount.資料庫異常日誌Sun Oct 23 08:43:59 2016SUCCESS: diskgroup DATA was dismountedSUCCESS: diskgroup DATA was dismountedSun
Time of Update: 2017-01-13
alter database create datafile導致未經處理資料檔案丟失有客戶一個小系統找我們恢複,通過Oracle Database Recovery Check 檢測之後我們紅框部分發現一奇怪現象1.檔案頭fuzzy為NO,不符合資料庫異常crash常識,也和其他檔案該狀態不匹配2.檔案的建立時間,scn均和checkpoint時間,scn一致(也就是說該檔案是建立之後就checkpoint,然後就沒有其他動作)3.檔案開始應用的歸檔為5,110和其他資料檔案要求的31
Time of Update: 2017-01-13
使用情境:當你需要從Oracle資料庫上訪問另一台SqlServer資料庫的資料時,Oracle提供了一個工具:gateways。通過這個工具,你可以建立dblink來串連sqlserver或其他不同公司的資料庫----取決於你安裝時的選項。 安裝GATEWAYS後,使用下列2種方式可建立DBLINK 方式A: create
Time of Update: 2017-01-13
本文主要敘述,php環境與oracle資料庫不在同一台伺服器上時,php環境的安裝編譯按照官方說明文檔 http://cn2.php.net/manual/zh/oci8.installation.php編譯php的時候要加上這個參數–with-oci8,但是加這個參數有個前提,就是必須要安裝了對應的庫檔案。安裝庫檔案有兩種方法:一. 你的php環境和oracle在同一台伺服器上(通常oracle都很大,這方法不合適)二. 在你的php伺服器上安裝 Oracle Instant
Time of Update: 2017-01-13
ORACLE ORA-00600錯誤不是你的程式錯誤.是ORACLE內部的錯誤,一般來說,大部分的ORA-00600錯誤均是由ORACLE軟體的bug所導致,因此對於這樣的錯誤需要及時聯絡ORACLE支援人員工程師.對於這種類型的ORA-00600錯誤,一個簡單的處理方式就是打補丁,將資料庫升級到一個穩定的版本,另外建議屏蔽某些ORACLE特性,諸如MTS(MultiThread Server)。但也有部分錯誤是由資料庫內部的表或索引(包括應用的)結構被損壞所或其他原因所造成。1:ORA-600
Time of Update: 2017-01-13
很多朋友反饋在win 64位作業系統之上無法使用bbed(包括9i,10g,11g,12c資料庫版本),以前寫過一篇文章,完美實現了在win平台的各個版本的資料庫版本之上實現使用bbed(在win中運行bbed程式),可惜很遺憾沒有註明平台資訊,留下了不少疑問,今天在自己的電腦上再次實現此功能,用來證明win 64位的平台之上也可以運行bbed程式(資料庫版本包括10g,11g,12c,在10g之前x86架構中無win 64位版本資料庫,因此我也無能為力).作業系統版本64位測試為win 7 6
Time of Update: 2017-01-13
有朋友和我反饋,說他們在裝linux 6.5上面裝11.2.0.3的rac出現異常,root.sh在第一個節點執行就失敗了,請求協助根據上面記錄,查看asmca日誌[main] [ 2015-07-24 12:49:35.885 CST ] [SQLEngine.reInitialize:738] Reinitializing SQLEngine...[main] [ 2015-07-24 12:49:35.885 CST ] [OracleHome.getVersion:889]&
Time of Update: 2017-01-13
通過在shell下使用dbstartup $ORACLE_HOME 和在sqlplus中通過startup啟動oracle資料報錯Copyright (c) 1982, 2009, Oracle. All rights reserved.SQL> 已串連到空閑常式。SQL> ORA-00119: invalid specification for system parameter LOCAL_LISTENERORA-00132: syntax error or unresolved
Time of Update: 2017-01-13
1、建立查詢oracle的sql指令檔,名為cx.sql,其中定義了三個變數LAST_DATE昨天的時間TODAY:今天的時間FILE_NAME:匯出的檔案名稱&1、&2、&3 表示後面使用的shell指令碼調用cx.sql這個指令碼時向它傳遞的三個參數SET NEWPAGE 0SET SPACE 0SET LINESIZE 80SET PAGESIZE 0SET ECHO OFFSET FEEDBACK OFFSET VERIFY OFFSET HEADING
Time of Update: 2017-01-13
預存程序:一段程式,用於改變資料庫物件的狀態,可以包含一個或多個行為,往往是將一個表的記錄經過處理後放到另一個表。1、基本文法:CREATE [OR REPLACE] PROCEDURE procedure_name[(parameter_name [IN | OUT | IN OUT] TYPE[,....])]{IS | AS } [LOCAL declarations]BEGIN executable statements;[EXCEPTION
Time of Update: 2017-01-13
資料庫版本和平台資訊資料庫版本為10.2.0.1版本,而且是32位的win 2003 sp2之上ORACLE V10.2.0.1.0 - Production vsnsta=0vsnsql=14 vsnxtr=3Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsWindows Server 2003
Time of Update: 2017-01-13
最近網上流傳的通過with繞過許可權實現非法更新表資料,存在較大風險.對於cpu bug在2014年07月份psu中修複,建議升級對應psu,如果條件不允許,可以通過_with_subquery參數臨時規避該風險資料庫版本資訊SQL> select * from v$version; BANNER--------------------------------------------------------------------------------Oracle
Time of Update: 2017-01-13
1、堆組織表(heap organized table)就是“普通”的標準資料庫表。資料以堆的方式管理。堆組織表中記錄是無序的,不以某種特定順序來放置。2、索引組織表(index organized table)索引組織表的資料都儲存在與其關聯的索引中,對錶的添加、更新、刪除,只會導致索引的更新。查詢時必鬚根據索引去查詢資料。索引組織表必須設定主鍵。create table indextable (id varchar2(10),name
Time of Update: 2017-01-13
一、索引的概念 索引類似於查字典,通過拼音、筆畫,只要幾步就能查到所要的字。資料庫裡,通過索引,只要少量的讀,就能找到所需的記錄。 使用索引需要找到一個平衡點,索引太多會影響DML語句的速度,因為要寫索引表。索引太少又不能提高查詢速度。 二、B*樹索引1、B*樹索引:我們所說的“傳統”的索引。create index