orace7.31_7.33临时表临时表,Trace日志, Insert 语句, 删除正在连接数据库的用户

7.31    Oracle 临时表
-- Create table
create global temporary table T_TEMP_TEST_RATE
(
  name    VARCHAR2(512),
  rate    NUMBER,
  revenue NUMBER
)
on commit preserve rows;

global:临时表
oracle临表两种
on commit delete row;     --默认选项commit候数据删除,事务级临时表
on commit preserve row;   --commit候数据保留结束自删除,会话级临时表

ddl语句(create table ddl)发oracle隐式提交事务(commit)刚刚插入临表数据自删除;
参考:
http://www.cnblogs.com/kerrycode/archive/2014/03/26/3627334.html


select * from v$lock_type where type='TO' ;
TO :Temp Object
7.32    Trace日志
/opt/oracle/product/diag/rdbms/testdb/testdb/trace/testdb_ora_68201.trc

7.33    Insert 语句
从一张表里查询数据插入另一张表:
insert into t_sys_info_test_liu valuses select * from t_sys_info_test_w;

带有函数的需要嵌套:
insert into A (id,name,age,class)
select SEQ_A.nextval,b_name,b_age,b_class
from
(select  
b_name,b_age,b_class  
from b
group by b_name,b_age,b_class

)

7.25    删除正在连接数据库的用户
-- 1、首先切换到  SYS 用户
-- 2、查询用户各进程相对应的 sid、serial#。注意:这里的 username 必须大写
 SELECT sid,serial#,username FROM v$session WHERE username = 'TEST2011';
-- 下面是查询结果
 
       SID    SERIAL# USERNAME
---------- ---------- ------------------------------
       120      61422 TEST2011
       131      62682 TEST2011
       133      45409 TEST2011
       148      38527 TEST2011
       157      21137 TEST2011
-- 3、根据上面的查询结果,将用户占用的所有进程杀掉。注意: sid 与 serial# 是一一对应的
ALTER SYSTEM KILL SESSION '120, 61422';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值