一,約束操作
1:更改約束名稱:
ALTER TABLE TName RENAME CONSTRAINT oldname TO newname;
2:刪除約束
ALTER TABLE TName DROP CONSTRAINT cname
3:停止約束
ALTER TABLE TName MODIFY CONSTRAINT cname DISABLE;
4:起用約束
ALTER TABLE TName MODIFY CONSTRAINT cname ENABLE VALIDATE;
5:新增約束
ALTER TABLE TName ADD CONSTRAINT cname FOREIGN KEY (ORG_ID) REFERENCES ref_table (ORGID);
二,字段操作
1:更改字段數據類型:
ALTER TABLE TName MODIFY(ORG_ID VARCHAR2(50 BYTE));
2:更改字段數據長度:
ALTER TABLE TName MODIFY(ORG_ID VARCHAR2(80 BYTE));
3:修改表的列名
alter table TName rename column xx to yy;
三,表操作
1:刪除表數據:
truncate table TName;
2:復制空表結構
create table new_table as select * from old_table where 1=2;
3:復制表(含記錄)
create table new_table as select * from old_table ;
四,存儲過程
1:命令行編譯存儲過程
ALTER PROCEDURE procedure_name COMPILE;
五,數據庫鏈接(DBlink)
1:建立數據庫連接
CREATE DATABASE LINK DBaseLinkName CONNECT TO UserName IDENTIFIED BY Password USING 'NetServiceName';
六,Oracle服務器常用命令行
(1)數據庫管理相關
bbed.exe 數據塊浏覽和編輯工具
dbv.exe 數據文件邏輯檢測工具
exp.exe 數據導出工具
imp.exe 數據導入工具
mig.exe 數據庫移植工具
nmumigrate.exe Data Gatherer移植工具
ocopy.exe 裸分區數據文件備份工具
oradim.exe Oracle服務創建、刪除工具
orakill.exe Oracle線程刪除工具
orapwd.exe Oracle密碼文件創建工具
orastack.exe Oracle進程堆棧修改工具
oratclsh.exe TCL腳本解釋器
otrccol.exe trace命令行服務管理工具
otrccref.exe trace管理文件生成工具
otrcfmt.exe trace數據格式化工具
otrcrep.exe trace數據統計報表生成工具
rman.exe 備份與恢復工具
setlinks.exe 磁盤分區管理工具
sqlldr.exe sql Load數據批量導入工具
sqlplus.exe 命令行的sqlplus
svrmgrl.exe Oracle實例管理工具
tkprof.exe SQL語句跟蹤文件解析工具
vppcntl.exe Data Gatherer服務管理工具
(2)Internet Directory相關
bulkload.exe 使用SQL*Loader生成目錄對象的工具
bulkdelete.exe 子樹刪除工具
bulkmodify.exe 目錄對象修改工具
ldifwrite.exe 將目錄中的信息轉換成LDIF格式
ldapadd.exe 向目錄中增加目錄對象、屬性、值的工具
ldapaddmt.exe ldapadd的多線程版本
ldapbind.exe 客戶端認證工具
ldapcompare.exe 屬性值比較工具
ldapdelete.exe 將目錄對象從目錄中刪除的工具
ldapmoddn.exe 修改DN和RDN的工具
ldapmodify.exe 屬性修改工具
ldapmodifymt.exe ldapmodify的多線程版本
ldapsearch.exe 查找和獲取目錄中目錄對象工具
oidpasswd.exe Internet Directory密碼管理工具
oidreconcile.exe 目錄對象同步工具
(3)NLS相關
csscan.exe 數據庫字符集轉換測試工具
lxbcnf.exe NLS配置工具
lxegen.exe 自定義日期格式生成工具
lxinst.exe 自定義字符集生成工具
(4)Net8相關
agtctl.exe 異構服務代理控制程序
cmctl.exe 連接服務管理工具
lsnrctl.exe 監聽服務管理工具
naegen.exe 哈夫曼參數生成工具
namesctl.exe 名字服務管理工具
okdstry.exe 刪除Kerberos證書工具
okinit.exe 創建Kerberos證書工具
oklist.exe 檢查Kerberos證書工具
tnsping.exe 服務名連接測試工具
trcasst.exe SQL*Net跟蹤文件解析工具
(5)interMedia相關
ctxhx.exe ConText文本轉換工具
ctxkbtc.exe ConText詞典編譯工具
ctxload.exe ConText詞典導入/導出工具
(6)開發相關
lmsgen.exe OCI使用的消息文件轉換工具
loadpsp.exe PL/SQL Server Page裝載器
ott.exe Oracle對象類型轉換工具
sqlj.exe sqlj翻譯器
wrap.exe 存儲過程加密工具
xml.exe XML解析器
xmlcg.exe XML C++ Class 生成器
七,Soralis環境下Oracle管理
1:啟動數據庫管理命令:dbca
八,Oracle性能優化
1:ORACLE的優化器共有3種:
a. RULE (基於規則) b. COST (基於成本) c. CHOOSE (選擇性)
2.ORACLE 采用兩種訪問表中記錄的方式:
a.全表掃描
全表掃描就是順序地訪問表中每條記錄. ORACLE采用一次讀入多個數據塊(database block)的方式優化全表掃描.
b.通過ROWID訪問表
采用基於ROWID的訪問方式情況,提高訪問表的效率, , ROWID包含了表中記錄的物理位置信息..ORACLE采用索引(INDEX)實現了數據和存放數據的物理位置(ROWID)之間的聯系. 通常索引提供了快速訪問ROWID的方法,因此那些基於索引列的查詢就可以得到性能上的提高.
3:選擇最有效率的表名順序(只在基於規則的優化器中有效)
ORACLE的解析器按照從右到左的順序處理FROM子句中的表名,因此FROM子句中寫在最後的表(基礎表 driving table)將被最先處理. 在FROM子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表.當ORACLE處理多個表時, 會運用排序及合並的方式連接它們.首先,掃描第一個表(FROM子句中最後的那個表)並對記錄進行派序,然後掃描第二個表(FROM子句中最後第二個表),最後將所有從第二個表中檢索出的記錄與第一個表中合適記錄進行合並.
如果有3個以上的表連接查詢, 那就需要選擇交叉表(intersection table)作為基礎表, 交叉表是指那個被其他表所引用的表.
5. WHERE子句中的連接順序.
ORACLE采用自下而上的順序解析WHERE子句,根據這個原理,表之間的連接必須寫在其他WHERE條件之前, 那些可以過濾掉最大數量記錄的條件必須寫在WHERE子句的末尾.
九,Oracle數據庫重建
1:數據庫重建應注意的問題
在利用import進行數據庫重建過程中,有些視圖可能會帶來問題,因為結構輸入的順序可能造成視圖的輸入先於它低層次表的輸入,這樣建立視圖就會失敗.要解決這一問題,可采取分兩步走的方法:首先輸入結構,然後輸入數據:
imp user/pwd@dabaseSID file=empdata.dmp rows=N
imp user/pwd@dabaseSID file=empdata.dmp full=Y buffer=64000
commit=Y ignore=Y
2:快速編譯所有視圖
---- 當在把數據庫倒入到新的服務器上後(數據庫重建),需要將視圖重新編譯一遍,因為該表空間視圖到其它表空間的表的連接會出現問題,可以利用PL/SQL的語言特性,快速編譯。
SQL >SPOOL ON.SQL
SQL >SELECT ‘ALTER VIEW ‘||TNAME||’
COMPILE;’ FROM TAB;
SQL >SPOOL OFF
然後執行ON.SQL即可。
SQL >@ON.SQL
授權和創建同義詞也可以快速進行:
SQL >SELECT ‘GRANT SELECT ON ’
||TNAME||’ TO USERNAME;’ FROM TAB;
SQL >SELECT ‘CREATE SYNONYM
‘||TNAME||’ FOR USERNAME.’||TNAME||’;’ FROM TAB;
第一條命令輸入所有數據庫結構,但無記錄.第二次輸入結構和數據,64000字節提交一次.ignore=Y選項保證第二次輸入既使對象存在的情況下也能成功.