赋予用户dba权限:很多情况下会遇到没有权限需要输入用户名及密码才能导入

--已知被赋予权限的用户名为:batch

--第一步 登陆

sqlplus /nolog

sql>conn /as sysdba;

--第二步 查询所有用户名,可以找到batch用户

sql>select  username from dba_users;

--第三步 赋予权限

sql>grant dba to batch;---------------我是在pl/sql中执行授权的

--另外解除权限是:

sql>revoke dba from batch;

--解释以上:
sqlplus /nolog

--运行sqlplus命令,进入sqlplus环境,nolog参数表示不登录。这种登陆方式比较安全;

sql>conn /as sysdba
--以系统管理员(sysdba)的身份连接数据库;如果需要对数据库进行管理操作,那么需要以这种方式登录数据库,或者connect   sys@service_name as sysdba,其中你配置的客户tnsname服务名
--操作系统身份认证登陆。oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn /as sysdba是属于操作系统认证。 为什么这样说呢?你当前电脑开机时登录的用户,也就是进入操作系统的用户,例如是gooooal,它在你电脑的ora_dba组中。
可以在“我的电脑”单击右键,找到“管理”,选择“本地用户和组”,发现有一个组叫“ora_dba”,双击它,看到成员列表中有“gooooal”。
也就是在conn /as sysdba,oracle会进行操作系统验证,发现你当前登录的用户就属于ora_dba组,因此才可以登录成功。

sql>select username from dba_users;
--查询oracle中所有用户名

sql>grant dba to batch;
--给用户赋予dba权限,dba是一个角色,该角色具有数据库所有的权限

sql>revoke dba from username;

--解除权限

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

oracle数据库中涉及到用户权限的三个表,dba_users,all_users,user_users有什么区别?
答:DBA_*意为DBA拥有的或可以访问的所有的对象。就是是查全库所有的;
ALL_*意为某一用户拥有的或可以访问的所有的对象。就是当前用户可以看到的;
USER_*意为某一用户所拥有的所有的对象。就是当前用户的。

cmd 执行 Imp 用户名/密码@ORCL  file=文件路径.dmp fromuser=BssAdmin9 touser=admin rows=y commit=y feedback=10000 buffer=10240000
 
如果导入时出现如下错误是正常的, 不需要管,这个报错是授权;会正常导入表
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败:
 "GRANT SELECT ON "APP_PAY_BUDGET" TO "SFZC""
IMP-00003: 遇到 ORACLE 错误 1917
ORA-01917: 用户或角色 'SFZC' 不存在
 
以下sql可以自己练习查看:
  1. .查看所有用户:
  2. select * from dba_users;
  3. select * from all_users;
  4. select * from user_users;
  5.  
  6. .查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
  7. select * from dba_sys_privs;
  8. select * from user_sys_privs;
  9.  
  10. .查看角色(只能查看登陆用户拥有的角色)所包含的权限
  11. sql>select * from role_sys_privs;
  12.  
  13. .查看用户对象权限:
  14. select * from dba_tab_privs;
  15. select * from all_tab_privs;
  16. select * from user_tab_privs;
  17.  
  18. .查看所有角色:
  19. select * from dba_roles;
  20.  
  21. .查看用户或角色所拥有的角色:
  22. select * from dba_role_privs;
  23. select * from user_role_privs;
  24.  
  25. .查看哪些用户有sysdbasysoper系统权限(查询时需要相应权限)
  26. select * from V$PWFILE_USERS
  27.  
  28. 比如我要查看用户 wzsb的拥有的权限:
  29. SQL> select * from dba_sys_privs where grantee='WZSB';
  30.  
  31. GRANTEE PRIVILEGE ADMIN_OPTION
  32. ------------------------------ ---------------------------------------- ------------
  33. WZSB CREATE TRIGGER NO
  34. WZSB UNLIMITED TABLESPACE NO
  35.  
  36. 比如我要查看用户 wzsb的拥有的角色:
  37. SQL> select * from dba_role_privs where grantee='WZSB';
  38.  
  39. GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
  40. ------------------------------ ------------------------------ ------------ ------------
  41. WZSB DBA NO YES
  42.  
  43. 查看一个用户所有的权限及角色
  44. select privilege from dba_sys_privs where grantee='WZSB'
  45. union
  46. select privilege from dba_sys_privs where grantee in
  47. (select granted_role from dba_role_privs where grantee='WZSB' );

--红色注释是我用到的,别的都是网上查到的参考资料,仅供参考

