Bo's Oracle Station

查看: 2491|回复: 4

跨平台迁移后无效对象的疑问

[复制链接]

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
发表于 2016-7-6 15:44:56 | 显示全部楼层 |阅读模式
本帖最后由 lujiaguai 于 2016-7-6 15:51 编辑

跨平台迁移完成后,执行,结果显示成功
SQL> @?/rdbms/admin/utlrp.sql

PL/SQL procedure successfully completed.

FAILED CHECK FOR PACKAGE BODY WWV_FLOW_HELP

PL/SQL procedure successfully completed.



但同时查询count都是0,是不是哪里做错了?
正确的查询应该是哪一个?


SQL> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);

  COUNT(*)
----------
         0

SQL> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;

  COUNT(*)
----------
         0
同时查询valid,结果多达数千行,为什么?
SQL> select OWNER,OBJECT_NAME,STATUSfrom dba_objects where status <> 'valid';






回复

使用道具 举报

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2016-7-7 10:02:33 | 显示全部楼层
SQL> @?/rdbms/admin/utlrp.sql

PL/SQL procedure successfully completed.

FAILED CHECK FOR PACKAGE BODY WWV_FLOW_HELP

PL/SQL procedure successfully completed.


忽略掉,已经成功了。
回复 支持 反对

使用道具 举报

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
 楼主| 发表于 2016-7-7 11:16:47 | 显示全部楼层
同样从window 上迁移过来,为何课堂上有无效对象,我自己做的时候却没有?

区别可能在于我windows上的数据库是新装的,没有任何改动吗?
课堂上window上的utforcl是不是运行一段时间,有过一些数据或者修改导致的?

另外,跨平台迁移过程中,控制文件脚本在目标服务器上编辑的时候,最后是字符集的参数
这个地方能不能改?
我感觉概念有点混淆了,表空间传送如果源与目的的字符集不一样,会导致失败。
那么跨平台迁移呢?课堂上说不受字符集影响,不知道我有没有记错。
回复 支持 反对

使用道具 举报

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2016-7-7 11:28:47 | 显示全部楼层
lujiaguai 发表于 2016-7-7 11:16
同样从window 上迁移过来,为何课堂上有无效对象,我自己做的时候却没有?

区别可能在于我windows上的数 ...
我感觉概念有点混淆了,表空间传送如果源与目的的字符集不一样,会导致失败。


表空间传送如果源与目的的字符集不一样,会导致失败是对的。

传送数据库那个rman trace出来的脚本,字符集保持原样就好。这里不存在字符集一样不一样的问题。一个数据库控制文件的trace文本,不能随便改字符集的。
回复 支持 反对

使用道具 举报

81

主题

181

帖子

781

积分

高级会员

Rank: 4

积分
781
 楼主| 发表于 2016-7-7 11:37:31 | 显示全部楼层
我明白了
源数据库是什么样的,迁移到目的以后也是什么样的,迁移本身是成功的。
传送表空间,源与目的不一样,不会成功。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-12-5 02:50 , Processed in 0.047167 second(s), 25 queries .

快速回复 返回顶部 返回列表