1.删除表空间 DROP TABLESPACE TableSpaceName [INCLUDING CONTENTS [AND DATAFILES]]
/ D* b4 @1 W, Y, d3 q/ H 2.删除用户4 ~7 E2 i, i& ^* y& M
DROP USER User_Name CASCADE/ @7 f& A$ u9 T& M
3.删除表的注重事项
- [$ f/ g" B2 i7 u9 e6 y6 r 在删除一个表中的全数数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,一再几回DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。
/ T, z+ y8 Y: K3 V0 P 4.having子句的用法
4 ~ k3 Y$ C* w! `; \ having子句对group by子句所确定的行组进行节制,having子句前提中只许可涉及常量,聚组函数或group by 子句中的列。, ?1 \, k; h6 ], j: t3 W
5.外部联接"+"的用法6 x i/ m# C, o Z
外部联接"+"按其在"="的左边或右边分左联接和右联接.若不带"+"运算符的表中的一个行不直接匹配于带"+"预算符的表中的任何行,则前者的行与后者中的一个空行相匹配并被返回.若二者均不带’+’,则二者中无法匹配的均被返回.操作外部联接"+",可以替代效率十分低下的 not in 运算,大大提高运行速度.例如,下面这条呼吁执行起来很慢
. v) e7 b+ {" ?" l9 l; t0 L& K 用外联接提高表毗连的发芽速度
; e1 A1 i% F' D! J3 Y/ f 在作表毗连(常用于视图)时,常使用以下体例来发芽数据:% m) J+ u* P. x& r3 {2 w
SELECT PAY_NO, PROJECT_NAME
! U o V6 S. v% ^ FROM A
3 H- J( r# I) G2 ~ n WHERE A.PAY_NO NOT IN (SELECT PAY_
1 W0 w: \# Y" L1 u( q" Z NO FROM B WHERE VALUE >=120000);- q: w* d1 K. d( f7 I6 m. k8 l
---- 可是若表A有10000标识表记标帜录,表B有10000标识表记标帜录,则要用失踪30分钟才能查完,首要因为NOT IN要进 行一条一条的斗劲,共需要10000*10000次斗劲后,才能获得结不美观。该用外联接后,可以缩短到1分摆布的时刻:
: M& d6 u0 U V SELECT PAY_NO,PROJECT_NAME
b7 ]$ f) Q8 x0 ]5 U5 O6 S FROM A,B. m# e+ o0 i& B8 ?3 g' o
WHERE A.PAY_NO=B.PAY_NO(+)
: n+ H9 B+ l5 H1 D AND B.PAY_NO IS NULL
& C6 \* ?8 t7 `& X AND B.VALUE >=12000;
( f+ q+ {/ O/ N0 M* }+ f5 L& j: x$ | 6.set transaction呼吁的用法0 `/ K8 C, \2 r) n' W
在执行大事务时,有时oracle会报出如下的错误:
! v: y+ \6 b4 H ORA-01555:snapshot too old (rollback segment too small)
+ [4 E" s$ F7 V 这声名oracle给此事务随机分配的回滚段太小了,这时可觉得它指定一个足够大的回滚段,以确保这个事务的成功执行.例如
- U; I" r5 B$ P1 R( R! T# H set transaction use rollback segment roll_abc;3 I* `$ R- a6 w5 ~: p+ ^0 I. \0 u+ M
delete from table_name where ...0 z& o1 g4 A# r# ?
commit;
8 K& `* l, i3 X 回滚段roll_abc被指定给这个delete事务,commit呼吁则在事务竣事之后打消了回滚段的指定.7 g+ q* R J3 X
7.数据库重建应注重的问题7 D' T$ ~4 ]6 h9 b- b2 P
在操作import进行数据库重建过程中,有些视图可能会带来问题,因为结构输入的挨次可能造成视图的输入先于它低条理表的输入,这样成立视图就会失踪败.要解决这一问题,可采纳分两步走的体例:首先输入结构,然后输入数据.呼吁举例如下 (uesrname:jfcl,password:hfjf,host sting:ora1,数据文件:expdata.dmp):
( n9 z& Q8 t, b, ~ imp file=empdata.dmp rows=N
5 J l: w2 v5 |2 w0 @# a imp file=empdata.dmp full=Y buffer=64000& Y8 ~ P" O2 P) O: f; l- N* B
commit=Y ignore=Y
- `: V. h; P. p5 P 第一条呼吁输入所稀有据库结构,但无记实.第二次输入结构和?64000字节提交一次.ignore=Y选项保证第二次输入既使对象存在的情形下也能成功.2 c: _- a" v# I! P# T
select a.empno from emp a where a.empno not in (select empno from emp1 where job=’SALE’);
' K, a- S( S* b! B7 V& W4 D- i 借使倘使操作外部联接,改写呼吁如下:
5 \% X& V$ o0 P3 P select a.empno from emp a ,emp1 b
* |9 P$ U; s0 D) X4 |# l where a.empno=b.empno(+)
+ q2 p2 D, o% s, M and b.empno is null
( n$ q$ h+ u. L7 ] h' b) O and b.job=’SALE’;
# E1 q/ x6 x$ r4 m; }. S! i
/ Q! O0 Y; i |) c" \ 可以发现,运行速度较着提高. |