Oracle 遇到的问题:dos命令下imp导入数据时出错的更多相关文章

  1. Oracle在dos命令下导出导入

    DOS下运行的命令,也可以加参数在SQL/PLUS环境下运行简单例子实现 单表备份(前提库的结构是一样的)导出:开始钮->运行->输入CMD->进入DOS界面EXP 用户名/密码@连 ...

  2. Oracle导入数据时出错ORA-39143:转储文件可能是原始的转储文件

    dmp文件是使用exp命令导出的,所以使用impdp导入则会报错误. 正确的导入语句为:imp sde/salis@orcl file='E:\sde.dmp' full=y;

  3. 安装Oracle之后在DOS命令下不能使用sqlplus命令启动Oracle?

    就像完成安装JDK后需要给系统配置环境变量JAVA_HOME和PATH,以便让系统认识在JDK里面的Javac命令.同样的,安装Oracle也需要这么一个过程.在正常情况下安装Oracle时系统安装程 ...

  4. Java在DOS命令下的运行及其API文档制作过程

    该文档主要描述java程序在DOS命令下的运行,以及一些常用的命令 常用DOS命令: d: 回车 盘符切换 dir(directory):列出当前目录下的文件以及文件夹 md (make direct ...

  5. DOS命令下输入:java Hello 出现以下几种结果可能的原因:

    DOS命令下输入:java Hello 出现以下结果:Bad command or the file name 没有这个命令或文件名 原因可能是没有成功安装jdk或者没有配置好jdk 的环境变量,或者 ...

  6. Dos命令下目录操作

    Dos命令下目录操作 1.cd 操作 显示当前目录名或改变当前目录 cd [盘符][路径]                      进入指定盘符下的目录 cd [..]               ...

  7. dos命令下安装pip报错 不是内部命令

    在dos命令下: pip install requests 遇到这种情况一般是Python的环境变量没有设置好 解决方案一:设置环境变量 C:\Python\scripts   如图 是否有pytho ...

  8. oracle中imp导入数据中文乱码问题(转)

    (转自  http://blog.chinaunix.net/uid-186064-id-2823338.html) oracle中imp导入数据中文乱码问题 用imp命令向oracle中导入数据后, ...

  9. Oracle错误——SP2-0734: 未知的命令开头 "imp C##sin..." - 忽略了剩余的行。

    错误 在windows的DOS窗口下使用命令导入Oracle数据. 原因 进入sqlplus里是不能执行imp的(sqlplus不认识imp),imp 是个工具,应该在cmd的dos命令提示符下执行.

随机推荐

  1. 2017.9.15 HTML学习总结---表格table

    2.7 表格<table>的属性: 属性  用途 width         表格宽度 height        表格高度 align         表格水平对齐 border     ...

  2. numpy中的inf

    numpy中的inf表示一个无限大的正数 import numpy x = numpy.inf x>9999999999999999999 结果为: True

  3. 安装gcc,g++

    安装gcc.g++ sudo apt-get install make gcc g++ 查看g++版本 g++ --version

  4. cudpp库使用说明

    所有信息是我个人在使用过程中的小小经验,不是什么权威性文档,旨在帮助需要研究此类信息的朋友少走点弯路. 整个项目的主函数,一切从这里开始 在cudpp_testrig右键属性页里找到调试,在命令行里输 ...

  5. Mysql查看锁等信息SQL语句

    查看锁等信息,包括锁信息: select "HOLD:",ph.id h_processid,trh.trx_id h_trx_id,trh.trx_started h_start ...

  6. 安装阿里云版Linux云服务器,配置软件

    1.  购买域名 2.  购买云服务器ecs 3.  远程访问云服务器并装上Java环境和必备软件 3.1安装远程访问工具 3.2 jdk环境配置 3.3 Mysql依赖关系 重新配置MySQL的远程 ...

  7. docker基础——关于安装、常用指令以及镜像制作初体验

    为什么使用docker docker就是一个轻量级的虚拟机,他解决的是服务迁移部署的时候环境配置问题.比如常见的web服务依赖于jdk.Tomcat.数据库等工具,迁移项目就需要在新的机器重新配置这些 ...

  8. struts2属性驱动模型

    属性驱动模型的作用: 因为struts2与servlet API 实现了解耦,无法直接使用HttpServlet Request对象获取表单提交的参数,但Struts2提供了属性驱动模型机制来解决这个 ...

  9. 【shopex】添加网页挂件widgets

    一步步做个widgets 基础篇 首先建立一个目录plugins/widgets/helloword 这个就是新的挂件目录,系统的每个widgets都是一个目录 里面放两个文件: widgets.ph ...

  10. 前端调试vConsole

    在移动端开发的时候,有时候需要真机调试的时候,没法看到console输出的信息,所以就有这个vConsole的开源插件 很方便就可以查看console输出的信息. 官方地址:https://www.n ...