返回顶部
首页 > 资讯 > 数据库 >Oracle如何给用户授权truncatetable
  • 337
分享到

Oracle如何给用户授权truncatetable

2024-04-02 19:04:59 337人浏览 薄情痞子
摘要

这篇文章主要介绍oracle如何给用户授权truncatetable,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1,对其它用户下的表执行trundate table操作开发说在用d

这篇文章主要介绍oracle如何给用户授权truncatetable,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1,对其它用户下的表执行trundate table操作

开发说在用dwetl下执行调用shop用户下的表的时候提示没有权限操作,Google了查了下,发现oracle账户没法直接赋予对某个表的truncate权限,那要怎么来实现呢?
在shop用户下面,准备测试数据

sql> create table Z_TRUNCATE_T(ID number);
Table created.
SQL> insert into Z_TRUNCATE_T select 1 from dual;
1 row created.
SQL> commit;
Commit complete.
SQL> select * from Z_TRUNCATE_T;
  ID
----------
   1
SQL>

2,比较粗鲁不安全的做法

通常赋予truncate的常规做法,是直接赋值drop any table给一个用户

SQL> grant drop any table to dwetl;
Grant succeeded.
SQL> 
SQL> grant select,insert,delete,update on Z_TRUNCATE_T to dwetl;
Grant succeeded.
SQL>

干完活,需要赶紧马上收回权限因为drop any table权限是在太大了,一不小心就会造成误删除,到时候哭都来不及啊

SQL> revoke drop any table from dwetl;
Revoke succeeded.
SQL> revoke select,insert,delete,update on shop.PLAN6_TEMPLET_node_EDIT from dwetl;
Revoke succeeded.
SQL>

3,比较安全的做法

建立一个存储过程p_truncate,在存储过来里面执行truncate table Z_TRUNCATE_T;然后赋予另外一个用户dwetl对这个存储过程的执行权限。

存储过程p_truncate如下:

create or replace procedure p_truncate as 
  begin
  execute immediate 'truncate table Z_TRUNCATE_T';
  end;

建立存储过程:

SQL> 
 create or replace procedure p_truncate as 
begin
execute immediate 'truncate table Z_TRUNCATE_T';
 4 end;
 5 /
Procedure created.
SQL>

赋予存储过程的执行权限给dwetl,并且赋予表的增删改查权限,因为truncate后,紧接着的基本就是insert、update、delete了

SQL> grant execute on p_truncate to dwetl;
Grant succeeded.
SQL> 
SQL> grant select,insert,delete,update on Z_TRUNCATE_T to dwetl;
Grant succeeded.
SQL>

通过dwetl账号登陆,执行存储过程查看效果,看到shop用户下的表Z_TRUNCATE_T已经被清空了,ok,如此也证明了通过存储过程这种方案是可行的,可以对别的用户下的表进行truncate table操作。
–查看

SQL> call shop.p_truncate();
Call completed.
SQL> select * from shop.Z_TRUNCATE_T;
no rows selected
SQL>

以上是“Oracle如何给用户授权truncatetable”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle如何给用户授权truncatetable

