oracle分区交换存储过程,存储过程中执行分区交换的操作报权限不足

本帖最后由 花好月不圆 于 2012-6-12 23:15 编辑

或  grant select, insert, update, delete, references, alter, index on B.I_T_HD_TTU_CURRENT_BAK TO A ;

C:\Users\Administrator>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 6月 12 22:50:07 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn /as sysdba

已连接。

SQL> create user test1 identified by test1;

用户已创建。

SQL> create user test2 identified by test2;

用户已创建。

SQL> grant connect,resource to test1,test2;

授权成功。

SQL> conn test1/test1

已连接。

SQL>  CREATE TABLE w_chng_dim

2  (col1  NUMBER,

3             col2  DATE)

4        PARTITION BY RANGE (col2)

5              (PARTITION W_CHNG_DIM__OCT_2007 VALUES LESS THAN (TO_DATE ('01-01-2007', 'dd-mm-yyyy')),

6               PARTITION W_CHNG_DIM__NOV_2007 VALUES LESS THAN (TO_DATE ('01-12-2007', 'dd-mm-yyyy')))

7      /

表已创建。

SQL>  INSERT INTO w_chng_dim VALUES (1, TO_DATE ('05-10-2007', 'DD-mm-yyyy'));

已创建 1 行。

SQL> commit;

提交完成。

SQL> conn test2/test2

已连接。

SQL>  CREATE TABLE test2.w_chng

2       (col1  NUMBER,

3             col2  DATE)

4      /

表已创建。

SQL> grant all on w_chng to test1;

授权成功。

SQL> INSERT INTO w_chng VALUES (2, TO_DATE ('10-11-2007', 'DD-mm-yyyy'));

已创建 1 行。

SQL> commit;

提交完成。

SQL> conn test1/test1;

已连接。

SQL> SELECT * FROM test1.w_chng_dim;

COL1 COL2

---------- --------------

1 05-10月-07

SQL> SELECT * FROM test2.w_chng

2  /

COL1 COL2

---------- --------------

2 10-11月-07

SQL> CREATE OR REPLACE PROCEDURE partition_exchng

2      AS

3        v_name  VARCHAR2 (30);

4      BEGIN

5        SELECT partition_name

6        INTO   v_name

7        FROM   user_tab_partitions

8        WHERE  table_name = 'W_CHNG_DIM'

9        AND    SUBSTR (partition_name, 13, 8) ='OCT_2007';

10       EXECUTE IMMEDIATE      'ALTER TABLE W_CHNG_DIM EXCHANGE PARTITION ' || v_name  || ' WITH TABLE TEST2.W_CHNG WITHOUT VALIDATION UPDATE GLOBAL INDEXES';

11    END partition_exchng;

12     /

过程已创建。

SQL> show errors;

没有错误。

SQL> EXECUTE partition_exchng;

PL/SQL 过程已成功完成。

SQL> SELECT * FROM w_chng_dim;

COL1 COL2

---------- --------------

1 05-10月-07

2 10-11月-07

SQL> SELECT * FROM test2.w_chng;

未选定行

SQL>

test1 的全部用户权限脚本

-- Create the user

create user TEST1

identified by "";

-- Grant/Revoke object privileges

grant select, insert, update, delete, references, alter, index on TEST2.W_CHNG to TEST1;

-- Grant/Revoke role privileges

grant connect to TEST1;

grant resource to TEST1;

-- Grant/Revoke system privileges

grant unlimited tablespace to TEST1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值