在pl/sql developer里怎么给用户分配sysdba权限

goodsit 2009-06-28 10:13:16
我在系统权限那个tab里,选择了sysdba权限,点击close之后再进来,发现没赋上这个权限,在cmd里运行sqlplus命令来登录数据库提示我没有登录权限。我登录pl/sql时用的是sys用户。
...全文
798 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
inthirties 2009-07-03
  • 打赏
  • 举报
回复
sysdba是登录的一种身份,

如果你不是异地以sysdba登录的话,这个是权限是没有任何体现的。

dba不同,是Oracle的一个role,是集成了很多的系统权限的一个集合体。
goodsit 2009-07-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 inthirties 的回复:]
引用 5 楼 wangsong145 的回复:
GRANT DBA TO USER_NAME可以嘛?


DBA不等于SYSDBA

看看这个
http://www.inthirties.com/?p=428
[/Quote]
我知道不一样,但是设置成sysdba为何不好用?我开始就想设置成它的。不过dba也好用,如果没人能解答,就只好结帖了。
goodsit 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wangsong145 的回复:]
GRANT DBA TO USER_NAME可以嘛?
[/Quote]
不可以,试过,以sys登录后运行此命令在sqlplus中,虽执行成功,但用那个用户登录后还是提示错误。lacks CREATE SESSION privilege; logon denied
mingyue19850801 2009-07-01
  • 打赏
  • 举报
回复
用管理员身份登陆:
grant dba to username就可以了吧
inthirties 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wangsong145 的回复:]
GRANT DBA TO USER_NAME可以嘛?
[/Quote]

DBA不等于SYSDBA

看看这个
http://www.inthirties.com/?p=428
inthirties 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 goodsit 的回复:]
引用 5 楼 wangsong145 的回复:

GRANT DBA TO USER_NAME可以嘛?

不可以,试过,以sys登录后运行此命令在sqlplus中,虽执行成功,但用那个用户登录后还是提示错误。lacks CREATE SESSION privilege; logon denied
[/Quote]

是这样的么。

DBA的角色已经有create session的系统权限哟。

SQL> select * from role_sys_privs where ROLE='DBA';
ROLE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA CREATE SESSION YES
DBA ALTER SESSION YES
DBA DROP TABLESPACE YES
DBA BECOME USER YES
DBA DROP ROLLBACK SEGMENT YES
已选择160行


你是不是弄错了呀。如果有错,也不是报这样的错哟。

仔细再检查一下。
wangsong145 2009-06-30
  • 打赏
  • 举报
回复
GRANT DBA TO USER_NAME可以嘛?
inthirties 2009-06-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 goodsit 的帖子:]
我在系统权限那个tab里,选择了sysdba权限,点击close之后再进来,发现没赋上这个权限,在cmd里运行sqlplus命令来登录数据库提示我没有登录权限。我登录pl/sql时用的是sys用户。
[/Quote]

好像直接close不行吧,要点击OK或者是apply才能生效吧。需要先生成ora的密码文件。
goodsit 2009-06-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tianlesoftware 的回复:]
user -》 用户 上右击-》Role previlege 选项-》Role 列选DBA , 关闭时提示保存, yes就可以了.....
[/Quote]
可以了,不过为什么sysdba还是无法设定呢?
Dave 2009-06-29
  • 打赏
  • 举报
回复
csdn的论坛要是能提供截图就好了.......
Dave 2009-06-29
  • 打赏
  • 举报
