Oracle學習筆記(1)

來源:互聯網
上載者:User

標籤:

  這是我的Oracle學習筆記系列的第一篇,主要總結了Oracle的體繫結構,要學好Oracle,就要先瞭解Oracle的運行機制和原理。把今天學習的內容整理了一個圖,備忘,點擊可放大。

另外,還有幾個語句(sql*plus):

SYS使用者登入

SQL> / as sysdba;

解鎖scott使用者

SQL> alter user scott identified by tiger account unlock;

切換到scott使用者

SQL> conn scott/tiger;

Null值參與列計算

SQL> select ename, sal, comm, (sal+nvl(comm,0)) as salary from emp;

sql*plus中用變數查詢

SQL> variable va number;SQL> declare :va:=7788;SQL> select empno,ename,sal from emp where empno = :va;

看記憶體中包含"select * from"的SQL語句

SQL> select sql_text from v$sqlarea where sql_text like ‘%select * from%‘;

看記憶體(SGA)資源情況

SQL> select * from v$sgastat;

刷記憶體共用池

SQL> alter system flush shared_pool;

強制重啟執行個體

SQL> startup force;

在會話中修改日期格式

SQL> alter session set nls_date_format=‘yyyy-mm-dd‘;

如果要永久修改,windows下可在註冊表中建立一個名為 nls_date_format 的DWORD值,UNIX/LINUX直接配置環境變數。

關於共用池和SQL語句同效能的關係:

  由於共用池中緩衝最近SQL語句的特性,所以在構建SQL語句時要特別注意,大小寫不同、空格、順序不同都會被Oracle認為是不同的SQL語句,只有完全一樣的SQL語句才會從共用池中儲存的SQL語句中重複使用,而由於編寫SQL語句的不規範將會產生效能問題,所以要做到:

  1、盡量規範SQL語句,用統一的格式,大小寫、順序、空格、縮排、變數名格式都有相應的規範並嚴格遵守;

  2、在大量的同一格式的SQL語句查詢時(比如只有where條件的值不同),應盡量使用變數,否則共用池將被大量的垃圾查詢佔滿而使常用的SQL不被緩衝,影響效率;

  3、PL/SQL或者是複雜的資料查詢,可以寫預存程序,用帶進參數的方式保證共用池中的SQL語句一致;

  4、適當調整 shared_pool_size 的大小。

一句話觀點:備份和恢複資料庫應該用物理備份的方式而不要用匯出和匯入功能,除非你的資料庫資料量很少,而且都不太重要。

Oracle學習筆記(1)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.