如何以普通用户身份在 Oracle 中运行 dbms_crypto 函数?

     2023-05-09     213

关键词:

【中文标题】如何以普通用户身份在 Oracle 中运行 dbms_crypto 函数?【英文标题】:How to run dbms_crypto functions in Oracle as regular user? 【发布时间】:2012-11-20 12:19:12 【问题描述】:

我在 Oracle 中使用 dbms_crypto.hash() 函数时遇到问题。

我使用 sqlplus 作为“sys/passwd as sysdba”连接到数据库服务器, 然后我安装了dbms_crypto 包:

@/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/dbmsobtk.sql
@/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/prvtobtk.plb
Grant execute on dbms_crypto to public;
Grant execute on dbms_sqlhash to public;
Grant execute on dbms_obfuscation_toolkit to public;
Grant execute on dbms_obfuscation_toolkit_ffi to public;
Grant execute on dbms_crypto_ffi to public;

一切看起来都不错,所以我测试了hash()函数:

SQL> select dbms_crypto.hash(utl_raw.cast_to_raw('zorg'), 3) from dual;

DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW('ZORG'),3)
--------------------------------------------------------------------------------
60C440F9954CA4744204CDA9CC93567059C1EC82

我以普通用户的身份断开连接并连接到该数据库,但随后出现错误:

SQL> select dbms_crypto.hash(utl_raw.cast_to_raw('zorg'), 3) from dual;
select dbms_crypto.hash(utl_raw.cast_to_raw('zorg'), 3) from dual
             *
ERROR at line 1:
ORA-06521: PL/SQL: Error mapping function
ORA-06512: at "MN.DBMS_CRYPTO_FFI", line 131
ORA-06512: at "MN.DBMS_CRYPTO", line 72

为什么我不能作为普通用户使用这个功能?如何允许其他用户使用?

我与:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

【问题讨论】:

【参考方案1】:

问题解决了。我将包创建为错误的用户。正确方法:

    连接使用:

    sqlplus / as sysdba
    

    安装包:

    @/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/dbmsobtk.sql
    @/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/prvtobtk.plb
    

    以普通用户身份连接并使用 dbms_crypto 包中的功能。

【讨论】:

感谢您向 Michal 报告。您能否指出是否可以帮助其他人?否则,您可能需要关闭问题。 我认为可以帮助其他人。

oracle数据库如何授权收费

1、首先以管理员身份连接数据库,输入sqlplus,然后输入管理员用户名(system)和口令密码即可连接成功。2、创建普通用户:通过管理用户创建普通用户,连接到数据库后,在命令行输入:createuseryonghumingidentifiedbymima;。3、授权... 查看详情

如何在初始化脚本中以特定用户身份运行命令?

】如何在初始化脚本中以特定用户身份运行命令?【英文标题】:Howtorunacommandasaspecificuserinaninitscript?【发布时间】:2013-07-3103:19:38【问题描述】:我正在编写一个初始化脚本,它应该以不同于root的用户身份执行单个命令。这就... 查看详情

以管理员身份运行是啥意思?

...或者命令运行过程中更改系统设置或者是注册表,如果是普通用户通常只有读的权限,没有改的权限,也就无法完成更改操作。管理员主要进行系统运维的用户,建议如果无特殊需求直接用普通用户登录即可,防止误操作,改变... 查看详情

如何在 IntelliJ 中以不同用户身份运行 JAR 应用程序?

】如何在IntelliJ中以不同用户身份运行JAR应用程序?【英文标题】:HowtorunaJARapplicationasadifferentuserinIntelliJ?【发布时间】:2020-08-1014:03:57【问题描述】:我想为运行配置选择用户,以便我的应用程序以减少的权限运行。不幸的是... 查看详情

在 Java 中使用 Selenium Webdriver 以不同用户身份运行 IE

...【发布时间】:2013-08-0213:18:56【问题描述】:有谁知道我如何使用JAVA使用“以不同用户身份运行”功能让selenium运行IE会话?我不知道我什至要如何设置它,而且谷歌没有提出任何东西,所以也许我在某个地方搜索错误的东西?... 查看详情

如何以root用户身份运行googlechrome?[关闭](代码片段)

我在Ubuntu10.10中安装了GoogleChrome。当我尝试在普通用户中使用时,它工作正常。现在,如果我想用作root,则会出现以下错误:GoogleChrome不以root用户身份运行此外,当我在终端中尝试以下命令时,它会打开Goog​​leChrome:google-chro... 查看详情

