Oracle:在实时数据库上添加,重命名和删除列

时间:2010-12-02 21:37:17

标签: database oracle renaming

在正常运行的Oracle数据库中允许和不允许执行哪些操作?具体来说,在添加,删除和重命名列时如何处理?

4 个答案:

答案 0 :(得分:2)

您可以在正在运行的实例上进行几乎所有这样的更改。当然我不建议在系统中与USERS一起使用。

也就是说,Oracle 11.2有一个称为EBR,基于版本的重新定义的杀手级新功能。可以想象它能够“提交”和“回滚”DDL更改。根据具体情况,这可能会有用。

答案 1 :(得分:2)

在线更改(即其他会话处于活动状态时)可以使用DBMS_REDEFINITION(描述为hereherehere)完成,但这是一个企业版{{ 3}}

答案 2 :(得分:1)

你可以做那些事。如果数据库找到了拒绝更改的理由,您将获得一个很好的讨厌的错误代码,您可以检查下一步需要做什么。

如果没有其他用户运行查询或在后台运行没有作业,那么您将遇到更少的麻烦。

答案 3 :(得分:1)

您可以毫无问题地添加,删除和重命名列。

警告,

添加具有默认值的列会强制数据库为现有行发出更新语句。在大桌子上要小心,否则负载会飙升。

重命名列可能会破坏您的应用。计划这个,但否则你应该没事。还要意识到,除非您正确计划,否则您将为尝试访问该列的查询生成错误。