Time of Update: 2018-12-05
SQLServer和Oracle的常用函數對比1.絕對值 S:select abs(-1) value O:select abs(-1) value from dual2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual3.取整(小) S:select floor(-1.001) value O:select floor(-1.001) value from
Time of Update: 2018-12-05
有時候、挺鬱悶的、丫的、咋回事啊、就不走索引、 如果、你發現不走索引、卻莫冒失強加自己的意志、 總得給出理由吧、做個測試先、證實/偽走索引切實明智 否則、可能會返回錯誤的結果、也可能導致效能下降 下面就常見不走索引的 6 種原因簡要分析一下、做到心裡有底 ㈠ 違背複合索引"首碼性"原理 謂詞沒有使用索引前置列 ㈡ 隱式轉換
Time of Update: 2018-12-05
細粒度審計(FGA),是在Oracle 9i中引入的,能夠記錄SCN號和行級的更改以重建舊的資料, 但是它們只能用於select語句,而不能用於DML,如update、insert和delete語句. 因此,對於Oracle資料庫10g之前的版本,使用觸發器雖然對於以行級跟蹤使用者初始的更改是沒有吸引力的選擇,但它也是唯一可靠的方法 進行Database Audit時會記錄已發生的操作,但是不會捕獲關於導致操作的語句的資訊
Time of Update: 2018-12-05
規則如下: 測試如下:hr@ORCL> drop table t purge;Table dropped. hr@ORCL> create table t as select * from dba_objects;Table created.hr@ORCL> alter table t add (object_id_1 number);Table altered.hr@ORCL> update t set
Time of Update: 2018-12-05
規則如下: 依據這個規則、只有 3 種輸出:大寫、小寫、首字母大寫 測試如下:sys@ORCL> select to_char(sysdate,'Month') from dual;TO_CHAR(SYSDATE,'MONTH')------------------------------------Junesys@ORCL> select to_char(sysdate,'MOnth') from
Time of Update: 2018-12-05
大資料浪潮洶湧襲來、一場新的資訊技術革命即將開始。“春江水暖鴨Crowdsourced Security Testing”,作為資料庫從業人員的我、體會尤為深刻 然而、無論是Oracle的 EXADATA 還是MySQL的Scale
Time of Update: 2018-12-05
這個索引專題N久未見陽光了、偶覺得特過去、不幸福、於是有了本文 坊間傳聞、B*Tree 索引在應用開發階段、常作"炮灰"狀、而在維護時期、則是"馬後炮" 即便身世坎坷常被冷眼相待、但到底是B*Tree、魅力無限、全身散發著令人 YY 的韻味、你比如: 如果存在主鍵或者唯一性限制式、則不論是訪問1w行、還是1億行、這個CPU或IO的開銷都相去無幾呀 哇、、、美麗可愛大方如B*Tree、怎麼能令人不愛呢、 說起
Time of Update: 2018-12-05
㈠ lsof 應用執行個體 ① 尋找指定連接埠被哪個程式佔用:[root@temp ~]# lsof -i :80COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEhttpd 10278 root 3u IPv6 37812 0t0 TCP *:http (LISTEN)httpd 10280 apache 3u IPv6 37812
Time of Update: 2018-12-05
在一個頻繁 commit/rollback 或磁碟 I/O 有問題、大量物理讀寫爭用 那麼、我們便會經常瞧見 LOG FILE SYNC 等待事件出現在 TOP EVENTS 中 評估 LOG FILE SYNC等待事件的指標是平均等待時間、以及 AWR 後續的 WAIT EVENT HISTOGRAM 對於 OLTP、平均等待時間 7 ms算正常、正常情況下平均等待時間不會超過 10 ms 下面給出幾種最佳化的策略、 ㈠ 最佳化 REDO
Time of Update: 2018-12-05
環境:14:56:24 sys@ORCL (^ω^) select * from v$version where rownum=1;BANNER--------------------------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod oracle NET
Time of Update: 2018-12-05
與oracle相關的進程可分:使用者進程和oracle進程。oracle進程可分:伺服器處理序和後台進程。伺服器處理序可分:專用伺服器處理序和共用伺服器處理序。後台進程可分:DBWn,LGWR,CKPT等。 和使用者進程有關的概念是:串連和會話 串連和會話是兩個不同的概念。一條串連上可以建立0個,1個或多個會話,而且各個會話單獨且獨立的。一條串連即一個進程。 在jsp中,我們舉個例子: 一個瀏覽器就是一個串連 你可以串連到www.google.com.cn上開多個會話、做多件事情
Time of Update: 2018-12-05
我們知道每個RDBMS在sql方面都會存在自己的特色。那麼今天我們來看看oracle有啥特色值得我們來在意。特色1 :Oracle分析函數與開窗函數: 文法: FUNCTION_NAME (<argument>,<argument>...) OVER (<Partition-Clause><Order-by-Clause><Windowing Clause>)例如: sum(sal) over
Time of Update: 2018-12-05
指令碼:#!/bin/bashnewfilename=`date +%Y%m%d`.dmpnewlogfilename=`date +%Y%m%d`.logcd /oracle/backupexp user/password buffer=102400000 file=/oracle/backup/dump.dmp log=/oracle/backup/dump.log tables=(tablea,table2,table3)mv dump.dmp $newfilenamemv
Time of Update: 2018-12-05
Oracle Sql最佳化筆記基本的Sql編寫注意事項 盡量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。 不用NOT IN操作符,可以用NOT EXISTS或者外串連+替代。 Oracle在執行IN子查詢時,首先執行子查詢,將查詢結果放入暫存資料表再執行主查詢。而EXIST則是首先檢查主查詢,然後運行子查詢直到找到第一個匹配項。NOT EXISTS比NOT IN效率稍高。但具體在選擇IN或EXIST操作時,要根據主子表資料量大小來具體考慮。 不用“<>”或者“!=
Time of Update: 2018-12-05
動機:想在Oracle中用一條SQL語句直接進行Insert/Update的操作。說明:在進行SQL語句編寫時,我們經常會遇到大量的同時進行Insert/Update的語句 ,也就是說當存在記錄時,就更新(Update),不存在資料時,就插入(Insert)。實戰:接下來我們有一個任務,有一個表T,有兩個欄位a,b,我們想在表T中做Insert/Update,如果存在,則更新T中b的值,如果不存在,則插入一條記錄。在Microsoft的SQL文法中,很簡單的一句判斷就可以了,SQL
Time of Update: 2018-12-05
今天使用者要求所有資料為0的不能參與求平均值,思路是avg函數本身就對為空白的資料不參與運算所以只要把為零的資料轉換成空就可以了,想了一下用case語句可以實現但在網上找了一下發現decode這個函數哈很不錯的剛好能滿足我的需求下面是他的用法decode(條件,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,預設值)該函數的含義如下:IF 條件=值1 THEN RETURN(翻譯值1)ELSIF 條件=值2 THEN RETURN(翻譯值2) ......ELSIF
Time of Update: 2018-12-05
ORACLE資料庫通過sqlnet.ora檔案中的參數sqlnet.authentication_services,參數檔案中的remote_login_passwordfile和口令檔案pwdsid.ora三者協同作用實現身份認證.Sqlnet.authentication_services=(NTS)|(NONE)NTS:作業系統認證方式,不使用口令檔案;NONE:口令檔案認證方式Remote_login_passwordfile=(NONE)|(EXCLUSIVE)|(SHARED)NON
Time of Update: 2018-12-05
常規資料表空間: CREATE SMALLFILE TABLESPACE "CAMCDC" LOGGING DATAFILE 'E:/camcdc/CAMCDC1.ora' SIZE 10000M, 'E:/camcdc/CAMCDC2.ora' SIZE 10000M, 'E:/camcdc/CAMCDC3.ora' SIZE 10000M, 'E:/camcdc/CAMCDC4.ora' SIZE 10000M EXTENT MANAGEMENT LOCAL SEGMENT
Time of Update: 2018-12-05
一、$vi $ORACLE_HOME/network/admin/sqlnet.ora如果該sqlnet.ora檔案不存在,可以採用如下方式產生1)可以拷貝$ORACLE_HOME/network/admin/samples/sqlnet.ora到$ORACLE_HOME/network/admin/目錄下使用2)使用netca工具進行配置,NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 二、設定或修改參數(如果參數不存在,則添加在檔案末尾即可):tcp.
Time of Update: 2018-12-05
摘自:http://blog.csdn.net/xuanxingmin/article/details/4266327 Oracle的Case語句現在Oracle支援兩種CASE表示方式,一種Oracle稱為simple CASE(簡單形式),另外一種為searched CASE(查詢形式)。simple CASE相當於使用函數Decode,但是Case一般用於操作更為複雜的語句。CASE的形式更易於閱讀。simple CASE的表示形式為: CASE expr WHEN