Oracle 表空间修改字段大小

时间:2022-12-03 22:43:29

1.修改字段大小

当表中已经存在数据,就不能直接修改某字段大小,需要新建一个字段来过渡

 

ALTER TABLE TABLE RENAME COLUMN GRP TO FUND_GRP_1;
ALTER TABLE TABLE ADD GRP VARCHAR2(2);
UPDATE TABLE SET GRP = CAST(FUND_GRP_1 AS VARCHAR2(2));
ALTER TABLE TABLE DROP COLUMN FUND_GRP_1;

2.检查数据库的invalid object.

字段修改之后往往会导致数据库中产生无效对象,需要进行检查

SELECT owner,
object_name,
object_type,
status
FROM dba_objects
WHERE status = 'INVALID'
ORDER BY owner,
object_type,
object_name;

3.重新编译无效对象

编译整个数据库中的无效对象:

SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql

编译数据库中单个的无效对象

  编译无效包体:

    alter package package_name complie;

  编译无效函数:

    alter function function_name complies;