在正常运行的Oracle数据库中允许和不允许执行哪些操作?具体来说,在添加,删除和重命名列时如何处理?
答案 0 :(得分:2)
您可以在正在运行的实例上进行几乎所有这样的更改。当然我不建议在系统中与USERS一起使用。
也就是说,Oracle 11.2有一个称为EBR,基于版本的重新定义的杀手级新功能。可以想象它能够“提交”和“回滚”DDL更改。根据具体情况,这可能会有用。
答案 1 :(得分:2)
在线更改(即其他会话处于活动状态时)可以使用DBMS_REDEFINITION(描述为here,here和here)完成,但这是一个企业版{{ 3}}
答案 2 :(得分:1)
如果没有其他用户运行查询或在后台运行没有作业,那么您将遇到更少的麻烦。
答案 3 :(得分:1)
您可以毫无问题地添加,删除和重命名列。
警告,
添加具有默认值的列会强制数据库为现有行发出更新语句。在大桌子上要小心,否则负载会飙升。
重命名列可能会破坏您的应用。计划这个,但否则你应该没事。还要意识到,除非您正确计划,否则您将为尝试访问该列的查询生成错误。