如何给oracle新增数据表打标签

....正在执行过程中,那么这个表洺T_TEST我想在数据库中查询到这个表名,知道我正在建立这个表

sessions然后按照status排序能看到active的进程选择下面sql text标签就能看到正在执行的语句。

你对這个回答的评价是


· 超过21用户采纳过TA的回答

应该查询不到吧,但可以通过跟踪会话找到对应的执行sql语句来知道要创建的表名

你对这个囙答的评价是?


你对这个回答的评价是


通过select * from user_tables;可以查看 系统用户查看的太多了 一般是普通用户的利用这个可以进行查看在该用户下创建的表的相关内容·

你对这个回答的评价是?


DESC语句;DESC+表名 查看指定表的结构

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

在如何修改需要注意什么细节。

如果有事务在TABLE上那ALTER 语句执行失败。因为DML语句会加共享锁在table上而ALTER需要排他锁。故alter失败

直接去添加一个字段,注意没有加上缺省值

執行的速度很快。在掩耳不及迅雷情况执行完毕

这时可以DUMP BLOCK,看到数据块中的记录没有新添加的字段(只是执行DDL,修改table的定义)

那这时刪除一个字段呢

可以想象,这是做了一个全表扫描找到kong 字段,把内容搽去

如果在ALTER中加上了缺省值,那又会怎样

来来来,上楼上┅起去看看(易中天的语录)

可以看到执行时间是1分钟34秒。而同时其他session执行的sql只能被等待

LONG TIME,但是没有看到相关的阻塞(这个没有阻塞,没有猜到理由)

在DDL时oracle新增数据会当作一个原子来执行,sid=13已经修改了数据表的定义接着更改block的数据;而SID=9只能等待,等待sid=13执行完毕在SID=9嘚session可以看到SID=13执行后的结果:

如果在修改同时,加上缺省值会阻塞其他session;那如果分来呢?先加字段再加上缺省值。

看到速度是很快。可是和前一个方法有什么区别吗?难道快就没有缺点

1) 在ALTER sql中有带缺省值,oracle新增数据会直接刷新全部的记录

2) 在ALTER sql中没有带缺省值,oracle新增数据只会影响到后来的记录(明白快是有隐秘的秘诀)

在选择哪种方法时,要更加具体的情况来实施:是否有INDEX是否在应用的高并发階段,等等

我要回帖

更多关于 oracle新增数据 的文章

 

随机推荐