




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選文檔管理初始化參數 管理初始化參數(調優的一個重要知識點,憑什么可以對數據庫進行調優呢?是因為它可以對數據庫的一些參數進行修改修正) 初始化參數用于設置實例或是數據庫的特征。oracle9i提供了200多個初始化參數,并且每個初始化參數都有默認值。 顯示初始化參數l (1) show parameter命令 如何修改參數l 需要說明的如果你希望修改這些初始化的參數,可以到文件 D:oracleadminmyoralpfileinit.ora文件中去修改比如要修改實例的名字 數據庫(表)的邏輯備份與恢復邏輯備份是指使用工具export將數據對象的結構和數據導出到文件的過程,邏輯恢復是指當數據
2、庫對象被誤操作而損壞后使用工具import利用備份的文件把數據對象導入到數據庫的過程。 物理備份即可在數據庫open的狀態下進行也可在關閉數據庫后進行,但是邏輯備份和恢復只能在open的狀態下進行。導出 導出具體的分為:導出表,導出方案,導出數據庫三種方式。 導出使用exp命令來完成的,該命令常用的選項有: userid: 用于指定執行導出操作的用戶名,口令,連接字符串 tables: 用于指定執行導出操作的表 owner: 用于指定執行導出操作的方案 full=y: 用于指定執行導出操作的數據庫 inctype: 用于指定執行導出操作的增量類型 rows: 用于指定執行導出操作是否要導出表中
3、的數據 file: 用于指定導出文件名導出表 1.導出自己的表 exp userid=scott/tigermyoral tables=(emp,dept) file=d:e1.dmp 2.導出其它方案的表 如果用戶要導出其它方案的表,則需要dba的權限或是exp_full_database的權限,比如system就可以導出scott的表 E:oracleora92bin>exp userid=system/managermyoral tables=(scott.emp) file=d:e2.emp 特別說明:在導入和導出的時候,要到oracle目錄的bin目錄下。 3. 導出表的結構
4、exp userid=scott/tigeraccp tables=(emp) file=d:e3.dmp rows=n 4. 使用直接導出方式 exp userid=scott/tigeraccp tables=(emp) file=d:e4.dmp direct=y 這種方式比默認的常規方式速度要快,當數據量大時,可以考慮使用這樣的方法。 這時需要數據庫的字符集要與客戶端字符集完全一致,否則會報錯.導出數據庫 導出數據庫是指利用export導出所有數據庫中的對象及數據,要求該用戶具有dba的權限或者是exp_full_database權限 增量備份(好處是第一次備份后,第二次備份就快很多了
5、) exp userid=system/managermyorcl full=y inctype=complete file=d:all.dmp導入 介紹 導入就是使用工具import將文件中的對象和數據導入到數據庫中,但是導入要使用的文件必須是export所導出的文件。與導出相似,導入也分為導入表,導入方案,導入數據庫三種方式。 imp常用的選項有 userid: 用于指定執行導入操作的用戶名,口令,連接字符串 tables: 用于指定執行導入操作的表 formuser: 用于指定源用戶 touser: 用于指定目標用戶 file: 用于指定導入文件名 full=y: 用于指定執行導入整個文
6、件 inctype: 用于指定執行導入操作的增量類型 rows: 指定是否要導入表行(數據) ignore: 如果表存在,則只導入數據導入表1. 導入自己的表imp userid=scott/tigermyorcl tables=(emp) file=d:xx.dmp 2. 導入表到其它用戶要求該用戶具有dba的權限,或是imp_full_database imp userid=system/tigermyorcl tables=(emp) file=d:xx.dmp&
7、#160;touser=scott 3. 導入表的結構只導入表的結構而不導入數據 imp userid=scott/tigermyorcl tables=(emp) file=d:xx.dmp rows=n 4. 導入數據 如果對象(如比表)已經存在可以只導入表的數據 imp userid=scott/tigermyorcl tables=(emp) file=d:xx.dmp ignore=y 導入
8、方案導入方案是指使用import工具將文件中的對象和數據導入到一個或是多個方案中。如果要導入其它方案,要求該用戶具有dba的權限,或者imp_full_database 1.導入自身的方案 imp userid=scott/tiger file=d:xxx.dmp 2導入其它方案 要求該用戶具有dba的權限 imp userid=system/manager file=d:xxx.dmp fromuser=system touser=scott
9、60; 導入數據庫在默認情況下,當導入數據庫時,會導入所有對象結構和數據,案例如下:imp userid=system/manager full=y file=d:xxx.dmp建立表空間 建立表空間是使用crate tablespace命令完成的,需要注意的是,一般情況下,建立表空間是特權用戶或是dba來執行的,如果用其它用戶來創建表空間,則用戶必須要具有create tablespace的系統權限。 建立數據表空間 在建立數據庫后,為便于管理表,最好建立自己的表空間 create tablespace data01 datafile 'd:t
10、estdada01.dbf' size 20m uniform size 128k;十三:約束 維護數據的完整性 介紹 介紹 數據的完整性用于確保數據庫數據遵從一定的商業和邏輯規則,在oracle中,數據完整性可以使用約束、觸發器、應用程序(過程、函數)三種方法來實現,在這三種方法中,因為約束易于維護,并且具有最好的性能,所以作為維護數據完整性的首選。 約束 約束 約束用于確保數據庫數據滿足特定的商業規則。在oracle中,約束包括:not null、 unique, primary key, foreign key,和check五種。not null(非空) 如果在列上定義了not
11、null,那么當插入數據時,必須為列提供數據。 unique(唯一) 當定義了唯一約束后,該列值是不能重復的,但是可以為null。 primary key(主鍵) 用于唯一的標示表行的數據,當定義主鍵約束后,該列不但不能重復而且不能為null。 需要說明的是:一張表最多只能有一個主鍵,但是可以有多個unqiue約束。 foreign key(外鍵) 用于定義主表和從表之間的關系。外鍵約束要定義在從表上,主表則必須具有主鍵約束或是unique約束,當定義外鍵約束后,要求外鍵列數據必須在主表的主鍵列存在或是為null。 check 用于強制行數據必須滿足的條件,假定在sal列上定義了check約束
12、,并要求sal列值在1000-2000之間如果不在1000-2000之間就會提示出錯。刪除約束 當不再需要某個約束時,可以刪除。 alter table 表名 drop constraint 約束名稱; 特別說明一下: 在刪除主鍵約束的時候,可能有錯誤,比如: alter table 表名 drop primary key; 這是因為如果在兩張表存在主從關系,那么在刪除主表的主鍵約束時,必須帶上cascade選項 如像: alter table 表名 drop primary key cascade;十四:Oracle索引、權限 管理索引-原理介紹 介紹 索引是用于加速數據存取的數據對象。合理
13、的使用索引可以大大降低i/o次數,從而提高數據訪問性能。索引有很多種我們主要介紹常用的幾種: 為什么添加了索引后,會加快查詢速度呢? 創建索引 單列索引是基于單個列所建立的索引,比如: create index 索引名 on 表名(列名); 顯示索引信息 顯示表的所有索引 在同一張表上可以有多個索引,通過查詢數據字典視圖dba_indexs和user_indexs,可以顯示索引信息。其中dba_indexs用于顯示數據庫所有的索引信息,而user_indexs用于顯示當前用戶的索引信息: select index_name, index_type from user_indexes where
14、 table_name = '表名' 顯示索引列 通過查詢數據字典視圖user_ind_columns,可以顯示索引對應的列的信息 select table_name, column_name from user_ind_columns where index_name = 'IND_ENAME' 你也可以通過pl/sql developer工具查看索引信息 create session 連接數據庫 create table 建表 create view 建視圖 create public synonym 建同義詞 create procedure 建過程、函數
15、、包 create trigger 建觸發器 create cluster 建簇多行注釋 /*.*/來劃分 2.標志符號的命名規范 1).當定義變量時,建議用v_作為前綴v_sal 2).當定義常量時,建議用c_作為前綴c_rate 3).當定義游標時,建議用_cursor作為后綴emp_cursor 4).當定義例外時,建議用e_作為前綴e_errorDECODE函數 語法: DECODE( 條件,比較值1,返回值1 比較值2,返回值2 . . . 比較值n,返回值n 返回值(不滿足條件時) ) select last_name,salary, decode( trunc(salary/20
16、00,0),/條件 0, 0.00,/比較值1,返回值1 1, 0.09, 2, 0.20, 3, 0.30, 4, 0.40,5, 0.42, 6, 0.44, 0.45 ) TAX_RATE from employees where department_id=80; 非等值查詢 使用 BETWEEN AND 查詢近似值作為連接條件的多表結果。 WHERE E.SALARY BETWEEN J.LOW AND J.HIGH 外連接查詢 SELECT T1.COL,T2.COL FROM WHERE T1.COL(+)=T2.COL;左外連接所有T2的T1信息。 SELECT T1.COL,
17、T2.COL FROM WHERE T1.COL=T2.COL(+);右外連接所有T1的T2信息。 為了看到與連接條件不匹配的數據,就必須得用外連接。INSERT INTO TABLE(字段1,字段2.)VALUES(值1,值2.) 一次插入只插入一行。字符和日期值需要單引號擴起。 .7、索引: 一個方案中的對象; 被ORACLE服務器用來加速對表的查詢; 通過使用快速路徑訪問方法快速定位數據; 與表獨立存放; 被ORACLE服務器使用和維護。 一定是 WHERE 條件的才有可能使用索引。 手動創建索引: CREATE INDEX index_name on table_name (col_name); 考慮創建索引的情況: *、包含了大量不同值的列; *、包含了大量空值的列; *、一個或者多個列經常被一起出現在 WHERE 條件中或者作為連接的條件出現; *、表的數據量很大,而且對表的查詢經常是得到表中數據的2%到4%(少量數據). 不應該創建索引的情況: *、一個很小的表; *、列很少被用于查詢的條件; *、表上的大多數查詢是得到大量數據的; *、表中的數據經常發生變動; *、要被索引的列被作為條件表達式的一部分。查看: user_indexes得到索引的定義和唯一性。 user_ind_columns 得到索引的名稱,表名和列名。 selec
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江省哈爾濱市實驗學校2025年八年級數學第二學期期末復習檢測模擬試題含解析
- 信息處理技術員考試小技巧與試題及答案
- 軟件設計師考試趨勢分析與試題及答案
- 2025屆北京市延慶區數學七下期末質量跟蹤監視試題含解析
- 軟件測試策略與方法總結試題及答案
- 移動應用用戶體驗設計考題試題及答案
- 機械設備行業保安工作計劃
- 算法與數據結構2025年考試試題及答案
- 如何開展財務審計工作計劃
- 信息科技行業安全防護總結計劃
- 一站到底課件
- 西安中建一局裝修合同模板
- 社會團體財務報表
- DB34∕T 3468-2019 民用建筑樓面保溫隔聲工程技術規程
- iso220002024食品安全管理體系標準
- 2024年秋新冀教版三年級上冊英語教學課件 U3L3
- 拔牙術后并發癥及處理對策
- 2024年山東省濟南市歷下區中考一模物理試題(解析版)
- 幼兒園大班語言文學活動《小魚睡在哪里》課件
- 全冊(教案)2023-2024學年數學六年級上冊-人教版
- 基于MATLAB的通信系統的設計與仿真畢業論文
評論
0/150
提交評論