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创建用户教程
1 Create user 用户名 2 3 Identified by 密码 4 5 Default tablespace users 6 7 Temporary tablespace temp 8 9 Quota unlimited on users;
修改用户:
Alter user 用户名 identified by 口令(密码) defauTemporary tablespace temp //临时表空间 Quota unlimited on users
删除用户: Drop user 用户名[cascade] cascade 将会删除这个用户所拥有的所有对象。
授权: 授予用户dba的权限 Grant dba to 用户; [with admin option] (权限继承)
写出来第一个一样的代码以为是自己写的有问题才一直掉到循环里原来是次数量太大了
Oracle创 建 用 户 教 程
1. Oeacle客户端安装教程: 2. Oracle创建用户教程: 创建步骤:计算机-->管理-->应用程序与服务-->(OracleOraDb11g_home1TNSListener 和 OracleServiceORCL 服务)->启动服务 打开Oracle应用程序->输入用户名sys->输入密码->连接为SYSDBA->SQL window
oracle数据库用户之间授权
oracle数据库⽤户之间授权 今天遇到⼀个数据库的问题: 系统数据库⽤户下创建了⼏个视图⽤于外部系统开发报表使⽤,当外部系统提取视图数据时,需要通过⼀个只能访问需要视图权限的⽤户,于是想到给他创建⼀个新的⽤户,并给这个⽤户分配只能访问这⼏个视图的权限。
1. 使⽤ oracle sql developer 客户端登陆数据库。
2. 查看当前数据库⽤户拥有的⾓⾊: select * from USER_ROLE_PRIVS; 查看⽤户系统权限:select * from dba_sys_privs; 查看⽤户系统权限:select * from user_sys_privs; 3、因为系统数据库⽤户拥有dba权限,所以,使⽤数据库系统⽤户创建⽤户: create user BI identified by 123; 4、给BI⽤户授权连接权限: grant connect to BI; 5、给BI⽤户授权 grant RESOURCE to BI; 6、给BI⽤户授权select 某视图的权限: 7、使⽤BI⽤户连接数据库: 查询视图发现提⽰表或视图不存在:SELECT * FROM VW_MONTHLY_BUDGET_ANALYSI; 在视图前加上视图所有者⽤户名称则可以查询成功。
eg:SELECT * FROM FSSC.VW_MONTHLY_BUDGET_ANALYSI; 7、给BI⽤户授权同义词权限: 8、使⽤BI⽤户连接数据库: 此时查询发现还是不可以 9、在BI⽤户下创建同义词视图: 10、BI⽤户下直接查询视图名称则可以查询 11、但是登陆BI⽤户,则在视图列表⾥看不到任何视图,如何能够查询并且登陆⽤户也能看到该视图? 。
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 重要语法(建表空间,用户,授权,拼接sql)
documentcount gdfs,--归档份数
f2 initunitname,--单位名称
AUTHOR author,--(作者) ,F9(扫描页数)。
F5 wjys,--文件页数
F3 lrrq,--(录入日期)
JDRQ jdrq,--(鉴定日期)。
(select substr(TZM ,1,(select INSTR(TZM ,'\',-1) from dual)-1 ) from dual ) FILE_PATH,--附件路径
alter system kill session 'sid,serial';
alter system kill session '7,19';
alter system kill session '9,11';
alter system kill session '70,13';
alter system kill session '72,348';
documentcount gdfs,--归档份数
f2 initunitname,--单位名称
AUTHOR author,--(作者) ,F9(扫描页数)。
F5 wjys,--文件页数
drop user dev cascade;
DROP TABLESPACE LIS INCLUDING CONTENTS AND DATAFILES;
Oracle如何断开用户连接 搜出该用户的session的SID,SERIAL码,然后kill掉
select sid,serial# from v$session where username='user_name';
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语句查询用户拥有的权限。
在Oracle11g中新建用户,授予只读用户权限详细步骤(批量执行授权多表查询)
2、批量执行创建同义词查询语句
SELECT 'create or replace SYNONYM MACS.' || object_name|| ' FOR ' || owner || '.' || object_name|| ';' from dba_objects where owner in ('PDSCI') and object_type='TABLE';
2、授权connect //没有无法登陆 和 synonym //同义词 grant connect to macs; grant create synonym to macs;
3、授权查询表的权限 grant select on PDSCI.M_TMP to t1;
4、创建同义词 (查询的时候就不需要使用A.表名,直接使用同义词查询) create or replace SYNONYM _TMP FOR PDSCI.M_TMP;
5、完成。测试查询
备注: 1、批量执行授权多表查询权限的查询语句 select 'grant select on '||owner||'.'||object_name||' to t1;'
from dba_objects where owner in ('PDSCI') and object_type='TABLE';
在oracle11g中新建用户授予只读用户权限详细步骤批量执行授权多表查询
在 Oracle11g中新建用户,授予只读用户权限详细步骤(批量执行授权多表查 询)
1、创建新用户 create user macs identified by 123456 default tablespace pdsci;
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测试⼀下我们刚才新建的表空间能不能连接成功。
oracle创建用户授权命令
privilege_name => 'administer_resource_manager',
admin_option => false);
end;
/
grant administer sql management object to db_zhang;
grant create any assembly to db_zhang;
grant create any cluster to db_zhang;
grant create any context to db_zhang;
grant create any cube to db_zhang;
grant alter any mining model to db_zhang;
grant alter any operator to db_zhang;
grant alter any outline to db_zhang;
grant alter any procedure to db_zhang;
grant alter any role to db_zhang;
grant alter any rule to db_zhang;
grant alter any rule set to db_zhang;
grant alter any sequence to db_zhang;
grant alter any sql profile to db_zhang;
grant become user to db_zhang;
ORACLE创建表空间、创建用户、更改用户默认表空间以及授权、查看权限(修改表空间大小)
ORACLE创建表空间、创建⽤户、更改⽤户默认表空间以及授权、查看权限(修改表空间⼤⼩)查询表空间路径:select * from dba_data_files删除表空间:正常情况下,删除表空间的正确⽅法为:DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;实例:1、CREATE TABLESPACE UCITDB_dataLOGGINGDATAFILE '/home/app/oracle/app/oracle/oradata/UCITDB/UCITDB_DATA01.DBF'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;创建表空间UCITDB_data:⽤户表空间不限制表空间⼤⼩⽤:maxsize unlimited2、CREATE USER UCITDBA IDENTIFIED BY 111111DEFAULT TABLESPACE UCITDB_data;创建帐号并设置默认表空间UCITDBA:创建的帐号名111111:为设置帐号的密码修改⽤户默认表空间:alter user dbcenter default tablespace DBCENTER_DATA3、grant dba TO UCITDBA给⽤户授予权限dba:⽤户组UCITDBA:⽤户创建临时表空间:CREATE TEMPORARY TABLESPACE test_tempTEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;创建⽤户表空间:CREATE TABLESPACE test_dataLOGGINGDATAFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;创建⽤户并制定表空间:CREATE USER username IDENTIFIED BY passwordDEFAULT TABLESPACE TEST_DATATEMPORARY TABLESPACE TEST_TEMP;给⽤户授予权限:GRANTCREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE, ALTER ANY TABLE, ALTER ANY PROCEDURE,DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLETO username;将role这个⾓⾊授与username,也就是说,使username这个⽤户可以管理和使⽤role所拥有的资源GRANT role TO username;-----------------------------------------------查看⽤户权限---------------------------------------------------------查看所有⽤户:SELECT * FROM DBA_USERS;SELECT * FROM ALL_USERS;SELECT * FROM USER_USERS;查看⽤户系统权限:SELECT * FROM DBA_SYS_PRIVS;SELECT * FROM USER_SYS_PRIVS;查看⽤户对象或⾓⾊权限:SELECT * FROM DBA_TAB_PRIVS;SELECT * FROM ALL_TAB_PRIVS;SELECT * FROM USER_TAB_PRIVS;查看所有⾓⾊:SELECT * FROM DBA_ROLES;查看⽤户或⾓⾊所拥有的⾓⾊:SELECT * FROM DBA_ROLE_PRIVS;SELECT * FROM USER_ROLE_PRIVS;------遇到no privileges on tablespace 'tablespace 'alter user userquota 10M[unlimited] on tablespace;oracle表空间增加和修改数据⽂件1、增加数据⽂件alter tablespace tablespace_name add datafile '/usr/app/oracle/oradata/dbm/UCITDB_DATA01.DBF' size 10240M;2、⼿⼯改变数据⽂件尺⼨alter database datafile '/usr/app/oracle/oradata/dbm/UCITDB_DATA01.DBF' resize 2048M;3、容许数据⽂件⾃动扩展alter database datafile '/usr/app/oracle/oradata/dbm/UCITDB_DATA01.DBF' autoextend on next 200M maxsize 30G; (解决oracle:ora 00017 01659错误)。
oracle增删改表空间和用户授权及权限
oracle创建表空间、用户如果是在Windows系统下,请先点击“开始”,然后点“运行”,输入cmd并点击“确定”,打开命令行窗口如果是在Linux的图形窗口,请右键点击桌面并点击“打开终端”,然后输入su - oracl 做好上述准备工作以后,输入以下命令:sqlplus /nolog回车后,将出现提示符SQL>这时输入conn / as sysdba一般即可登录,如果失败的话,可以试一下用conn sys/sys用户的密码as sysdba来重试一下接下来,我们看看您当前的数据库文件一般都是放在哪里的:select name from v$datafile;windows下可能看到的结果如下:SQL> select name from v$datafile;NAME--------------------------------------------------------------------------------D:\oracle\oradata\orcl\system01.dbfD:\oracle\oradata\orcl\undotbs01.dbfD:\oracle\oradata\orcl\cwmlite01.dbfD:\oracle\oradata\orcl\drsys01.dbfD:\oracle\oradata\orcl\indx01.dbfD:\oracle\oradata\orcl\tools01.dbf说明您的数据文件是放在D:\oracle\/oradata\orcl\ 这个目录下的Linux下可能看到的结果如下:SQL> select name from v$datafile;NAME--------------------------------------------------------------------------------/oracle/oradata/orcl/system01.dbf/oracle/oradata/orcl/undotbs01.dbf/oracle/oradata/orcl/cwmlite01.dbf/oracle/oradata/orcl/drsys01.dbf/oracle/oradata/orcl/indx01.dbf/oracle/oradata/orcl/tools01.dbf说明您的数据文件是放在/oracle/oradata/orcl/ 这个目录下的好,我们可以开始创建数据库表空间了,创建数据库表空间的命令格式如下:create tablespace 表空间名datafile '对应的文件名' size 大小;举例如下:对于上述的windows情况:create tablespace wbppcs datafile 'D:\oracle\oradata\orcl\wbppcs.dbf' size 3000m;3000m指的是3000MB对于上述的Linux的情况:create tablespace wbppcs datafile '/oracle/oradata/orcl/wbppcs.dbf' size 3000m;至此,所需的表空间已建立接下来我们开始创建用户,创建用户的命令格式如下:create user 用户名identified by 密码default tablespace 用户默认使用哪一个表空间;修改用户的权限:grant 角色1,角色2 to 用户名;举例如下:create user wbppcs identified by wbppcs123 default tablespace wbppcs;给用户授权:grant dba, connect to wbppcs;=============================================================================== ==============================================================oracle创建表空间和用户授权SYS用户在CMD下以DBA身份登录:在CMD中打sqlplus/nolog //匿名登录然后再conn/as sysdba //以dba身份登录//创建临时表空间create temporary tablespace bigoa_temptempfile 'E:\oracle\product\10.2.0\oradata\orcl\bigoa_temp.dbf'size 50mautoextend onnext 50m maxsize 2048mextent management local;//创建数据表空间create tablespace bigoaloggingdatafile'E:\oracle\product\10.1.0\oradata\orcl\bigoa.dbf'size 50mautoextend onnext 50m maxsize 2048mextent management local;//查看数据表空间select tablespace_name from dba_data_files;//创建用户并指定表空间create user swoa identified by oadefault tablespace bigoatemporary tablespace temp;//给用户授予权限grant connect,resource,dba,CTXAPP,create view to swoa;以后以该用户登录,创建的任何数据库对象都属于user_temp和user_data表空间,这就不用在每创建一个对象给其指定表空间了//修改用户口令alter user user_name identified by password;撤权:revoke 权限... from 用户名;删除用户命令drop user swoa cascade;//删除表空间drop tablespace bigoa_temp including contents and datafiles cascade constraints;//including contents 删除表空间的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉//cascade constraints 同时删除tablespace中表的外键参照//数据导出注:退出到cmd命令下再运行下列命令1、将数据库TEST完全导出,用户名system密码manager,导出到D:daochu.dmp中exp pobaoa/oa@orcl file=d:/zyoa0809.dmp full=y //不用加full=y,加上的意思是连同系统表一起导出exp sjsoa/oa@orcl file=d:/sjsoa1224.dmp full=y //不用加full=y,加上的意思是连同系统表一起导出2、将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)3、将数据库中的表inner_notify notify_staff_relat导出exp aichannel/aichannel@TESTDB2 file=d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)exp swoa/oa@orcl file=f:/swoa11.dmp tables=(OA_CALENDAR)exp bigoa/bigoa@orcl file=f:/bigoatemp.dmp tables=(OA_CALENDAR)4、将数据库中的表table1中的字段field1以“00”开头的数据导出exp system/manager@TEST file=d:daochu.dmp tables=(table1) query="where filed1 like '00%'"//数据导入注:退出到cmd命令下再运行下列命令1、将D:daochu.dmp中的数据导入TEST数据库中imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y有的表已经存在,所以会报错,加上ignore=y就可以了imp pobaoa/oa@orcl file=f:\zyoa0916.dmp full=y ignore=yimp sjsoa/oa@orcl file=f:/bigoatemp.dmp full=y2、将d:daochu.dmp中的表table1导入imp system/manager@TEST file=d:daochu.dmp tables=(table1)select INSTANCEID,NID,TITLE,NODENAME,ASSIGNER,NODEBEGIN,initiatorname,'办理状态'As blzt from view_wf_todo where actor='%USERID%' order by nodebegin descsqlplus / as sysdba。
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删除用户命令及授权)
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,创建用户,授予用户各种权限;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 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。
(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。
(是针对表或视图而言的)。
二、系统权限管理: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创建⽤户并给⽤户授权查询指定表或视图的权限⽤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中的视图。
oracle创建用户赋权
oracle创建⽤户赋权1,创建表空间create tablespace hxzg_dataloggingdatafile 'C:\app\data\hxzg_data.dbf'size 50mautoextend onnext 50m maxsize 20480m ;2,创建⽤户create user db_hxzg identified by 123default tablespace hxzg_data;3,复权grant resource,connect to db_hxzg;4,给其他⽤户访问权限(db_hxzg以DBA权限登录)grant select any table to sun;创建create user sun identified by 123; //创建⽤户alert user sun identified by tiger; //修改密码删除drop user sun cascade; //删除⽤户及对象drop user sun; //删除⽤户授权1、默认的普通⽤户sun默认未解锁,不能进⾏那个使⽤,新建的⽤户也没有任何权限,必须授予权限grant create session to sun; //授予sun⽤户创建session的权限,即登陆权限grant unlimited tablespace to sun; //授予sun⽤户使⽤表空间的权限grant create table to sun; //授予创建表的权限grant drop any table to sun; //授予删除表的权限grant insert any table to sun; //插⼊表的权限grant update any table to sun; //修改表的权限grant all to public; //这条⽐较重要,授予所有权限(all)给所有⽤户(public)2、oralce对权限管理⽐较严谨,普通⽤户之间也是默认不能互相访问的,需要互相授权 grant select on tablename to sun;//授予sun⽤户查看指定表的权限 grant drop on tablename to sun;//授予删除表的权限 grant insert on tablename to sun;//授予插⼊的权限 grant update on tablename to sun;//授予修改表的权限 grant insert(id) on tablename to sun; grant update(id) on tablename to sun;//授予对指定表特定字段的插⼊和修改权限,注意,只能是insert和update grant alert all table to sun;//授予sun⽤户alert任意表的权限撤销权限 基本语法同grant,关键字为revoke查看权限 select * from user_sys_privs;//查看当前⽤户所有权限 select * from user_tab_privs;//查看所⽤⽤户对表的权限权限传递 即⽤户A将权限授予B,B可以将操作的权限再授予C,命令如下: grant alert table on tablename to sun with admin option;//关键字 with admin option grant alert table on tablename to sun with grant option;//关键字 with grant option效果和admin类似⾓⾊ ⾓⾊即权限的集合,可以把⼀个⾓⾊授予给⽤户 create role myrole;//创建⾓⾊ grant create session to myrole;//将创建session的权限授予myrole grant myrole to sun;//授予sun⽤户myrole的⾓⾊ drop role myrole;删除⾓⾊。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
grant execute on p1 to u1;
表授权:
grant select on t1 to u1;
linux ntpdate客户端与ntpd服务器端设置时间同步 linux文件颜色+umask
oracle 10g 创建只读用户 2011-10-20 15:45:17| 分类: DailyOperation | 标签:只读用户创建 |举报 |字号大
grant connect to test;
3、给指定用户的表或视图授予select(只读)权限
grant select on user1.table_name/view_name to test;
如果要对某用户下所有的表设置只读,可以先获取所有语句,
SELECT 'grant select on USER1.'|| table_name ||'to test;' from dba_tables where owner='USER1';
执行了上述语句,用户B才有授权v1给用户C的能力。
如果不按上面的注意事项操作,则会在用户B授权视图的时候,报错:
ORA-01720 grant option does not exist for 'string.string'
Cause: A grant was being performed on a view and the grant option was not present for an underlying object.
GRANT SELECT ANY TABLE TO xok; //授予所有表的查询权限
GRANT CREATE SESSION TO xok; //授予创建会话
GRANT SELECT ANY VIEW TO xok; //授予所有视图的查询权限
Action: Obtain the grant option on all underlying objects of the view.
最后,用户B将v1的读取权限授权给用户C。
grant select on v1 to C;
另:
创建同义词:
create synonym u1.t1 for t1;
Oracle创建用户并给用户授权查询权限 2013-07-26 16:44:58| 分类: Ora-basic | 标签: |举报 |字号大
中
小 订阅
DBA用户连接:
1、创建新用户
create user test identified by test;
2、授予connect权限
然后在命令行窗口执行,实现对user1用户下所有表的查看权限。
4、设置系统权限
如果想对所有表进行只读设置,可以对该用户授予select any table系统权限。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
中
小 订阅
Create user xok Identified By fucku; //创建用户
GRANT SELECT ANY DICTIONARY TO xok; //授予所有字典的查询权限
GRANT SELECT ANY SEQUENCE TO xok; //授予所有序列的查询权限
grant select on t2 to B;
但是,要想给用户C授权v1视图的访问权限,那么首先用户B需要有授权t1、t2的权限!
因此:
grant select on t1 to B with grant option;
grant select on t2 to B with grant option;
今天做测试发布的时候发现在给一个用户赋予一个视图的select权限的时候报1720错误,现总结下。
视图授权:
e.g.
用户A存在表t1,t2
用户B下存在视图Leabharlann 1(v1是根据t1、t2创建的)
需要给用户C授权v1视图的访问权限。
一般我们就直接给用户B select权限,如下:
grant select on t1 to B;
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
SQL> alter user sys identified by *****;
grant select any dictionary to username;
修改密码:
su - oracle
Password: *****
sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Apr 2 14:11:35 2014
User altered.
SQL> alter user system identified by *****;
User altered.
SQL> commit;
Commit complete.
#——
其实只要给用户赋予create session, select any table两个系统权限,该用户就能查询其他schema下表和视图
grant create session to username;
grant select any table to username;
但是这样授权后,sys下的对象还是不能select的,因为sys是数据字典的拥有者,要select sys下的对象,需要select any dictionary的权限