oracle用户创建及权限设置
oracle创建用户、创建表空间、授权、建表的完整过程
oracle创建⽤户、创建表空间、授权、建表的完整过程1.⾸先以sysdba的⾝份登录oracle conn /as sysdba 查询⽤户: select username from dba_users; 查询表空间 select username, default_tablespace from dba_users where username='⽤户名‘; 查询数据⽂件 select file_name, tablespace_name from dba_data_files;2.然后就可以来创建⽤户. create user ⽤户名 identified by 密码;3.修改⽤户的密码 alter user ⽤户名 identified by 新密码;4.创建⼀个表空间 create tablespace 表空间名 datafile '空间物理存储路径(f:\ts_zzg\zzg_data.dbf后缀随意)' size ⼤⼩(200M);5.将表空间分配给⽤户 alter user ⽤户名 default tablespace 表空间名;6.为⽤户分配权限 grant create session,create table,create view,create sequence,unlimited tablespace to ⽤户名; grant all privileges to ⽤户名;(全部权限)7.查看所有⽤户所在的表空间 select username,default_tablespace from dba_users;8.查询⽤户所具有的权限 select *from session_privs;9.删除⽤户及其相关对象 drop user ⽤户名;。
oracle数据库管理人员权限设置及分配表
一、概述Oracle数据库是当前企业中常用的数据库管理系统之一,而数据库管理人员在企业中扮演着至关重要的角色,他们负责数据库的管理与维护,包括权限设置与分配。
本文将探讨Oracle数据库管理人员权限设置及分配表的相关内容。
二、数据库管理员的权限1. 数据库管理员(DBA)是Oracle数据库中最高权限的用户,具有对数据库进行全面控制的特权。
他们可以创建、修改、删除数据库对象,分配SQL权限,管理数据库用户和角色等。
2. DBA用户的权限通常由系统管理员在安装数据库时创建,或是通过GRANT命令授予。
3. DBA用户可以通过GRANT和REVOKE命令控制其他用户的权限,以及管理数据库对象的安全性。
三、数据库操作员的权限1. 数据库操作员(DBO)是在数据库中具有一定权限的用户,通常负责对数据库进行日常操作。
2. DBO用户可以执行SELECT、INSERT、UPDATE、DELETE等操作,并且可以创建临时表和视图。
3. DBO用户的权限通常由DBA用户通过GRANT命令分配,可以根据需要灵活控制其权限范围。
四、权限设置的最佳实践1. 了解业务需求:在设置数据库用户的权限之前,需要充分了解企业的业务需求,确保每个用户都能够在权限范围内完成工作。
2. 分配最小权限原则:根据最小权限原则,应该仅分配用户所需的最低权限,以降低数据泄露和操作错误的风险。
3. 定期审计权限:定期对数据库用户的权限进行审计,及时发现和修复不合理的权限设置,保障数据库的安全性。
五、权限分配表的编制数据库管理人员需要编制一份权限分配表,清晰地记录每个用户的权限范围,确保权限设置的合理性与一致性。
权限分配表通常包括以下内容:1. 用户名称:列出数据库中所有的用户名称。
2. 权限说明:对用户的权限进行详细说明,包括SELECT、INSERT、UPDATE、DELETE等操作的权限范围。
3. 是否受限:记录是否对用户的权限进行了限制,比如是否禁止用户执行DROP TABLE等危险操作。
oracle 创建用户
Oracle 创建用户概述在Oracle数据库中,用户是用来管理和控制数据库对象访问权限的实体。
创建用户是在数据库中分配一个独立的身份,每个用户都有自己的用户名和密码,并且可以被授权执行特定的操作和访问数据库中的对象。
本文将介绍如何使用Oracle SQL语句创建用户,并且授予用户相应的权限。
步骤下面的步骤将指导您如何创建一个新的Oracle用户。
步骤一:连接到数据库首先,您需要使用合适的数据库客户端连接到Oracle数据库。
您可以使用SQL*Plus、SQL Developer或者其他支持Oracle数据库的工具。
步骤二:创建用户使用以下SQL语句创建一个新的Oracle用户:CREATE USER username IDENTIFIED BY password;在上述语句中,将username替换为您想要创建的用户名,password替换为您想要设置的密码。
例如,如果您想创建一个名为myuser的用户,密码为mypassword,则SQL语句应为:CREATE USER myuser IDENTIFIED BY mypassword;步骤三:授予权限新创建的用户默认情况下没有任何权限。
您需要手动授予用户相应的权限。
以下是常见的权限授予操作:•给予用户连接数据库的权限:GRANT CONNECT TO username;•给予用户创建表的权限:GRANT CREATE TABLE TO username;•给予用户插入、更新、删除表数据的权限:GRANT INSERT, UPDATE, DELETE ON tablename TO username;在上述语句中,username是您创建的用户的用户名,tablename是您想要授予权限的表名。
步骤四:验证用户创建使用以下SQL语句查询新创建的用户信息:SELECT*FROM all_users WHERE username ='yourusername';将yourusername替换为您创建的用户名。
oracle赋权方法
oracle赋权方法Oracle是一种关系型数据库管理系统,它提供了一种灵活且安全的赋权机制,可以控制用户对数据库对象的访问权限。
本文将介绍Oracle中常用的赋权方法。
1. 创建用户和角色:在Oracle中,可以使用CREATE USER语句创建用户,并使用CREATE ROLE语句创建角色。
用户可以拥有角色,而角色可以拥有权限。
创建用户和角色的语法如下:```CREATE USER username IDENTIFIED BY password; CREATE ROLE role;```2. 授权角色权限:可以使用GRANT语句将权限授予角色。
例如,将SELECT权限授予角色read_role:```GRANT SELECT ON table_name TO read_role;```3. 授权用户角色:可以使用GRANT语句将角色授予用户。
例如,将read_role角色授予用户username:```GRANT read_role TO username;```4. 授予用户直接权限:可以使用GRANT语句将权限直接授予用户。
例如,将SELECT权限直接授予用户username:```GRANT SELECT ON table_name TO username;```5. 撤销角色权限:可以使用REVOKE语句撤销角色的权限。
例如,撤销read_role角色的SELECT权限:```REVOKE SELECT ON table_name FROM read_role;```6. 撤销用户角色:可以使用REVOKE语句撤销用户的角色。
例如,撤销用户username的read_role角色:```REVOKE read_role FROM username;```7. 撤销用户直接权限:可以使用REVOKE语句撤销用户的直接权限。
例如,撤销用户username的SELECT权限:```REVOKE SELECT ON table_name FROM username;```8. 查看用户权限:可以使用SELECT语句查询用户拥有的权限。
oracle用户管理,授权与回收权限
oracle⽤户管理,授权与回收权限⼀. ⽤户管理参数,0.删除⽤户: drop user ⽤户名 [cascade] 当我们删除⽤户时, 如改⽤户已创建过数据对象, 那么删除⽤户时必须加cascade参数, ⽤来同步删除 改⽤户的所有信息. 如还想使⽤该⽤户的数据, 则不可删除⽤户, 可以冻结该⽤户即可.1.创建⽤户⽅法⼀: create user ⽤户名 identified by 密码 ; # 创建⽤户, 但缺少必要的东西, 完整命令看下⾯. 创建的⽤户没有任何权限.ORA-01045: user QUZQ lacks CREATE SESSION privilege; logon denied 需要dba给新建的⽤户进⾏授权,如下: 基本语法: grant 权限/⾓⾊ to ⽤户 grand connect to ⽤户名 # 授权可以链接数据库 grand resource to ⽤户名 # 授权建表⽆空间⼤⼩的限制 grand dba to ⽤户名 # 设置⽤户为dba grand create session to ⽤命名 # create session权限即登陆数据库实列 使⽤revoke命令可回收权限或⾓⾊, 语法: revoke 权限/⾓⾊ from ⽤户 ⾓⾊就是权限的⼀个集合, ⾓⾊分为预先定义(即oracle定义的) 和⾃定义的2.创建⽤户⽅法⼆: sql > create user ⽤户名 identified by 密码 default tabspace users # 指定新建⽤户的表空间为users, users是oracle⾃带的⼀个表空间 temporary tablespace temp # 指定临时表空间为temp, temp空间也是oracle⾃带的 quota 3m on users; # ⽤来限制改⽤户创建的数据对象最⼤只能是3M3.oracle中⽤户的权限管理概念图如下:⼆. ⽤户⽅案 oracle会给每个⽤户创建个⽅案(⽅案可理解为⽤户的独⽴存储空间; 把oracle⽐喻成⼀个⼤房⼦, 那⽅案就相当于是⼤房⼦ 中隔出来的⼩房⼦, 每当添加个oracle⽤户时, 就会在⼤房⼦⾥隔出个⼩屋), 当然前提是该⽤户要创建数据对象, 不然是不会 被分配⽅案的. 每个⽤户的⽅案都是隔离的, 各个⽅案中的表名都可以相同; oracle给⽤户创建的⽅案名同⽤户名. 1. 现有两个⽤户, user1和user2, 如何实现user1来访问user2中的stu表呢? 正常情况这两⽤户是不能互相访问的. ⾸先使⽤user2登陆, 执⾏授权命令,如下: grant select [update | delete | insert | all ] on stu to user1 # 参数为all时, 表⽰增删改查 然后使⽤user1登陆, 执⾏相应命令, 语法如下: select * from user2.stu # select * from ⽅案名.表明 2. 有三个⽤户, user1和user2和user3, 如何把user1的stu表权限给user2,并由user2再把user1的stu表权限给user3呢 这⾥涉及两个命令: with admin option # 如果是⽀配系统权限, 则使⽤这个命令; ⽤于系统权限 with grant option # 得到权限的⽤户, 可继续分配权限, 即有⽀配所得权限的能⼒; ⽤于对象权限 grant all on user1.stu to user2 with grant option # 登陆user1前提下给user2⽀配stu表和crud该表的能⼒ grant all on user1.stu to user3 # 登陆user2把user1的stu表增删该查权限给user3, 但user3⽆再分配权限的能⼒三. ⽤户管理之限制登陆次数, 锁定账户时长 1. 创建profile限制集合, ⽤于配置限制的设置 create profile 集合名 limit failed_login_attempts 3 password_lock_time 2; limit failed_login_attempts 3 # 限制登陆次数为3 password_lock_time 2 # 3次失败后账户锁定2天 2. 把创建好的限制集合分配给⽤户user1 alter user user1 profile 集合名; 3. profile是⼝令限制.资源限制的命令集合, 当建⽴⽤户没有指定frofile选项, oracle将会产⽣个名为default的profile, 并将该default分配给⽤户.。
oracle11g用户创建及赋权操作
racl e用户创建及权限设置权限:create sessioncreate tableunlimited tablespaceconnectresourcedba例:#sqlplus /nologSQL> conn / as sysdba;SQL>create user username identified by passwordSQL> grant dba to username;SQL> conn username/passwordSQL> select * from user_sys_privs;我们将从创建Oracle用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对Oracle 用户权限表有个深入的了解。
一、创建sys;//系统管理员,拥有最高权限system;//本地管理员,次高权限scott;//普通用户,密码默认为tiger,默认未解锁二、登陆sqlplus / as sysdba;//登陆sys帐户sqlplus sys as sysdba;//同上sqlplus scott/tiger;//登陆普通用户scott三、管理用户create user zhangsan;//在管理员帐户下,创建用户zhangsanalert user scott identified by tiger;//修改密码四,授予权限1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限/*管理员授权*/grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限grant create table to zhangsan;//授予创建表的权限grante drop table to zhangsan;//授予删除表的权限grant insert table to zhangsan;//插入表的权限grant update table to zhangsan;//修改表的权限grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权/*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限grant drop on tablename to zhangsan;//授予删除表的权限grant insert on tablename to zhangsan;//授予插入的权限grant update on tablename to zhangsan;//授予修改表的权限grant insert(id) on tablename to zhangsan;grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和updategrant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限五、撤销权限基本语法同grant,关键字为revoke六、查看权限select * from user_sys_privs;//查看当前用户所有权限select * from user_tab_privs;//查看所用用户对表的权限七、操作表的用户的表/*需要在表名前加上用户名,如下*/select * from zhangsan.tablename八、权限传递即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:grant alert table on tablename to zhangsan with admin option;//关键字with admin option grant alert table on tablename to zhangsan with grant option;//关键字with grant option效果和admin类似九、角色角色即权限的集合,可以把一个角色授予给用户create role myrole;//创建角色grant create session to myrole;//将创建session的权限授予myrolegrant myrole to zhangsan;//授予zhangsan用户myrole的角色drop role myrole;删除角色/*但是有些权限是不能授予给角色的,比如unlimited tablespace和any关键字*/。
Navicat创建oracle表空间、新建用户、授权
Navicat创建oracle表空间、新建⽤户、授权1.利⽤数据库管理员账号:SYSTEM,再配合数据库管理⼝令,连接Oracle数据库。
登录界⾯:
2.创建表空间⽂件
进⼊如下界⾯
进⼊如下界⾯
弹出如下界⾯,输⼊表空间名称
最终结果:
2 .新建⽤户
弹出如下界⾯:
3.授权
***************
如果这⾥要设置sysdba权限(有了这个权限可以使⽤数据泵来实现数据的导⼊),那么DBA权限是没法赋予这个权限的。
这个时候需要进⼊sql plus
然后在窗⼝中输⼊⽤户名:sqlplus / as sysdba 密码:123456(初始密码)
连接到oracle数据库后,输⼊代码:grant connect, resource, dba, sysdba to adang(⽤户名);下⾯我们直接使⽤navicat测试⼀下我们刚才新建的表空间能不能连接成功。
利用PLSQL创建Oracle数据库User用户并设置权限
在PLSQL中创建Oracle数据库Users用户并设置权限
1、首先在PLQL Developer 中打开数据库。
使用"sys" 用户,输入数据库名称,输入该数
据库”sys”用户的密码sysdba,在”Connect as”组合框中选中“SYSDBA”。
单击OK 按钮打开数据库。
2、创建”User”型用户“DXXFLD”。
找到“Users”文件夹,右键弹出菜单中,选中”New”,
弹出用户创建界面:
在其中输入要添加的用户名”DXXFLD”,并作其他设置如下:
户名连接到数据库。
然后通过“Quotas”选项卡设置用户权限:将“Tablespace”中选中“User”, 勾选“Unlimited”复选项(这个一定要选中啊,不然创建表的时候会提示没有表空间的访问权限
的)。
最后单击”Apply”按钮使各项设置起作用。
2、使用新创建的用户创建表。
在”Tables”文件夹上右键单击,选中弹出菜单中“New”选
项
在之后弹出属性页下,做如下设置:
然后再设置字段名等其他属性就和直接用“System”或“Sys”等表空间创建表一样了。
要说明的是使用自定义”Users”创建的表,其在PLSQL 中“Users“->”Tables”目录下才
可见。
oracle_创建create_user_及授权grant_查看登陆的用户及更改用户默认表空间
oracle 创建create user 及授权grant 查看登陆的用户:以下都可以:show user;select sys_context('userenv','session_user') from dual;select user from dual;查看所有登录的用户必须为DBA 用户:select username from v$session;sys、system等DBA 用户查看其他用户(test)中的对象(表):SQL> select * from test.student;创建一个普通用户都把该用户用起来的流程:1、创建用户SQL>create user test indentified by test;这样就创建了一个用户名密码都为test的用户但这个时候test还是不能登陆成功的,我们需要赋予相应的权限2、赋予create session的权限SQL>grant create session to test;这样test用户就能成功登陆进去但是此时用户还是不能创建表我们需要赋予用户创建表的权限:SQL>grant create table to test;但是用户此时还不能创建表因为需要有使用表空间的权限(相当于用户有了进房间的钥匙但是没有进大门的钥匙。
)所以也应该赋予相应的权限SQL>grant unlimited tablespace to test;这个时候用户就拥有了创建表的权限由于表是用户test的相应的他就拥有了对创建的表的增删查改的权限了3、查看用户拥有什么权限可以通过查询一个系统的视图(数字字典)SQL>select * from user_sys_privs;这样就可以知道当前用户的权限4、撤销权限SQL> revoke create table from test;-----------------------------一些常用视图的区分dba_tables dba_all_tables user_tables user_all_tables all_tables all_all_tables当前用户所属的所有表(注意大写)SQL> select tablespace_name,table_name from user_all_tables where table_name='STUDENT'; SQL> select table_name,tablespace_name from user_tables where table_name='STUDENT'; TABLE_NAME TABLESPACE_NAME------------------------------ ------------------------------STUDENT USERSsys 要查看dba_all_tables,ALL_ALL_TABLES才能查看到test 用户的表。
oracle 数据库管理员日常操作手册
Oracle数据库管理员日常操作手册===================一、用户管理------### 1.1 创建用户1. 打开Oracle数据库管理工具(如SQL*Plus或SQL Developer)。
2. 使用管理员账户(如sys)登录。
3. 执行以下SQL语句创建用户:```sqlCREATE USER username IDENTIFIED BY password;```其中,`username`为用户名,`password`为密码。
4. 可选:为新用户分配表空间。
例如,执行以下语句将用户分配到默认的表空间:```sqlALTER USER username DEFAULT TABLESPACE tablespace_name;```其中,`tablespace_name`为要分配给用户的表空间的名称。
### 1.2 修改用户密码1. 打开Oracle数据库管理工具。
2. 使用管理员账户登录。
3. 执行以下SQL语句修改用户密码:```sqlALTER USER username IDENTIFIED BY new_password;```其中,`username`为要修改密码的用户名,`new_password`为用户的新密码。
### 1.3 删除用户1. 打开Oracle数据库管理工具。
2. 使用管理员账户登录。
3. 执行以下SQL语句删除用户:```sqlDROP USER username;```其中,`username`为要删除的用户名。
二、数据库备份与恢复----------### 2.1 执行完整备份1. 打开Oracle数据库管理工具(如Enterprise Manager)。
2. 选择要进行备份的数据库。
3. 执行备份命令。
通常使用类似以下的命令:```bashRMAN> RUN {2> ALLOCATE CHANNEL c1 DEVICE TYPE DISK;3> BACKUP DATABASE FORMAT '/path/to/backup/location/backup_date' PLUS ARCHIVELOG;4> }```其中,`/path/to/backup/location/`为备份文件的存储路径,`backup_date`为备份日期和时间。
oracle创建删除用户示例分享(oracle删除用户命令及授权)
oracle创建删除⽤户⽰例分享(oracle删除⽤户命令及授权)1、Oracle⽤户新增复制代码代码如下:create user lisi identified by lisi;注:create user是创建数据库⽤户,后⾯跟⽤户名称,identified by是设置⽤户密码2、把“连接”数据库权限授给新增⽤户lisi复制代码代码如下:grant connect to lisi;注:grant:Oracle数据库授权的关键字connect:Oracle数据库的⼀个默认⾓⾊,只有连接上数据库的权限3、把scott⽤户的表授权给lisi⽤户复制代码代码如下:grant select on emp to lisi;pl/sql中的问题:动态执⾏表不可访问,本回话的⾃动统计被禁⽌。
在执⾏菜单⾥你可以禁⽌统计,或在v$session,v$sesstat 和v$statname表⾥获得选择权限解决⽅案:复制代码代码如下:grant select on v_$session to ⽤户名;grant select on v_$sesstat to ⽤户名;grant select on v_$statname to ⽤户名;4、回收⽤户权限复制代码代码如下:revoke select on emp from lisi;5、⽤户密码修改⽤lisi账号登录复制代码代码如下:alter user lisi identified by 密码;6、⽤户删除drop user ⽤户名;或者drop user ⽤户名 cascade;(这将会删除与⽤户相关联的表)7、数据库的权限和⾓⾊①查看数据库⽤户有哪些权限复制代码代码如下:select * from session_privs;注:session_privs是Oracle数据库的字典表,字典表其实就是Oracle的内部表(不⽤创建就已经存在了)。
这个表可以看到很多权限,如创建表等。
Oracle新建用户、角色,授权,建表空间
Oracle新建用户、角色,授权,建表空间oracle数据库的权限系统分为系统权限与对象权限。
系统权限( database systemprivilege )可以让用户执行特定的命令集。
例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。
对象权限( database object privilege )可以让用户能够对各个对象进行某些操作。
例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。
每个oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。
oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。
用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。
一个用户也可以直接给其他用户授权。
一、创建用户oracle内部有两个建好的用户:system和sys。
用户可直接登录到system用户以创建其他用户,因为system具有创建别的用户的权限。
在安装oracle时,用户或系统管理员首先可以为自己建立一个用户。
例如:Sql代码create user user01 identified by u01;该命令还可以用来设置其他权限,详细情况参见自学资料。
要改变一个口令,可以使用alter user命令:<span style="white-space: pre;"> alter user user01 identified by usr01;</span><span style="white-space: pre;"><span style="white-space: normal;"> </span> </span>现在user01的口令已由“u01”改为“usr01”。
oracle数据库用户创建、权限分配,以及导入,导出数据
下面数据库所用的版本为ORACLE 9I (9.2.0),安装数据库时,数据库系统会创建一个数据库实例,其中:安装目录选为:\oracle,数据库名与数据库SID号都输入:ora9i数据库安装完成后,有两个系统级的用户:1、system 默认密码为:manager2、sys 默认密码为:change_on_install在安装的数据库目录中找到\oracle\product\9.2\bin 中的sqlplus程序,运行:./sqlplus system/manager@ora9i用system用户创建自己的用户、权限;sql语句如下:1、创建用户:create user username identified by pwd default tablespace users Temporary TABLESPACE Temp;2、用户授权grant connect,resource,dba to business;3、提交:commit;如上面所述利用sqlplus以username 用户登陆,专输入:@创建数据库的脚本名称.sql回车,即可创建数据库中的表、视图、存储过程等。
如上面所述利用sqlplus以username 用户登陆,假设有两个数据库 9.0.1 与 9.0.21.导出数据exp system用户/system的密码@服务器名 owner用户名=“oradial ” fi le="oradial.dmp"说明:(1) 如果该命令是在本地执行,则不用指定服务器名(2) owner用户名,通过sys用户的登录所创建的用户名。
同时授予的权限包括connect , dba , resource ,还要创建表空间。
(3) system用户名,owner用户名是9.0.1数据库中的用户2.导入数据imp system用户/system的密码@服务器名 file=oradial.dmp fromuser(用户名)=oradial touser(用户名)=abc说明:(1) 如果该命令是在本地执行,则不用指定服务器名(2) touser用户名,通过sys用户的登录所创建的用户名。
oracle,创建用户,授予用户各种权限;ORA-01939错误;ORA-01950错误;。。。
oracle,创建⽤户,授予⽤户各种权限;ORA-01939错误;ORA-01950错误;。
...3个默认的⽤户:sys orcl [as sysdba]system orclscott tiger创建⽤户:create user gis /*⽤户名*/ identified by gis /*密码*/ ;PRIVILEGE:权限系统权限:grant(revoke) create session to(from) gis;grant(revoke) create table to(from) gis;grant(revoke) unlimited tablespace to(from) gis;grant create seesion to public; #将权限授予所有⽤户。
select * from user_sys_privs; 查看当前⽤户的系统权限。
对象权限:grant(revoke) select on mytable to(from) gis;grant(revoke) all on mytable to(from) gis;select * from user_tab_privs; #查看当前⽤户的表的对象权限:对象权限可以控制到列(只能插⼊和更新控制到列):select * from user_col_privs; #查看当前⽤户的列的对象权限:1) grant update(name) on mytable to sagittys; #在gis⽤户上将mytable表的name列更新权限给sagittys⽤户update gis.mytable set name='laowang' where id=1;commit;2) grant insert(id) on mytable to sagittys;insert into gis.mytable(id) values(7);GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRA HIE----- ------------------------------ ------------------------------ --GIS SAGITTYS SA SAGITTYS FLASHBACK NO NOGIS SAGITTYS SA SAGITTYS DEBUG NO NOGIS SAGITTYS SA SAGITTYS QUERY REWRITE NO NOGIS SAGITTYS SA SAGITTYS ON COMMIT REFRESH NO NOGIS SAGITTYS SA SAGITTYS REFERENCES NO NOGIS SAGITTYS SA SAGITTYS UPDATE #更新 NO NOGIS SAGITTYS SA SAGITTYS SELECT #查询 NO NOGIS SAGITTYS SA SAGITTYS INSERT #插⼊ NO NOGIS SAGITTYS SA SAGITTYS INDEX #索引 NO NOGIS SAGITTYS SA SAGITTYS DELETE #删除 NO NOGIS SAGITTYS SA SAGITTYS ALTER #修改 NO NO(在CMD中默认宽度到头了则不会规则的显⽰,此时将宽度设为400,set linesize 400,就ok了)语⾔分类:1、 DLL,数据定义语⾔CREATE,CREATE TABLE abc(a varchar(10),b char(10));ALTER,ALTER TABLE abc ADD c NUMBER; 加⼀个c的字段,数据符为NUMBER。
oracle创建用户赋予权限,删除权限
oracle创建⽤户赋予权限,删除权限--删除⽤户及及⽤户下的所有数据drop user xxx cascade;--创建⽤户赋予密码create user xxx identified by1234;--赋予权限grant dba to xxx;--删除权限revoke dba from xxx;--赋予⽤户登录数据库的权限grant create session to xxx;--授予⽤户操作表的权限grant unlimited tablespace to xxx;grant create tablespace to xxx;grant alter tablespace to xxx;grant drop tablespace to xxx;grant manage tablespace to xxx;--撤销⽤户操作表空间的权限revoke unlimited tablespace from xxx;revoke create tablespace from xxx;revoke alter tablespace from xxx;revoke drop tablespace from xxx;revoke manage tablespace from xxx;grant create session to zhangsan;--授予zhangsan⽤户创建session的权限,即登陆权限grant unlimited session to zhangsan;--授予zhangsan⽤户使⽤表空间的权限grant create table to zhangsan;--授予创建表的权限grant drop table to zhangsan;--授予删除表的权限grant insert table to zhangsan;--插⼊表的权限grant update table to zhangsan;--修改表的权限grant select on tablename to zhangsan;--授予zhangsan⽤户查看指定表的权限grant drop on tablename to zhangsan--授予删除表的权限grant insert on tablename to zhangsan;--授予插⼊的权限grant update on tablename to zhangsan;--授予修改表的权限select*from user_sys_privs;--查看当前⽤户所有权限select*from user_tab_privs;--查看所⽤⽤户对表的权限select*from user_sys_privs;--查看当前⽤户所有权限select*from user_tab_privs;--查看所⽤⽤户对表的权限。
Oracle数据库创建用户的命令和方法
Oracle 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。
(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。
(是针对表或视图而言的)。
二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
2、系统权限授权命令:[系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system 用户的权限也可以被回收。
]例:SQL> connect system/managerSQL> Create user user50 identified by user50;SQL> grant connect, resource to user50;查询用户拥有哪里权限:SQL> select * from dba_role_privs;SQL> select * from dba_sys_privs;SQL> select * from role_sys_privs;删除用户:SQL> drop user 用户名 cascade; //加上cascade则将用户连同其创建的东西全部删除3、系统权限传递:增加WITH ADMIN OPTION选项,则得到的权限可以传递。
oracle中新建用户和赋予权限
oracle中新建⽤户和赋予权限1.新建个⽤户create user xxxxx(⽤户名) identified by "密码"alert user ⽤户名 identified by “新密码” --修改⽤户密码因为新建的⽤户和默认的⽤户是锁住的,没有权限。
所以新建⽤户后要给⽤户赋予权限grant dba to ⽤户名 --给⽤户赋予所有权限,connect是赋予连接数据库的权限,resource 是赋予⽤户只可以创建实体但是没有创建数据结构的权限。
grant create session to ⽤户名 --这个是给⽤户赋予登录的权限。
grant create table to ⽤户名 --给⽤户赋予表操作的权限grant unlimited tablespace to ⽤户名 --给⽤户赋予表空间操作的权限grant select any table to ⽤户名 --给该⽤户赋予访问任务表的权限同理可以赋予update 和delete 的grant select on srapp_hz_zhpt_yl.jggl to srapp_hz_zhpt_ylcs --这⾥是给srapp_hz_zhpt_ylcs⽤户赋予selectsrapp_hz_zhpt_yl⽤户的jggl表的查询的权限。
同理可以有alter,drop,insert等权限。
-----------------------------注意这个语句在没有访问另⼀个⽤户的权限情况下这个语句要在另⼀个⽤户登录情况下执⾏,这样才能⽣效。
-------------撤销权限基本语法同grant,关键字为revoke 如: revoke create tabel to ⽤户名就是取消这个⽤户的对表操作的权限。
-----------查看权限select * from user_sys_privs;//查看当前⽤户所有权限select * from user_tab_privs;//查看所⽤⽤户对表的权限-----------⾓⾊⾓⾊即权限的集合,可以把⼀个⾓⾊授予给⽤户,管理⾓⾊的权限⽐较简单,可以在⼀个⽤户下创建多个⾓⾊,⽤户只需要添加⾓⾊就可以管理权限了,便于⽤户管理权限。
Oracle创建用户并给用户授权查询指定表或视图的权限
Oracle创建⽤户并给⽤户授权查询指定表或视图的权限⽤DNINMSV31账户登录数据库进⾏如下操作:CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUNDDEFAULT TABLESPACE "TBS_DNINMSV31"TEMPORARY TABLESPACE "TEMP2"QUOTA UNLIMITED ON "TBS_DNINMSV31";GRANT "CONNECT" TO NORTHBOUND;ALTER USER NORTHBOUND DEFAULT ROLE NONE;GRANT CREATE SESSION TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNDEVICE" TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNSUBNE" TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNPACKAGE" TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNPORT" TO NORTHBOUND;【注】:在⽤NORTHBOUND登录后查询的时候要在视图前加上DNINMSV31,否则会报表或视图不存在。
例如:select*from DNINMSV31.V_DNDEVICE; --可以正常执⾏select*from DNINMSV31.TB_DEVICE where rownum<5; --执⾏的时候会报表或视图不存在创建同义词供对⽅公司系统访问:CREATE SYNONYM V_DNDEVICE FOR DNINMSV31.V_DNDEVICE;CREATE SYNONYM V_DNSUBNE FOR DNINMSV31.V_DNSUBNE;CREATE SYNONYM V_DNPACKAGE FOR DNINMSV31.V_DNPACKAGE;CREATE SYNONYM V_DNPORT FOR DNINMSV31.V_DNPORT;第三⽅的系统直接通过这个同义词就可以访问到⽤户DNINMSV31中的视图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入,后面添加 ignore=y。
f. 将 d:/linuxidc.dmp中的表table1 导入
imp oracle/linuxman@SID file=d:/linuxidc.dmp tables=(table1)
oracle用户创建及权限设置
权限:
create session
create table
unlimited tablespace
connect
resource
dba
例:
#sqlplus /nolog
SQL> conn / as sysdba;
一、创建
sys;//系统管理员,拥有最高权限
system;//本地管理员,次高权限
scott;//普通用户,密码默认为tiger,默认未解锁
二、登陆
sqlplus / as sysdba;//登陆sys帐户
sqlplus sys as sysdba;//同上
grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)
2、oralce对权限管理比较严谨,普通用户之间也是默认不tablename to zhangsan;//授予zhangsan用户查看指定表的权限
五、撤销权限
基本语法同grant,关键字为revoke
六、查看权限
select * from user_sys_privs;//查看当前用户所有权限
select * from user_tab_privs;//查看所用用户对表的权限
七、操作表的用户的表
sqlplus scott/tiger;//登陆普通用户scott
三、管理用户
create user zhangsan;//在管理员帐户下,创建用户zhangsan
alert user scott identified by tiger;//修改密码
四,授予权限
c. 将数据库中的表 inner_notify、notify_staff_relat导出
exp aichannel/aichannel@SID file= d:/data/newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
d. 将数据库中的表 table1 中的字段 filed1 以"00"打头的数据导出
grant insert(id) on tablename to zhangsan;
grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update
grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限
导出 DMP文件适用于,大型数据库完整迁移,迁移前后的数据库字符集要求比较严格,对CLOB字段支持不太友好。
对于小数据的导出其实用 PLSQL 能做的更好,更快,导出的SQL也很直观。
对于本机安装了Oracle 客户端,可以直接将 DMP 文件导出到本地,如果是没有安装,导出的文件是在linux 服务器上面。
impdp larms/larmshis@larmshis directory=dir_dump_t3 dumpfile=expdpfull_pd_20150529_02.dmp nologfile=y
其中:ts_onlinecol_prod:原先dmp文件的表空间名称,如果不知道原先的表空间名称是什么,先随便写个,到时候导入的时候会提示表空间不存在,把提示不存在的表空间名称写上去就可以。
exp system/linuxman@SID file=d:/linuxidc.dmp tables=(table1) query=/" where filed1 like '00%'/"
对于压缩,既用 winzip 把 dmp 文件可以很好的压缩,也可以在上面命令后面 加上 compress=y 来实现。
grant create session to myrole;//将创建session的权限授予myrole
grant myrole to zhangsan;//授予zhangsan用户myrole的角色
drop role myrole;删除角色
gunzip pythontab.gz
grant create table to zhangsan;//授予创建表的权限
grante drop table to zhangsan;//授予删除表的权限
grant insert table to zhangsan;//插入表的权限
grant update table to zhangsan;//修改表的权限
grant drop on tablename to zhangsan;//授予删除表的权限
grant insert on tablename to zhangsan;//授予插入的权限
grant update on tablename to zhangsan;//授予修改表的权限
zaixianzs_data:需要导入到的表空间的名称(第一步创建的表空间名称)
imp system/password@HUST full=y file=d:/data/newsmgnt.dmp ignore=y
a. 用户名 system 密码 linuxman 导出到D:/linuxidc.dmp中
exp system/linuxman@SID file=d:/linuxidc.dmp full=y
b. 将数据库中 system 用户与 sys 用户的表导出
exp system/linuxman@SID file=d:/linuxidc.dmp owner=(system,sys)
grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似
九、角色
角色即权限的集合,可以把一个角色授予给用户
create role myrole;//创建角色
SQL>create user larms identified by larmshis
SQL> grant dba to larms;
SQL> conn username/password
SQL> select * from user_sys_privs;
我们将从创建Oracle用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对Oracle用户权限表有个深入的了解。
需要用远程工具【WINSCp,PINTY.....】连接下载下来。
e. 将 D:/linuxidc.dmp 中的数据导入 TEST数据库中。
imp system/linuxman@SID file=d:/linuxidc.dmp
imp aichannel/aichannel@HUST full=y file=file= d:/data/newsmgnt.dmp ignore=y
1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限
grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限
grant unlimited tablespace to zhangsan;//授予zhangsan用户使用表空间的权限
select * from zhangsan.tablename
八、权限传递
即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:
grant alert table on tablename to zhangsan with admin option;//关键字 with admin option
imp larms/oracle@larmshis full=y file=/home/oracle/larms20170720.dmp remap_tablespace=TB_P01:larmshis
impdp larms/larmshis dumpfile=/home/oracle/larms20170720.dmp remap_tablespace=BKSVR:larmshis