Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

1

好友

29

主题
1#
发表于 2013-1-9 10:24:49 | 查看: 4312| 回复: 6
目的将普通表在线重定义成分区表
在我在线重定义期间,开始部分没有问题,但是到finish的时候包权限不足的错误
SYS@moon>grant execute on dbms_redefinition to myx;

Grant succeeded.
  1  BEGIN
  2   dbms_redefinition.finish_redef_table(
  3   uname => 'MYX',
  4   orig_table => 'unpar_table',
  5   int_table => 'par_table');
  6*  END;
BEGIN
*
ERROR at line 1:
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_REDEFINITION", line 76
ORA-06512: at "SYS.DBMS_REDEFINITION", line 1377
ORA-06512: at line 2

之前步骤中
BEGIN

  2  dbms_redefinition.sync_interim_table(

  3  uname => 'ICD',

  4  orig_table => 'unpar_table',

  5  int_table => 'par_table');

  6  END;

  7  /

也报错,但是说这一步不是一定要执行就暂时搁浅,也是包权限不足的错误,但是第一步我dbms_redefinition.can_redef_table就没报错,这是为什么?
2#
发表于 2013-1-9 11:05:33
DBMS_REDEFINITION这个包属于sys用户的,你用MYX执行当然要报错咯。

回复 只看该作者 道具 举报

3#
发表于 2013-1-9 11:11:25
ricky 发表于 2013-1-9 11:05
DBMS_REDEFINITION这个包属于sys用户的,你用MYX执行当然要报错咯。

可是我把包的权限给了也不行么?关键是开始第一步通过了,后面两步包权限不足的错误..

回复 只看该作者 道具 举报

4#
发表于 2013-1-9 11:11:57
说没有足够的权限,如果要执行这个存储过程,起码需要如下权限:
* CREATE ANY TABLE   
      * ALTER ANYTABLE   
      * DROP ANYTABLE   
      * LOCK ANYTABLE   
      * SELECT ANYTABLE   
   
可以临时授予DBA权限给用户,完之后取消掉,或转移到其他有权限的用户执行这个操作:
  
executeSYS.DBMS_REDEFINITION.START_REDEF_TABLE('MYTEST','TEST','INT_TEST');

回复 只看该作者 道具 举报

5#
发表于 2013-1-9 11:19:36
ricky 发表于 2013-1-9 11:11
说没有足够的权限,如果要执行这个存储过程,起码需要如下权限:
* CREATE ANY TABLE   
      * ALTER AN ...

我尝试grant dba to myx这个用户后,依然说权限不足,而且我用dba用户执行这句话,报
ora-12093 invalid interim table "MYX"."par_table"
但是我两个表par_table和unpar_table都有

回复 只看该作者 道具 举报

6#
发表于 2013-1-14 09:28:13
你转移一下用system执行试试。一般执行这些包之类的,我都是用sys或system执行。

回复 只看该作者 道具 举报

7#
发表于 2013-1-14 09:49:40
ricky 发表于 2013-1-14 09:28
你转移一下用system执行试试。一般执行这些包之类的,我都是用sys或system执行。 ...

好的,谢谢啊

回复 只看该作者 道具 举报

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

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-17 20:11 , Processed in 0.048258 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569