vm虚拟机以普通用户身份进入centos后如何切换到root用户

参考技术A执行命令:su然后输入root账户的口令本回答被提问者采纳 参考技术Bsuroot然后输入密码 参考技术C执行命令:su然后输入root账户的口令。虚拟机(VirtualMachine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔... 查看详情

如何用root的身份以普通用户权限运行程序

ubuntu的话安装完后没有root密码,要用你安装时设的用户去给root设一个密码.sudopasswdroot回车(输入密码,但不会在屏幕显示出*)(再输入一次密码)成功参考技术A问题在于有许多程序是不应该用root身份运行的。如果你用自己的身份(非r... 查看详情

如何以管理员身份登录和普通员工有不同的侧菜单

】如何以管理员身份登录和普通员工有不同的侧菜单【英文标题】:howtologinasadminandnormalemployeehaddifferentsidemenu【发布时间】:2017-06-2107:26:55【问题描述】:我想问一下如何登录到管理员帐户并登录到普通帐户,并通过使用iFrames... 查看详情

如何设置cmd以管理员身份运行

1、首先,我们右击电脑左下角的微软按钮;2、弹出的界面,我们就看到管理员权限运行CMD了,我们点击它;3、这样就运行了4、需要说明一下,在管理员运行CMD上方的那个是普通的用户运行,我们点击它;5、我们可以看到这个... 查看详情

linux中如何禁止普通用户使用su命令

su ​​命令​​​是一个特殊的​​命令​​,它允许用户以另一个用户和组的身份运行命令。它还允许你切换到root帐户或另一个指定的用户帐户。要切换到另一个用户帐户,用户可以从他们当前的登录会话中运行su命令,... 查看详情

如何以与 Windows 服务不同的用户身份运行进程

】如何以与Windows服务不同的用户身份运行进程【英文标题】:Howtorunprocessasdifferentuserfromwindowsservice【发布时间】:2017-09-2220:30:41【问题描述】:我创建了一个在用户登录之前已经启动的服务。该服务作为“网络服务”用户运行... 查看详情

linux以root用户身份进入centos后如何切换到普通用户?

参考技术A在linux中切换账户可以使用命令su,不论是root账户切换成普通用户,还是反之。\\x0d\\x0a\\x0d\\x0a用法:\\x0d\\x0a\\x0d\\x0a使用root用户切换普通用户时直接su-普通用户名就可以了;\\x0d\\x0a使用普通用户切换至root用户时su-或者s... 查看详情

如何验证最终用户身份验证令牌(使用 Firebase 身份验证)以调用谷歌云运行端点?

】如何验证最终用户身份验证令牌(使用Firebase身份验证)以调用谷歌云运行端点?【英文标题】:Howtoverifyenduserauthenticatedtoken(Firebaseauthused)toinvokegooglecloudrunendpoint?【发布时间】:2021-02-1121:34:53【问题描述】:请帮助最终用户使... 查看详情

以提升用户身份在 wix 中运行 CustomAction

】以提升用户身份在wix中运行CustomAction【英文标题】:RunningCustomActioninwixaselevateduser【发布时间】:2012-07-3108:46:45【问题描述】:在我看来-WiX支持两种CustomAction:延迟-运行此操作的用户(默认情况下)被提升,但不是运行安装... 查看详情

获取以 sys 身份连接的用户的审核信息

...0:11【问题描述】:所有dbas访问通过arcos并在putty会话中以普通oracle用户身份登录,并以sys作为sysdba登录数据库。场景,用户A通过ARCOS以普通oracle用户身份登录putty会话,然后以sysdba身份登录数据库。我的问题是,如果sy 查看详情

如何使用 sqlplus 以 sysdba 身份连接到不同的 oracle 实例?

】如何使用sqlplus以sysdba身份连接到不同的oracle实例?【英文标题】:Howtoconnecttodifferentoracleinstanceassysdbausingsqlplus?【发布时间】:2016-08-0313:08:10【问题描述】:当我运行sqlplus时,它连接到orcl2实例,但我需要连接到orcl,我可以使... 查看详情

为啥我安装的软件只能在管理员身份运行

...运行的程序就能运行了)虽然以管理员身份登录但是只有普通用户的权限要想获得最高权限必须手动进行权限的提升方法是右键“以管理员身份运行”或者按住ctrl+shift+双击要运行的文件获得最高权限如果是普通管理员或用户还... 查看详情