6、查询正在运行的对象
查看oracle数据库中正在执行的sql语句:
select a.program,b.spid,c.sql_text from v$session a,v$process b,v$sqlarea c where a.paddr=b.addr and a.sql_hash_value=c.hash_value and a.username is not null;
查看正在运行的存储过程
select name,locks,pins
from v$db_object_cache
where locks > 0 and pins > 0 and type='PROCEDURE';
SELECT * FROM V$ACCESS WHERE OWNER='PORTAL' AND V$ACCESS.OBJECT='TEST_GET_SERVICENUMDEV_DATE';
SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='280';
ALTER SYSTEM KILL SESSION '280,44207';
select a.program, b.spid, c.sql_text
from v$session a, v$process b, v$sqlarea c
where a.paddr = b.addr
and a.sql_hash_value = c.hash_value
and a.username is not null;
7、查询当前锁
SELECT p.spid,
a.serial#,
c.object_name,
b.session_id,
b.oracle_username,
b.os_user_name
FROM v$process p, v$session a, v$locked_object b, all_objects c
WHERE p.addr = a.paddr
AND a.process = b.process
AND c.object_id = b.object_id
8、执行计划
插入SQL的执行计划(插入plan_table表)
explain plan for + SQL
查询对应的执行计划
select object_name, operation, options from plan_table order by id;
可以根据执行计划对SQL进行优化
也可以使用set autotrace on;开启执行计划模式,然后直接执行sql即可同时显示出执行计划
9、数据量大时,sql语句避免使用distinct、in等关键字
10、delete可以删除整个表的数据也可以删除表中某一条或N条满足条件的数据,而truncate只能删除整个表的数据
操作 回滚 高水线 空间 效率
Truncate 不能 下降 回收 快
delete 可以 不变 不回收 慢
11、
alter database open;
recover datafile 5;
alter database datafile 5 online;
ALTER DATABASE datafile 5 resize 2048m;
shutdown immediate;
select * from dba_data_files
dbv file=/dev/raw/raw1 blocksize=8192
sqlplus /nolog
connect sys/123 as sysdba;
alter database rename file '/oracle/app/oradata/ora11g/data.dbf' to '/dev/raw/raw1';
drop tablespace ts_index including contents and datafiles;
alter tablespace m400idx add datafile '/home/oracle/datafile/m400idx01.dbf' size 256m REUSE AUTOEXTEND ON NEXT 256m MAXSIZE 4096m;
drop table test3;
create table test3(
test number(38),
rest date GENERATED ALWAYS as (to_date(test, 'yyyymmddhh24miss')) VIRTUAL
)
partition by range (rest) interval (numtoyminterval(1,'month'))
(
partition test_001 values less than (to_date('201301', 'yyyymm'))
);
insert into test3 (test) values (20130423000000);
insert into test3 (test) values (20130523000000);
insert into test3 (test) values (20130623000000);
insert into test3 (test) values (20130823000000);
insert into test3 (test) values (20130923000000);
insert into test3 (test) values (20131023000000);
insert into test3 (test) values (20131123000000);
insert into test3 (test) values (20131223000000);
commit;
oracle(2)
猜你喜欢
转载自luwjrabbit.iteye.com/blog/1953151
今日推荐
周排行