回复
user -》 用户 上右击-》Role previlege 选项-》Role 列选DBA , 关闭时提示保存, yes就可以了.....
Oracle SQL Developer, v1.5.0.54.40 Release Notes 完整版下载:http://www.oracle.com/technology/global/cn/software/products/sql/index.html 1. Known Issues 1.1 General - Print prints only one page that is a truncation of the current tab. - Can't invoke SQL*Plus on Windows 2003. - The menu item, and right-click off a Connection node, for invoking SQL*Plus does not work with connections whose passwords are not persisted. 1.2 Connections - Cannot connect to remote database as OPS$ account. 1.3 Browse - If connected as sys with sysdba role, Types node displays built in data-types (e.g. BLOB, DATE, DECIMAL, etc.) If clicked on, will only see "create or replace". 1.4 Creating and Modifying Objects - Editing Triggers - If you have comments before the 'BEGIN' they will be lost if you edit. You will see when you click edit that they will not be there. To preserve them, they need to be below the BEGIN or you will need to edit via the SQL Worksheet. 1.5 Table > Data - Tables > Your_Table > Data - PageUp and PageDown buttons not working correctly if cursor is in the rownum column. 1.6 Export - Cannot export if result set contains duplicate column names. 2. Workarounds 2.1 To disable Code Insight Run SQL Developer from a command line using the following statement: Windows : sqldeveloper -J-Dsdev.insight=false Linux or Mac: Run sh sqldeveloper -J-Dsdev.insight=false or edit sqldeveloper.conf and add "AddVMOption -J-Dsdev.insight=false" 2.2 If DDL tab is null for all objects in a Connection Your dbms_metadata might be loaded incorrectly. If this statement fails when executed in a SQL Worksheet against the Connection select dbms_metadata.get_ddl('TABLE',table_name , user ) from user_tables; You need to reload $ORACLE_HOME/rdbms/admin/catmeta.sql 2.3 If Snippets are not accessible You may have not done a clean install. SQL Developer needs to be installed into a clean directory, not over a previous release. 3. Accessibility Issues The following is a li
韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle Oracle目前最流行的数据库之一,功能强大,性能卓越。学习oracle需要具备一定基础: 1.学习过一门编程语言(如:java ,c) 2.最好学习过一门别的数据库(sql server,mysql , access) 教程推荐:oracle使用教程, 深入浅出oracle 记住:欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要 成为一个oracle高手过程:理解小知识点->做小练习->把小的只是点连成线->做oracle项目->形成只是面->深刻理解 Oracle基础部分:oracle基础使用; oracle用户管理; oracle表管理 Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程; 索引,约束和事物。 期望目标: 1 学会安装、启动、卸载oracle 2 使用sql *plus工具 3 掌握oracle用户管理 4 学会在oracle中编写简单的select语句 第1讲:基础语法 内容介绍: 1.为什么学习oracle 2.介绍oracle及其公司的背景 3.学会安装、启动、卸载oracle 4.oracle开发工具 5.Sql*plus的常用命令 6.oracle用户管理 一、主流数据库包括: ?微软:sql server 和 access ?瑞典:mysql AB公司 ?IBM公司:DB2 ?美国sybase公司:sybase ?IBM公司:infromix ?美国oracle公司:oracle(目前最流行的之一) 数据库分类: 小型数据库 中型数据库 大型数据库 mysql Sybase access sql server Oracle informix DB2 负载量在100人内,比如比如在负载日访问量负载可以处理海量数据板,信息系信息留言统。 5000-15000 库 sybasesys和system两个用户 2 说明: 1Sys用户 是 超级用户,具有最高权限,具有sysdba角色,create database? 的权限,默认密码是manager 2System 用户 是 管理操作员,权限也很大,具有sysoper角色,没有create ? database权限,默认密码是 change_on_install 3一般讲,对数据库维护,使用system用户登录就可以了 ? 3.启动oracle 右键单击我的电脑->服务和应用程序:服务->启动OracleServiceMYORA1(MYORA1 是安装oracle时起的名字各有不同)和OracleOracleHome90TNSLlistener 4.卸载oracle 1、先关掉oralce,net stop OracleServiceORCL(ORCL是我的实例名字,换成你的),或者去我的电脑服务中关闭 2、开始,,程序,,Oracle - oracle的版本号,我的是10ghome,,Oracle Installation Products,, Universal Installer 卸载oracle 3、进注册表,regedit,删除选择 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下所有的key。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\App lication这个面所有有oracle这个字眼的,删除 4、删除c盘\Program Files\Oracle目录的东西以及oracle安装目录下所有的文件以及文件夹 5、环境变量中删除有关oracle的classpath和path ,, 三、oracle开发工具, Sqlplus是Oracle自带的工具软件,主要用于执行sql语句,pl/sql块。,如何使用:,, 1)在开始,程序,oracle,orachome90,, ,,application,development,sql*plus(这个是在dos下操作), 2)在运行栏中输入:sqlplusw或者sqlplus即可, 3)在开始,程序,oracle,orahome90,, Application,development,sql*plus,worksheet,,4)pl/sql,developer,属于第三方软件,主要用于开发,测试,优化oracle,pl/sql,的 存储过程.如:触发器,此软件oracle不带,需要单独安装。,5)oracle的企业管理器(oem,oracle,enterprise,manager),位置在,,开始,程序,oracle,oracle,oraclehome90,enterprise,manager,console, ,,即可启动oracle的企业管理器,是一个图形界面环境, , , , 四、Sql*plus的常用命令, 3 1.连接命令 (1) conn[ect] 用法:conn 用户名/密码 @ 网络服务名[as sysdba/sysoper](角色登陆)当 用特权用户身份连接时,必须带上as sysdba 或是 as sysoper 例:conn scott/tiger; show user; 显示当前用户 2.断开连接命令 (2) disc[onnect] 说明:该命令用来断开与当前数据库的连接 (3)passw[ord] 说明:该命令用于修改用户名的密码。如果要想修改其他用户的密码,需要用sys/system登陆。 (4) show user 说明:显示当前用户名 (5) exit 说明:该命令会断开与数据库的连接,同时会退出sql*plus 3.文件操作命令 (1) start和@ 说明:运行sql脚本 案例:sql>@ d:\a.sql 或者 sql>start d:a.sql (2) edit 说明:该命令可以编辑指定的sql脚本。 案例:sql>edit d:\a.sql (3) spool 说明:该命令可以将sql*plus屏幕上的内容输出到指定文件中去。 案例:sql>spool d:\b.sql 并输入 sql>spool off 4(交互式命令 (1), 说明:可以替代变量,而该变量在执行时,需要用户输入。如:sql>select * from emp where job=‘&job;’ 输入job是注意大小写 (2) edit 说明:该命令可以编辑指定的sql脚本 案例: sql>edit d:\a.sql 5.显示和设置环境变量 概述:可以用来控制输出的各种格式,set show 如果希望永久的保存相关的设置,可以去修改 glogin.sql脚本 (1)linesize 说明:设置显示行的宽度,默认是80个字符 sql>show linesize sql>set linesize 90 (2)pagesize 说明:设置每页显示的行数目,默认是14,用法和linesize一样,至于其他环境参数的使用也是大同小异 sql>set pagesize 8 实际得到的不是14/8=2页 而是:14/(8-3)=5页 五Oracle用户的管理 4 1.创建用户 概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。 create user 用户名 identified by 密码; 2.给用户修改密码 概述:如果给自己修改密码可以直接使用 sql>password 用户名 如果给别人修改密码则需要具有dba权限,或是拥有alter user的系统权限 sql>alter user 用户名 identified by 新密码 3.删除用户 概述:一般以dba的身份去删除某个用户,如果用其他用户去删除用户则需要具有 drop user的权限。 比如 drop user 用户名【cascade】 注意:在删除用户时,如果要删除的用户已经创建了表,就需要在删除的时候带一个参数cascade 4.用户管理的综合案例 概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户权限(connect登陆,dba管理员,resource建表)使用命令grant,回收权限使用命令revoke. 为了给讲清楚用户管理,给大家举一个案例。 案例: 新建一个用户lady 并给该用户赋可登陆可创建表 Sql>create user lady identified by lady123(密码) 受登陆权限:,grant connect to lady 受可创建表:grant resource to lady 可以多个同时授权:grant connect,resource to lady; 注意授权用户级别应该为(dba以上sys/system) 还可以使用PL/SQL工具创建:文件->新建->用户 现在我要把scott用户面的emp表的权限赋给lady用户但lady只能有对emp查询权限: grant select on emp to lady;(授权用户级别应该:授权本身,或者sys/system) lady 查询emp的方式:select * from scott.emp; 案例:同上我想把update的权限也赋给leng , grant update on emp to leng; 2)我想把emp所有的(增,删,改,查/insert,delete,update,select这四个一起可以用all代替) 操作权限赋给leng grant all on emp to leng;(此时登陆用户为scott) 案例2:这时我想把权限收回来怎么办呢, 这时用关键字revoke(撤回), revoke select on emp from lady; 收回lady的查权限 案例: 5 现在scott希望吧查询emp表权限通过lady用户继续给别的用户, Scott > grant select on emp to lady with grant option; Leng > grant select on scott.emp to 新建用户 案例: scott想把emp表的权限从leng用户赋权给新用户yoyo; Scott> grant select on emp to leng with grant option; Leng> grant select on scott.emp to yoyo; Yoyo> select * from scott.emp; 如果是对象权限,就加入with grant option 例:grant select on emp to xiaoming with grant option 如果是系统管理权限system 给xiaoming权限时: 例:grant connect to xiaoming with admin option 如果scott把xiaoming 对emp表的查询权限回收,那么xiaohong会怎么样 Scott->xiaoming->xiaohong ,结果就是xiaoming,xiaohong,都不能查询emp表

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