`

oracel创建用户和授权 导入导出

 
阅读更多

Oracle创建用户/密码并授权 移除权限2010-11-15 15:36

Oracle创建用户/密码并授权

 

(1)       创建用户

 

Create user 用户名 identified by 密码;(如果是数字则要加双引号”111111”,如果是字母就不用)

 

(2)       授权给某个用户

 

Grant connect,resource to 用户名;(只有用户有了connect 和 resource后才能操作其他表)

 

(3)       授DBA 权限

 

Grant dba to 用户名;

 

(4)       给用户创建会话的权限:

 

grant create session to DB_USER     

 

(3)       授DBA 权限

 

Grant dba to 用户名;

 

(4) 撤权:   

       revoke   权限...   from 用户名;

 

(5)删除用户:

drop user username cascade (cascade 保证彻底删除)

 

 

//备份恢复

 

导入命令: imp user/password@serviceName file=C:\aaa.dmp log=C:\aaa.log full=y ignore=y 

 

导出命令: emp user/password@serviceName file=C:\aaa.dmp

 

 

首先用管理员的帐户登录(要有修改用户的权限)system

 

alter user sys identified by 123; (sys是用户名,123是密码)

 

如果用sys登录:

 

connect sys/oralce as sysdba;

 

用system登录:

 

connect system/oracle;

 

 

 

 

oracle用户权限

 

2008-03-18 10:04

 

 

Oracle系统中用户权限的赋予,查看和管理. 

 

在Oracle数据库中,用户的权限分为两种(在这里我们不讨论dba或oper的权限,只考虑普通用户的权限),分别是System Privilege系统权限 和User Table Privilege用户数据表权限.

 

1.首先,创建用户,以下几条命令可以创建一个用户,前提是必须以DBA的身份登录(如果你不是DBA,不要看下去了):

 

create user DB_USER identified by DB_USER_PW    '创建用户DB_USER,密码为DB_USER_PW

 

grant create session to DB_USER     '给用户创建会话的权限

 

grant resource to DB_USER

 

2.当用户建立后,会自动在Oracle数据库系统中生成属于该用户的Scheme (可以理解为所有属于该用户的表,视图....等对象的集合).

 

该用户可以将对这些对象的访问权限赋予其它的系统用户.

 

3.该用户用sqlplus登录后,以下命令可以看到该用户的权限(该部分取自于CNOUG网站):

 

本用户读取其他用户对象的权限: 

 

  select * from user_tab_privs; 

 

本用户所拥有的系统权限:

 

  select * from user_sys_privs;

 

ORACLE数据库用户与权限管理

 

ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。

 

2. 1 ORACLE数据库安全策略

 

建立系统级的安全保证

 

系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。

 

建立对象级的安全保证

 

对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。

 

建立用户级的安全保证

 

用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。

 

2.2 用户管理

 

ORACLE用户管理的内容主要包括用户的建立、修改和删除

 

用户的建立

 

SQL>CREATE USER jxzy

 

>IDENTIFIED BY jxzy_password

 

>DEFAULT TABLESPACE system

 

>QUATA 5M ON system; //供用户使用的最大空间限额

 

用户的修改

 

SQL>CREATE USER jxzy

 

>IDENTIFIED BY jxzy_pw

 

>QUATA 10M ON system;

 

删除用户及其所建对象

 

SQL>DROP USER jxzy CASCADE; //同时删除其建立的实体

 

2.3系统特权管理与控制

 

ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。

 

授予系统特权

 

SQL>GRANT CREATE USER,ALTER USER,DROP USER

 

>TO jxzy_new

 

>WITH ADMIN OPTION;

 

回收系统特权

 

SQL>REVOKE CREATE USER,ALTER USER,DROP USER

 

>FROM jxzy_new

 

//但没有级联回收功能

 

显示已被授予的系统特权(某用户的系统级特权)

 

SQL>SELECT*FROM sys.dba_sys_privs

 

2.4 对象特权管理与控制

 

ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。

 

授予对象特权

 

SQL>GRANT SELECT,INSERT(office_num,office_name),

 

>UPDATE(desc)ON office_organization

 

>TO new_adminidtrator

 

>WITH GRANT OPTION;

 

//级联授权

 

SQL>GRANT ALL ON office_organization

 

>TO new_administrator

 

回收对象特权

 

SQL>REVOKE UPDATE ON office_orgaization

 

>FROM new_administrator

 

//有级联回收功能

 

SQL>REVOKE ALL ON office_organization

 

>FROM new_administrator

 

显示已被授予的全部对象特权

 

SQL>SELECT*FROM sys.dba_tab_privs

 

2.5 角色的管理

 

ORACLE的角色是命名的相关特权组(包括系统特权与对象特权),ORACLE用它来简化特权管理,可把它授予用户或其它角色。

 

ORACLE数据库系统预先定义了CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、 IMP_FULL_DATABASE五个角色。CONNECT具有创建表、视图、序列等特权;RESOURCE具有创建过程、触发器、表、序列等特权、DBA具有全部系统特权;EXP_FULL_DATABASE、 IMP_FULL_DATABASE具有卸出与装入数据库的特权。

 

通过查询sys.dba_sys_privs可以了解每种角色拥有的权利。

 

授予用户角色

 

SQL>GRANT DBA TO new_administractor

 

>WITH GRANT OPTION;

 

==============================================================

 

Oracle 的用户根据所被授予的权限分为系统权限和对象权限。其中最高的权限是sysdba。 Sysdba具有控制Oracle一切行为的特权,诸如创建、启动、关闭、恢复数据库,使数据库归档/非归档,备份表空间等关键性的动作只能通过具有sysdba权限的用户来执行。这些任务即使是普通DBA角色也不行。Sysoper是一个与sysdba相似的权限,只不过比sysdba少了SYSOPER privileges WITH ADMIN OPTION,CREATE DATABASE,RECOVER DATABASE UNTIL这几个权限而已。这两者的认证方式是相同的办法,所以下面只介绍sysdba的认证管理。 

 

  一般对sysdba的管理有两种方式: *** 作系统认证和密码文件认证。具体选择那一种认证方式取决于:你是想在Oracle运行的机器上维护数据库,还是在一台机器上管理分布于不同机器上的所有的Oracle数据库。若选择在本机维护数据库,则选择 *** 作系统认证可能是一个简单易行的办法;若有好多数据库,想进行集中管理,则可以选择password文件认证方式。 

 

  下图比较直观的说明了这个选择权衡过程: 

 

 

 

  使用 *** 作系统认证方式的配置过程: 

 

  1. 在 *** 作系统中建立一个合法帐户。 

 

  具体来说,在NT上,首先建立一个本地用户组,取名为ORA__DBA,其中SID为该数据库实例的SID,或者建立一个ORA_DBA地组,该组不对应于任何一个单独的Oracle实例。这样当一个NT上有好几个Oracle实例时,不用分别管理。然后再NT上建立一个用户,并且把它归入该组中。但是实际上这两步在Oracle8I安装过程中已经自动完成了,一般不用手动进行。 

 

  第三步:在sqlnet.ora(位于$ORACLE_HOME/NETWORK/ADMIN目录中)中,把SQLNET.AUTHENTICATION _ SERVICES 设置为SQLNET.AUTHENTICATION_SERVICES= (NTS),意思为使用NT认证方式。 

 

  第四步,在INIT.ORA中,把REMOTE_LOGIN_PASSWORD设置为NONE,意思是不用password认证方式。 

 

  完成以上步骤后,就可以在登录到NT后,直接在SQL*Plus 和SERVER MANAGER中CONNECT INTERNAL (CONNECT / AS SYSDBA)来作为超级用户登录到Oracle中,执行一些只有超级用户才能进行的 *** 作。 

 

  在Unix下,情况有些不同。毕竟这是两个完全不同的 *** 作系统。 

 

  首先,在安装Oracle之前,建立一个DBA组,这一步不用说了,不然是装不上Oracle的。一般还建立一个名为Oracle的用户,并把它加入到DBA组中。 

 

  第二步, 设置REMOTE_LOGIN_PASSWORD为NONE。在Oracle8.1以后,该参数默认为EXCLUSIVE。一定要记得改过来。 

 

  第三步, 用该用户名登录Unix,运行SQL*Plus 或者SERVER MANAGER,输入以下命令:CONNECT INTERNAL (CONNECT / AS SYSDBA)来登录到Oracle中。 

 

  使用password文件认证的具体步骤: 

 

  Oracle提供orapwd实用程序来创建password 文件,运用orapwd建立该认证方式的具体步骤如下: 

 

  1. 使用Orapwd实用程序来创建一个PASSWORD文件。语法: 

 

   orapwd file=文件名 password=internal用户密码 entried=entries. 

 

  详细解释: 

 

   文件名要包含完整的全路径名,如果不指定,Oracle把它默认放置$ORACLE_HOME/dbs(Unix下)或者$ORACLE_HOME/DATABASE(NT下)下。 

 

  用户密码是用户internal的密码。当然后来还可以再向里边加入别的超级用户。 

 

  Entries表示最大允许有的超级用户数目。这个是一个可选的。前两者是必须指定的。一般会把它设置的比实际需要大一些,以免不够。 

 

  2. 把INIT.ORA中REMOTE_LOGIN_PASSWORD设置为EXCLUSIVE 或SHARED.使用EXCLUSIVE表示只有当前INSTANCE使用这个password文件。而且允许有别的用户作为sysdba登录进系统里边,而若选择了SHARED,则表明不止一个实例使用这个密码文件,伴随着一个很强的约束:sysdba权限只能授予sys和internal这两个用户名。(其实internal不是一个实际用户,而只是sys作为sysdba登录时的一个别名。) 

 

  同时还要记得把sqlnet.ora文件中SQLNET.AUTHENTICATION _SERVICES设置为NONE。一般在Unix下它是默认设置。在NT下,若选择典型安装时,会使用OS认证,而自定义时会使用密码文件认证方式。在安装过程中会提示输入INTERNAL密码。这样的话,就不用在手工创建密码文件和设定INTERNAL的密码了。 

 

  3. 用SQL*Plus 或SERVER MANAGER运行下面命令登录进系统:CONNECT INTERNAL/密码。 

 

  注意点: 

 

  1.在Oracle8.1.6安装在WIN2000下创建数据库时,常常会发生凭证检索失败的错误。这是由于Oracle不能应用OS认证的结果。一般可以通过修改sqlnet.ora中SQLNET.AUTHENTICATION _SERVICES为NONE来解决。这时,Oracle将采用密码文件认证方式。 

 

  2.由于Oracle有几个系统预建的用户,所以最好在安装完成以后马上改变这些用户的密码。系统默认得密码分别为:internal/oracle , sys/change_on_install, system/manager. 

 

  3.当选择密码文件认证方式时,可以再向系统中加入其他超级用户。比如用以下语句把用户SCOTT加入超级用户之中:(由具有sysdba权限的人执行) 

 

  SQL>GRANT SYSDBA TO SCOTT;这样SCOTT用户就具有了sysdba权限。注意,此时SCOTT用户可以以两种身份登录:SCOTT , SYS.当SCOTT在登录时没有输入AS SYSDBA时,SCOTT是作为普通用户登录的。而当登录时输入了AS SYSDBA时,此时SCOTT登录进去的用户实际上为sys。 

 

  4. 当前系统中的具有sysdba权限的用户名可以从数据字典视图v$pwfile_user中查询得到: 

 

SELECT * FROM V$PWFILE_USERS; 如上图所示。 

 

  5. 系统中最大的具有sysdba权限的用户数由创建密码文件时的ENTRIES参数决定。当需要创建更多的具有sysdba权限的用户时,就需要删除原有的密码文件,重新创建一个。这需要关闭数据库,删除密码文件,重新创建一个新的密码文件,在entries中输入足够大的数目。再启动Oracle。这时,所有原来北授权的超级用户都不再存在,需要重新授权。所以在重新创建密码文件前,先要查询该视图,记下用户名,再在创建完密码文件后重新授权。 

 

  6. Internal用户密码忘记的处理方法: 

 

  有两种办法: 

 

  1. ALTER USER SYS IDENTIFIED BY 新密码;//这同时也改变了Internal的密码,在Oracle8I中通过 

 

  2. 重新创建一个新的密码文件,指定一个新的密码。

 

 

oracle怎么导入dmp文件:

 

在运行中输入cmd  弹出命令行窗口 ,找到你的oracle 的安装目录  找到bin目录 之后 在bin目录下 输入:imp userid=用户名/密码@orcl file=d:\nc60.dmp full=y

用户名 :就是你的目标用户 。

密码 :就是你的目标用户登录密码。

orcl:是实例名称 就是数据库名 

file:就是你要导入的dmp文件全路径。

full=y 是否全部导入 只有当前用户是dba的时候 才能用此选项 。

 

导入命令: imp user/password@serviceName file=C:\aaa.dmp log=C:\aaa.log full=y ignore=y 

 

导出命令: emp user/password@serviceName file=C:\aaa.dmp

 

 

 

 

 

分享到:
评论

相关推荐

    oracle创建用户、表空间、导入导出命令

    ### Oracle 创建用户、表空间及导入导出命令详解 #### 一、创建表空间 在 Oracle 数据库中,表空间是存储数据的基本单位。表空间由一个或多个数据文件组成,用于存储表、索引等数据库对象。创建表空间通常包括创建...

    ORACLE数据库导入导出

    在进行Oracle数据库的导入导出之前,通常需要创建一个新的数据库用户并为其分配适当的权限。下面是一些基本步骤: 1. **登录PL/SQL Developer**: - 使用`sys`账户登录到PL/SQL Developer工具中。 - 在左侧面板...

    oracle创建表空间,授权,导入导出

    以上步骤提供了创建表空间、用户授权以及数据导入导出的基本方法和流程,对于日常管理和维护 Oracle 数据库具有重要意义。根据实际需求选择合适的方法进行操作,确保数据安全性和系统的稳定性。

    oracle笔记 (导出、导入、创建用户、授权、insert,rownum)

    Oracle提供了数据泵(Data Pump)工具用于数据的导出和导入,它极大地提高了数据传输的效率。导出(EXPDP)是将数据库对象如表、索引、视图等的数据和元数据导出到一个二进制文件的过程。导入(IMPDP)则相反,将...

    oracle 导入 导出 示例 (创建表空间、用户、授权)

    oracle 导入 导出 示例 (创建表空间、用户、授权)可以参加csdn博客:

    Oracle11g_数据库导入导出.pdf

    ### Oracle 11g 数据库导入导出详细指南 #### 概述 Oracle 11g 是一款功能强大的关系型数据库管理系统,它提供了多种数据管理工具和服务,支持高可用性、安全性和性能优化等特性。在Oracle 11g 中,数据库的导入...

    Oracle创建用户,并授权DBA权限

    本文将详细解析如何在 Oracle 中创建用户、分级授权以及对 DBA 权限的具体操作方法,并介绍如何为用户授予导入导出权限。 #### 一、创建表空间 (Tablespace) 在创建用户之前,首先需要创建一个表空间供该用户使用...

    oracle导入导出命令byxiao

    用imp和exp命令导入导出oracle数据库。从创建表空间,到创建用户,授权,导入等等命令都写了例子。 只要照着命令来一般都能够实现导入导出的功能。

    常用导入导出oracle语句

    以下是从标题“常用导入导出oracle语句”和部分示例代码中提取的关键知识点,这些知识将帮助数据库管理员更有效地管理和操作Oracle数据库。 ### 1. 表空间的创建与删除 表空间是Oracle数据库中的逻辑存储单元,...

    oracle数据库创建表空间和用户

    oracle数据库导入、导出数据、创建表空间、创建用户、用户授权等操作

    Arcgis10.3创建SDE数据库、导入、导出手册

    从创建数据库连接、建立空间表,到发布地图服务、注册数据库,再到数据的导入导出,每个步骤都是为了高效、安全地管理和分发地理空间信息。了解并熟练掌握这些操作,对于GIS专业人员来说至关重要。

    oracle导入导出表

    在Oracle中,管理和操作数据通常涉及到创建和操作表空间、用户以及数据的导入导出。以下是关于"Oracle导入导出表"这一主题的详细知识: 1. **创建表空间**: 表空间是Oracle数据库中存储数据的逻辑单位,它由一个...

    ORACLE数据库导入导出详细流程

    ### ORACLE数据库导入导出详细流程 #### 一、备份数据库 在Oracle数据库管理中,备份是非常重要的一个环节,它可以确保在数据丢失或损坏的情况下能够迅速恢复数据。Oracle提供了多种备份方式,包括传统的`EXP`命令...

    ORACLE数据定时导入导出工具

    下面我们将详细探讨这些工具在数据导入导出和定时备份中的应用。 1. **Data Pump**: Oracle Data Pump 是 Oracle 10g 引入的一个高级数据迁移工具,它提供了高速的数据导入和导出功能。Data Pump 包括 `expdp`...

    oracle 的数据库导入导出

    Oracle数据库的导入导出是数据库管理和维护中的常见操作,用于数据迁移、备份和恢复等场景。本文将详细介绍Oracle数据库的常规导入导出方法以及数据泵的使用,包括各种参数的解释和实际操作示例。 一、普通导入导出...

    Oracle中的建表空间,建用户,授权,命令行导入导出等基本命令

    以下是关于Oracle中创建表空间、创建用户、授权以及命令行导入导出的基本操作的详细说明: 一、创建表空间 1. **创建表空间的语法**: ```sql CREATE TABLESPACE 表空间名 DATAFILE '文件路径' SIZE 存储大小 ...

    通过bat实现oracle11g用户创建、授权、dmp文件导入,以及directory路径修改,文件复制、文件夹创建等功能

    综上所述,通过编写和运行BAT脚本,可以高效地完成Oracle 11g数据库用户的创建、授权、DMP文件的导入,以及Directory路径的修改、文件复制和文件夹创建等操作。这种方法不仅节省时间,还减少了人为错误的可能性,是...

    oracle数据导入导出

    Oracle数据库的导入导出是数据库管理中的重要操作,主要用于数据迁移、备份恢复和系统复制等场景。本篇文章将深入探讨Oracle中的"exp"和"imp"命令,它们是Oracle传统数据泵工具的一部分,用于实现数据的导出和导入。...

    oracle 数据的导入导出

    在开始讨论 Oracle 数据的导入导出之前,我们需要了解一些基本的 Oracle 数据库管理操作,包括创建与删除表空间、用户管理等。 ##### 创建与删除表空间 1. **创建临时表空间**: ```sql CREATE TEMPORARY ...

Global site tag (gtag.js) - Google Analytics