【Oracle】Oracle常用指令

  1. 增删改字段
# 增加字段
alter table test_number_yst add (id_test number(38,-84));
# 修改字段
alter table tablename modify (id_test number(38,-84));
# 删除字段
alter table tablename drop (id_test);
  1. 查询用户所有表
select * from tabs;
select * from user_tables;
# 查看表创建时间
select object_name,created from user_objects where object_name=upper('&table_name');
# 查看表大小
select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name');
  1. bfile字段建表
# 创建目录
mkdir -p /tmp/bfile/
# 在目录下新建文件
vi test1.txt
# oracle创建directory:
create directory BFILEDIR as '/tmp/bfile';
# oracle建表
create table falt_bfile ( id number, bfile_name bfile);
# 插入数据
insert into falt_bfile values (1, BFILENAME('BFILEDIR','test1.txt')); commit;
  1. 锁表问题定位
# 相关被锁表查询
SELECT * FROM V$LOCK;
SELECT * FROM V$SQLAREA;
SELECT * FROM V$SESSION;
SELECT * FROM V$PROCESS;
SELECT * FROM V$LOCKED_OBJECT;
SELECT * FROM ALL_OBJECTS;
SELECT * FROM V$SESSION_WAIT;
# 查看被锁的表
SELECT B.OWNER, B.OBJECT_NAME, A.SESSION_ID, A.LOCKED_MODE FROM V$LOCKED_OBJECT A, DBA_OBJECTS B WHERE B.OBJECT_ID = A.OBJECT_ID;
# 查看哪个用户哪个进程造成死锁:
SELECT B.USERNAME, B.SID, B.SERIAL#, LOGON_TIME FROM V$LOCKED_OBJECT A, V$SESSION B WHERE A.SESSION_ID = B.SID ORDER BY B.LOGON_TIME;
# 查看连接的进程:
SELECT SID, SERIAL#, USERNAME, OSUSER FROM V$SESSION;
# 查看数据库引起锁表的SQL语句:
SELECT A.USERNAME, A.MACHINE, A.PROGRAM, A.SID, A.SERIAL#, A.STATUS, C.PIECE, C.SQL_TEXT  FROM V$SESSION A, V$SQLTEXT C  WHERE A.SID IN (SELECT DISTINCT T2.SID FROM V$LOCKED_OBJECT T1, V$SESSION T2  WHERE T1.SESSION_ID = T2.SID)  AND A.SQL_ADDRESS = C.ADDRESS(+)  ORDER BY C.PIECE;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值