Oracle常用操作sql
1.连接到其他数据库
修改tnsnames.ora,在其末尾添加新数据库连接信息即可,格式可模仿已存在数据库连接。
2. SQL*Plus & PL/SQL Developer
可在Oracle客户端里使用SQL Plus Worksheet 或 SQL Plus 进行数据库的各种操作。
使用PL/SQL Developer更为方便。
3.表空间
(1)uniform size是什么?
oracle中表,索引,分区等都叫做段,每个段是有多个物理上不连续的区间组成;当段的空间不够是Oracle是通过增加区间来实现的。UNIFORM SIZE就是这个表空间中所有的区间是同样的大小,好处是防止碎片。
(2)uniform size应设为多大?
目的是希望一个segment上不要有过多的extents,如果你的表大小差距很大,最好分别放到不同的tablespace中,设置不同的extent uniform size,我觉得一个segment的extent不应该超过300个,比较好。extend 多了容易引起碎片问题,9i中建议单个tablespace 的 extend 数量不要超过4096个,所以大object对应的tablespace应该选取大一些的extend,反之就选小一点的。
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
4.表(table)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
--添加字段
alter table table1 add (col1 type1,col2 type2)
comment on column table1.col1 is '字段1'
--删除字段
alter table table1
drop column col1
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
--添加多列:
ALTER TABLE TABLENAME
ADD
(A NUMBER ,B VARCHAR2(40) ,C DATE );
e.g:
ALTER TABLE PI_BDSURL ADD
(
PROVINCECONFIRMRESULTSTATEID VARCHAR2(20),
PROVINCECONFIRMRESULTSTATE VARCHAR2(40),
PROVINCECONFIRMATTITUDE VARCHAR2(400),
PROVINCECONFIRMER VARCHAR2(20),
PROVINCECONFIRMDATE DATE
);
--删除多列:
ALTER TABLE table_name DROP {COLUMN column_names | (column_names)} [CASCADE CONSTRAINS]
e.g:
alter table PI_BDSURL drop
(
PROVINCECONFIRMRESULTSTATEID,
PROVINCECONFIRMRESULTSTATE,
PROVINCECONFIRMATTITUDE,
PROVINCECONFIRMER,
PROVINCECONFIRMDATE
);
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
alter table table_name rename column old_value to new_value;
5. 序列(sequence)和递增字段
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
6.视图(view)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
7.存储过程(procedure)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
create or replace procedure p_getpoints
is
i int;
begin
i :=1;
loop
delete
from dempoint t1
where t1.height not in (select max(t2.height) from dempoint t2 where t2.index=i) and t1.index =i;
exit when i =500;
i :=i+1;
end loop;
end;
8 用户
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
9 pl/sql command
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
10 查看oracle版本
select * from product_component_version
select * from v$instance
select * from product_component_version
select * from v$instance