本文链接: https://lsjlt.com/news/57170.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle如何给用户授权truncatetable
    这篇文章主要介绍Oracle如何给用户授权truncatetable,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1,对其它用户下的表执行trundate table操作开发说在用d...
    99+
    2024-04-02
  • oracle如何授权表权限给用户
    要授予用户对表的权限,可以使用Oracle的GRANT语句。下面是一些常见的授权表权限的示例: 授予用户SELECT权限: GR...
    99+
    2024-04-09
    oracle
  • 怎么给oracle用户授权
    向 oracle 用户授予权限可通过以下步骤实现:连接到数据库。授予特定对象权限:grant on to ;授予架构对象权限:grant on .all_objects to ;授...
    99+
    2024-04-18
    oracle
  • mongodb怎么给用户授权
    这篇文章主要介绍“mongodb怎么给用户授权”,在日常操作中,相信很多人在mongodb怎么给用户授权问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mongodb怎么给用户...
    99+
    2024-04-02
  • mysql怎么给用户授权
    授予 mysql 用户授权的步骤:连接到数据库并创建用户。使用 grant 命令授予权限,指定权限、数据库名、表名和用户名。刷新权限表以使更改生效。 如何给 MySQL 用户授权 授予...
    99+
    2024-05-30
    mysql
  • mysql如何授权用户权限
    授权mysql用户权限的过程包括:登录mysql使用具有管理权限的用户。创建要授权的用户(如果不存在)。使用grant语句授予所需的权限。刷新权限表以使更改生效。 MySQL授权用户权...
    99+
    2024-06-15
    mysql
  • 如何使用Ranger给HDFS授权
    这篇文章给大家介绍如何使用Ranger给HDFS授权,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。主要介绍如何使用Ranger 给HDFS 授权。文档概述介绍CDP7.1.3 中Ranger 中HDFS 默认权限策略使...
    99+
    2023-06-19
  • sql怎么把查询权限授权给用户
    要将查询权限授权给用户,可以使用以下SQL语句: GRANT SELECT ON database.table TO user; 其...
    99+
    2024-04-09
    sql
  • mysql的用户权限如何授权
    下面一起来了解下mysql的用户权限如何授权,相信大家看完肯定会受益匪浅,文字在精不在多,希望mysql的用户权限如何授权这篇短内容是你想要的。 mysql> grant 权限1,权限2,…...
    99+
    2024-04-02
  • oracle如何给用户表空间权限
    要给用户赋予表空间权限,可以使用以下步骤:1. 使用sys用户登录到Oracle数据库。2. 创建一个用户,如果还没有创建用户。可以...
    99+
    2023-08-23
    oracle
  • oracle如何授权
    在 oracle 数据库中,授予权限可控制用户访问。以下是授予权限的步骤:连接到数据库。确定要授予的权限(例如:select、insert)。确定要授予权限的对象(例如:表、视图)。使用...
    99+
    2024-04-19
    oracle
  • oracle数据库中给用户授权的方法有哪几种?如何实现?
    oracle 数据库中可以通过以下方法授予用户权限:1. 直接授权;2. 角色授权;3. 默认角色;4. 系统权限。 Oracle 数据库中授权用户的几种方法 在 Oracle 数据库...
    99+
    2024-04-19
    oracle
  • MYSQLl给用户授予数据库表权限
    给targetUserName用户授予databaseName单个数据库权限 grant all privileges on databaseName.* to targetUserName@"%" identified by "...
    99+
    2016-09-19
    MYSQLl给用户授予数据库表权限
  • plsql怎么授权视图给用户查询
    在PL/SQL中授权视图给用户查询,可以使用以下步骤:1. 登录到Oracle数据库中的SYS用户或具有SYSDBA角色的用户。2....
    99+
    2023-09-28
    plsql
  • 02 oracle 创建用户和授权
    1.Oracle 默认用户 只有用合法的用户帐号才能访问Oracle数据库 Oracle 有几个默认的数据库用户 2.创建新用户 2.1 简介 要连接到Oracle数据库,就需要创建一个用户帐户 每个...
    99+
    2024-04-02
  • oracle用户创建和授权(一)
    1、请输入用户名: sys as sysdba2、输入口令: 1234563、创建用户:create user admin identified by admin;4、授权建立表:grant create ...
    99+
    2024-04-02
  • 12c 禁用DBA权限,你怎么给业务用户授权
    看到太多客户,使用业务用户的权限都是DBA,这样设置是最简单的,也是最危险的,这里给大家介绍一种设置权限的方法。 测试环境为Oracle 12c 1.connect 角色具有的系统权限 SQL> s...
    99+
    2024-04-02
  • MySQL如何设置用户权限和授权
    在MySQL中,可以使用GRANT语句来设置用户权限和授权。以下是一些常见的示例: 授权用户访问数据库: GRANT ALL P...
    99+
    2024-04-09
    MySQL
  • mysql怎么给用户授权某个数据库
    在MySQL中,给用户授权某个数据库可以通过以下步骤实现: 连接到MySQL数据库服务器: mysql -u root -p ...
    99+
    2024-04-09
    mysql 数据库
  • 如何给oracle的用户添加所有权限
    要给Oracle用户添加所有权限,可以使用以下步骤: 以具有sysdba角色的用户身份登录到Oracle数据库。 执行以下命令创建...
    99+
    2024-04-09
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作