ORACLE 用户的规范化管理

ORACLE 用户的规范化管理
ORACLE 用户的规范化管理

ORACLE 用户的规范化管理

摘自:双利刃

随着ORACLE数据库里的信息量越来越大,能对ORACLE操作的用户也越来越多。

怎样安全地管理各行各业、各公司、各部门的数据,首先要从ORACLE 用户管理着

手。

一、目前ORACLE用户管理存在的问题

1、权限过大

对ORACLE数据库编程和浏览的一般用户常常具有DBA (数据库管理员权限),

能对数据库系统做任何修改或删除。

2、安全性差

很多ORACLE用户缺省存储位置都在系统表空间,这样不仅影响系统的正常工

作,而且不同用户的数据信息互相影响、透明,保密性差。随着数据的不断加入,

有可能使整个数据库系统崩溃。

3、密码有规律

在ORACLE调试初期形成的用户名和密码一致的不良习惯保留到现在;系统用

户SYS和SYSTEM的密码也众所皆知。

二、ORACLE用户的规范化管理

综述以上ORACLE用户管理中的种种弊端,再根据数据库使用情况,提出其规

范化管理的建议:

1、ORACLE DBA (数据库管理员)的规范

⑴、SUN Solaris操作系统下ORACLE用户密码应严格保密,绝不该把密码设成

ORACLE;并指定专门的数据库管理员定期修改。

⑵、ORACLE初始化建立的SYS和SYSTEM系统管理员用户密码应由原来的MANAGER

改成别的不易被记忆的字符串。

⑶、ORACLE WEB SERVER的管理端口具备DBA浏览数据库的能力,因此其管理者

ADMIN的密码也应保密,不该把密码设成MANAGER;并指定专门的数据库

管理员定

期修改。

⑷、ORACLE DBA最好在SUN SPARC服务器控制台上用窗口式界面实现管理。前提

是ORACLE用户启动服务器,然后在窗口式命令行下输入SVRMGRM,即启动了ORACLE

SERVER MANAGER菜单式管理;用SYSDBA身份登录后,就可做数据库系统维护工作

了。

2、SQL*PLUS编程用户的规范

⑴、存储结构的规范

考虑到用SQL*PLUS编程可实现各行各业、各公司、各部门多种多样的应用

需求,我们的SQL*PLUS编程用户也应该朝这个方向规范:不同种类的应用必须有

不同的用户;不同种类的应用必须有不同的存储位置,包括物理文件、缺省表空

间、临时表空间的创建和规划:当准备编写某一较大规模(从ORACLE数据量和面向

用户量考虑)应用程序时,首先应该创建一个逻辑的存储位置-表空间,同时定义

物理文件的存放路径和所占硬盘的大小。

①、物理文件缺省的存放路径在/oracle_home/dbs下,在命令行下用UNIX指令

df -k 可查看硬盘资源分区的使用情况。如果oracle_home使用率达90‰以上,而

且有一个或多个较为空闲的硬盘资源分区可以利用,我们最好把物理文件缺省的

存放路径改到较为空闲的硬盘资源分区路径下。在此路径下我们可以这样规划资

源物理文件的存储:

xxx表空间

xxx行业/ xxx公司/ xxx 部门/ xxx 服务.dbf

DEMO表空间

default_datafile_home1/col /elec/sys4/demo1.dbf

default_datafile_home1/col /elec/sys4/demo2.dbf

公司系统四部摹拟演示系统物理文件

HUMAN表空间

default_datafile_home1/col/elec/human/human.dbf

公司人事部人事管理系统物理文件

BOOK表空间

default_datafile_home1/col/elec/book/book.dbf

公司资料室图书管理系统物理文件

QUESTION表空间

default_datafile_home1/col/elec/client/question.dbf

公司客户服务部问题库系统物理文件

PC表空间

default_datafile_home1/col/chaoxun/client/pc.dbf

公司PC机售后服务系统物理文件

……表空间

default_datafile_home2/……………………………

等等

说明:其中default_datafile_home1指oracle_home/dbs;

default_datafile_home2指较为空闲的硬盘资源分区路径。

②、物理文件的大小根据应用系统的数据量、数据对象、程序包的多少来定。

一般用于摹拟演示的小系统,表空间初始的物理文件为2M即能满足要求,如果信

息量满,还可以增加物理文件,扩充表空间(每次扩充大小也可暂定为2M);一般

实际运行的应用系统可适当增加表空间初始的物理文件大小,但也不要一次分配

太大(因为不易回收空间,却易扩充空间),这也需要根据具体情况具体分析:信

息量大、需长时间保存的应用在条件允许情况下,表空间可以大到几百M甚至上G;

信息量小、短期经常刷新的应用,表空间可以控制在2M以下。

举例:●创建APP 某应用表空间(窗口菜单方式):

oracle_home/dbs/app.dbf 2M 某应用的物理文件

oracle_home所在的/wwwdg分区使用率为10‰,所以物理文件可放在其缺省路径:oracle_home/dbs 下。

●创建APP 某应用表空间(命令行方式)

oracle_home/dbs/app.dbf 2M 某应用的物理文件

%svrmgrl

SVRMGR>connect internal;

SVRMGR> create tablespace app datafile 'app.dbf'size 2M;

说明:物理文件的缺省路径为ORACLE_HOME/DBS

即wwwdg/oracle/app/oracle/product/7.3.2/dbs

③、表空间的名称应该采用同系统应用相似的英文字符或字符缩写,表空间所对

应的一个或多个物理文件名也应有相关性。不同用户所处的缺省表空间不同,存

储的信息就不能互相访问。这比把所有用户信息都储存在系统表空间,安全性大

大提高了。如果用ORACLE WEB SERVER管理端口创建的用户,其缺省和临时表空

间一定是系统表空间,DBA切记要改变用户的缺省表空间。临时表空间

存放临时

数据段,处理一些排序、合并等中间操作,根据实际应用的需求可以把它们放在

专门创建的表空间里;如果系统表空间大,也可以把它们放在系统表空间。用户

创建的数据索引最好和数据文件分开存放在不同表空间,以减少数据争用和提高

响应速度。

举例:

●改变dcd用户缺省表空间(窗口菜单方式):

●改变dcd用户缺省表空间(命令行方式)

%svrmgrl

SVRMGR>connect internal;

SVRMGR>alter user dcd identified by dcdpwd default tablespace app;

⑵、权限的规范

对ORACLE数据库编程的用户具有CONNECT加RESOURCE权限就足以完成其工作。如果

要开发在INTERNET上可执行的应用程序,我们建议用ORACLE WEB SERVER 管理端口

创建SQL*PLUS编程新用户。在 ORACLE WEB SERVER ADMINISTRATION中选PL/SQL

AGENT。

举例:

●创建一个SQL*PLUS编程新用户new (窗口菜单方式)

再选CREATE NEW DCD

选SUBMIT NEW SERVICE按纽后,屏幕提示CREATE DCD SUCCESS!这个过程不

仅创建了ORACLE的新用户,还安装了WEB SERVER的PL/SQL工具包,并确定了其有

效的INTERNET浏览端口。

选CONFIGURE 80

选Directory Mappings

做好端口相应INTERNET资源配置

修改WEB请求插件80

加入新用户WEB请求的应用和路径

做好端口相应INTERNET资源配置和加入新用户的WEB请求插件后,DBA 切记要

改变用户的缺省表空间,由系统表空间改到为相关应用而创建的表空间。这样,

有效的面向INTERNET的SQL*PLUS编程用户就规划好了。

⑶、密码和用户名的规范

有相当数量的ORACLE用户名和密码一致,这是个很不安全的因素。我们建议

ORACLE用户名和密码一定不要一样,密码最好在五,六位字符以上。不同用户间

不应该使用相同的密码。用户名的定义可根据实际应用的英文名来设,而依据编

程人员的姓名定义的用户名实际上不规范,可在日后的工作中结合上述有关存储

结构规范的说明逐步改进。

oracle创建用户及权限说明文档

Oraclec创建用户 一、命令行创建用户具体步骤如下: 1.以管理员身份登录系统并创建一个新的表空间,操作如下: 操作如下: 2. Next 5M maxsize 100M ;----每次扩大5M,但最大为100M

3. Temporary tablespace test1_temp; ----设置临时表空间为test1_temp 4. 操作如下 5. 操作如下 6.最后提交即可。Commit 二、表空间的增删改查 1. 2. 如下操作,其中标示出来的路径即为查询到的要更改的表空间的具体路径,将该路径加到语句2中的单引号处即可。

3. 4.

四、权限的设置 1.权限的分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 2.系统权限管理 DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE: 拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT: 拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。 3.系统权限授权命令及用户管理。 [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys 用户相同的权限,system用户的权限也可以被回收。] 例: SQL> connect system/manager SQL> 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则将用户连同其创建的东西全部删除。 4.给新建的用户分配只有连接以及对某些表和视图的查询权限: oracle授权对视图的查询.docx 5.用户管理: 1)、创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_ATTEMPTS 3 //指定锁定用户的登录失败次数 PASSWORD_LOCK_TIME 5 //指定用户被锁定天数 PASSWORD_LIFE_TIME 30 //指定口令可用天数 2)、创建用户 SQL> Create User username Identified by password Default Tablespace tablespace Temporary Tablespace tablespace Profile profile Quota integer/unlimited on tablespace; 6.用户密码过期问题: 首先,查看系统中有哪些用户:

Oracle系统中用户权限的赋予

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多种。 建立对象级的安全保证 对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。 建立用户级的安全保证 用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分

【VIP专享】Oracle权限、角色和用户

Oracle数据库权限、角色和用户总结 前言: ORACLE数据库系统预先定义了CONNECT 、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE五个角色。 CONNECT具有创建表、视图、序列等特权;(alter session create cluster ) RESOURCE具有创建过程、触发器、表、序列等特权、 DBA具有全部系统特权; EXP_FULL_DATABASE、IMP_FULL_DATABASE具有卸出与装入数据库的特权。 权限管理 一、权限分类 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理: 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用户的权限也可以被回收。] 例:

oracle常用权限语句

oracle 用户创建及权限设置 权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> conn / as sysdba; SQL>create user username identified by password SQL> grant dba to username; SQL> conn username/password SQL> select * from user_sys_privs; 我们将从创建 Oracle 用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对 Oracle 用户权限表有个深入的了解。 一、创建 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆sqlplus / as sysdba;// 登陆sys帐户sqlplus sys as sysdba;// 同上 sqlplus scott/tiger;//登陆普通用户scott sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 create user zhangsan;//在管理员帐户下,创建用户zhangsan alter 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和update grant 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;//创建角色

ORACLE数据库用户与权限管理

ORACLE数据库用户与权限管理ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。 2.1 ORACLE数据库安全策略 建立系统级的安全保证 系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。 建立对象级的安全保证 对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。 建立用户级的安全保证 用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。 2.2 用户管理 ORACLE用户管理的内容主要包括用户的建立、修改和删除用户的建立

2.3系统特权管理与控制 ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。 授予系统特权 回收系统特权 显示已被授予的系统特权(某用户的系统级特权) 2.4 对象特权管理与控制 ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。 授予对象特权

//级联授权 回收对象特权 显示已被授予的全部对象特权 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可以了解每种角色拥有的权利。 授予用户角色

oracle客户端的安装和用户的创建

1、光驱: /dev/cdrom 2、挂载光驱 1)挂载点:就是一个目录 2) mount /dev/cdrom 挂载点的名称 卸载光驱 umount /dev/cdrom U盘挂载 /dev/mnt mount –t -vfat /dev/mnt /mnt/usb 3、ftp的配置 1)关闭防火墙 service iptables stop; 2) 关闭selinux vi /etc/selinux/config - disabled init 6 3) 启动ftp service vsftpd start 4) 要使用root用户登录ftp vi /etc/vsftpd/ftpusers; vi /etc/vsftpd/user_list; 注释掉root ,因为默认情况下ftp不允许直接向root用户传输文件。 4、软件安装 1)rpm方式 rpm: redhat package management rpm -qa 查询系统中所有以rpm方式安装的软件 -e 卸载软件包 -i 安装软件包 -v 显示提示

-h 显示安装进度 2)源码方式 先编译 ./configure --选项。。 make make install 3) yum方式,必须有yum源(在外网) yum install compat-db 5、定时任务 周期性任务 Crontab -e 编辑任务 Crontab -l 显示当前有哪些任务 Crontab -r 删除所有任务 一次性任务 at 时间 -f 脚本 at now + 10 minutes -f test.sh 6、JDK安装 上传jdk*****.bin 授权可执行 执行后,默认安装到/usr/java/ 配置系统环境变量 vi /etc/profile JAVA_HOME=/usr/java/jdk1.6.0_45 PATH=$JAVA_HOME/bin:$PATH; CLASSPATH=.:$JAVA_HOME/lib; 重启终端,测试 ------------------------------------------------------------------

Oracle 创建用户

Oracle 创建用户 创建一个新的数据库用户是使用CREATE USER 语句完成的,该语句一般是由DBA 用户来执行;如果要以其他用户身份创建用户,则要求用户必须具有CREATE USDER 系统权限。 每个用户在连接到数据库时,都需要进行身份验证。身份验证可以通过操作系统进行,也可以通过数据库进行,或者通过独立的网络服务器进行。数据库验证是指使用数据库来检查用户、密码以及连接用户的身份,该方式也是最常用的用户验证方式,因此本书重点介绍数据库验证方式。采用数据库验证具有如下优点: ● 用户账号及其身份验证全部由数据库控制,不需要借助数据库外的任何控制。 ● 当使用数据库验证时,Oracle 提供了严格的密码管理机制,加强了密码的安全性。 如果使用数据库验证,则创建用户时必须提供连接密码,并且密码必须是单字节字符。例如,下面的语句创建了一个用户ATG ,并为该用户指定了登录密码、默认表空间、临时表空间: SQL> connect system/password 已连接。 SQL> create user developer 2 identified by developer 3 default tablespace user01 4 quota 10m on user01 5 temporary tablespace temp; 用户已创建。 在上面的语句中,创建了一个名为DEVELOPER 的用户。其中,子句IDENTIFIED BY 指定用户密码,该密码是用户的初始密码,在用户登录到数据库后可以对其进行修改。DEFAULT TABLESPACE 子句为用户指定默认表空间,这样在建立数据库对象(表、索引和簇)时,如果不指定TABLESPACE 子句,Oracle 会自动在默认表空间上为这些对象分配空间。TEMPORARY TABLESPACE 子句用于为用户指定临时表空间,当用户所执行的SQL 语句需要进行排序操作时,若临时数据尺寸超过PGA 工作区,则会在该表空间上建立临时段。QUOTA 子句为用户指定表空间配额,即用户对象在表空间上可占用的最大空间。 在创建用户时需要注意,Oracle 不允许使用其他类型的表空间作为临时表空间使用,同样,也不允许使用临时表空间作为默认表空间。否则会出现如下所示的错误: SQL> create user developer02 2 identified by developer 3 default tablespace USER01 4 quota 128m on users 5 temporary tablespace USERS; create user atg02 注 意 使用过Oracle 10g 以及早期版本的用户需要注意,11g 中的用户密码是区分大小的。

Oracle用户权限管理 通过 SQL plus

sys 整个数据库网络的管理员最高权限 system 本地数据库管理员 scott 普通用户 创建用户(hong12345): create user hong12345 identified by hong12345 系统授权: grant create session to hong12345; 登录窗口 grant create table to hong12345; 创建表 grant unlimited tablespace to hong12345; 使用表空间 撤销权限: revoke create table from hong12345; rovoke unlimited tablespace from hong12345; 查看用户权限: 提供系统信息的视图Oracle中称数据字典查看当前用户系统权限select * from user_sys_prives; 创建用户(xiaobei) create user xiaobeiindentified by xiaobei create table myxiaobei(id int); insert into myxiaobei(1);

commit;//必须手动提交 对象权限 一个用户访问另外一个用户的表(如hong12345 访问xiaobei) grant select on myxiaobei to hong12345;(将表myxiaobei查询权限给hong12345)grant inert on myxiaobei to hong12345; grant all on myxiaobei to hong12345; select * from user_tab_privs;(查询对象权限) select * from user_col_privs;(查询对象列权限); 对象权限可以控制到列的权限 grant update(name)on myxiaobei to hong12345 grant insert(id)on myxiaobei to hong12345; 撤销; revoke all on myxiaobei from hong12345; 权限传递: sys--》hong12345--》xiaobei sys:grant alter any table to hong12345 with admin option;

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

实验二创建数据库用户及授权

实验二创建数据库用户及授权 一、实验目的 掌握Oracle11g的基本操作。理解Oracle用户概念;掌握Oracle11g数据库登录过程及方法,数据的导入与导出。 二、实验属性 设计性 三.实验仪器设备及器材: 1.安装有windows操作系统计算机。 2.安装有Oracle11g和SQL Server的计算机。 3.安装有Visual Studio .net和Java编译器(eclipse、Netbean等)的编译器。 4.计算机具备网络环境。 四.实验要求 1、建立一个永久表空间tbs_test, 建立一个临时表空间ts_temp。 create tablespace tbs_test datafile 'e:\app\zhangxibo\oradata\orcl\tbs_test'size 10m autoextend on extent management local autoallocate; create temporary tablespace ts_temp

tempfile 'e:\app\zhangxibo\oradata\orcl\ts_temp'size 50m autoextend on extent management local; 2、创建用户Turing。该用户的表空间是tbs_test和ts_temp。 create user Turing identified by 123456 profile default default tablespace tbs_test temporary tablespace ts_temp account unlock; 3、给用户Turing授权。(create user Turing identified by 123456) grant connect,resource, create session, create table, create procedure, create sequence, create trigger,

Oracle用户权限表的管理方法

我们将通过介绍命令的方式,谈谈Oracle用户权限表的管理方法,希望对大家有所帮助。 我们将从创建Oracle用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对Oracle用户权限表有个深入的了解。 一、创建 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆 sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 create user zhangsan;//在管理员帐户下,创建用户zhangsan alert user scott identified by tiger;//修改密码 create user zhangsan;//在管理员帐户下,创建用户zhangsan alert 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) /*管理员授权*/ 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;

oracle数据库创建用户,给用户授权,创建表的语句程序代码

1、创建用户,给该用户授权 Drop user clwz_user 删除用户名为“clwz_user”的用户,注意当删除该用户时,用户下的所有表,都会被删除。 CREATE USER CLWZ_USER IDENTIFIED BY CLWZPZXTSDGAB DEFAULT TABLESPACE clwz_dy TEMPORARY TABLESPACE clwz_dy PROFILE DEFAULT; 创建用户,用户名为“CLWZ_USER”,密码为“CLWZPZXTSDGAB”,默认的表空间为“clwz_dy”, GRANT "DBA" TO "CLWZ_USER"; 付给用户CLWZ_USER对oracle操作的dba权限 2、创建表 drop table vio_users; 删除表名为“vio_users”的表 Oracle中常用的数据类型 Char:存放定长字符数据 Varchar2:存放可变厂字符数据 Number(1,d):存放数值型数据,1代表总位数,d代表小数点厚位数 Date:存放日期 create table vio_users( police_no varchar2(10) primary key, name varchar2(20) not null, password varchar2(20), kind char(1), csrq date, xzqh varchar2(10), privilege varchar2(30) ); 创建表“vio_users”,其中字段police_no为唯一索引字段,字段name为不可空,其他字段默认可空 Desc vio_users 查看表为vio_users的表结构 若想创建和表vio_users的表结构一样,也要其数据的话 Create table aa as select * from vio_users; 若想创建和表vio_users的表结构一样,不要其数据的话 Create table aa as select * from vio_users where rownum<1

Oracle用户角色权限等操作

oracle 赋予权限 转发评论 02月21日13:00 最基础的sqlplus username/password@[sid] 连接数据库 sqlplus username/password as sysdba 以管理员连接数据库 管理员连接后创建用户sqlplus system/manager@demo as sysdba create user abc identified by abc ; 创建用户abc密码为abc grant all privileges to abc; 给abc用户赋予所有的权限 给自己留个备份以备不时之需 oracle grant 授权语句--select * from dba_users; 查询数据库中的所有用户 --alter user USERNAME account lock; 锁住用户 --alter user USERNAME account unlock; 给用户解锁 --create user USERNAME identified by USERPASS; 建立用户 一般创建用户后需要授予链接数据库权限 grant connect,resource to USERNAME; --grant create tablespace to USERNAME; 授权创建表空间 --grant SELECT on TABLENAME to USERNAME; 授权查询 授权其他动作格式相同 如果要把所有表的查询权限分配给用户可以用这样的 grant select any table to USERNAME; --grant execute on procedure1 to xujin 授权存储过程

oracle 查看用户、权限、角色

查看用户、权限、角色的命令和视图 a 1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户系统权限: select * from dba_sys_privs; select * from session_privs; select * from user_sys_privs; 3.查看用户对象权限: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 4.查看所有角色: select * from dba_roles; 5.查看用户所拥有的角色: select * from dba_role_privs; select * from user_role_privs; b 概述 与权限,角色相关的视图大概有下面这些: DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限 USER_SYS_PRIVS: 查询当前用户所拥有的系统权限 SESSION_PRIVS: 查询当前用户所拥有的全部权限 ROLE_SYS_PRIVS:查询某个角色所拥有的系统权限 注意: 要以SYS用户登陆查询这个视图,否则返回空. ROLE_ROLE_PRIVS: 当前角色被赋予的角色 SESSION_ROLES: 当前用户被激活的角色 USER_ROLE_PRIVS: 当前用户被授予的角色 另外还有针对表的访问权限的视图: TABLE_PRIVILEGES ALL_TAB_PRIVS ROLE_TAB_PRIVS: 某个角色被赋予的相关表的权限 oracle与用户角色权限相关的视图 Oracle 本身的数据字典设计我个人觉得很合理, 因为DBA_xxx, ALL_xxx,USER_xxx 让人一看大概就知道这个视图是干什么用的. 本文简要总结了一下与权限,角色相关的视图. 一. 概述 与权限,角色相关的视图大概有下面这些: 1、DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限。 2、USER_SYS_PRIVS: 查询当前用户所拥有的系统权限。

如何查看oracle用户具有的权限和角色

如何查看oracle用户具有的权限和角色 上次有同学问我,如何查看一个oracle用户具有的权限和角色,我一时没答上来,回头好好研究了一下,记录一下,备查: 1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限): select * from dba_sys_privs; select * from user_sys_privs; 3.查看角色(只能查看登陆用户拥有的角色)所包含的权限 sql>select * from role_sys_privs; 4.查看用户对象权限: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 5.查看所有角色: select * from dba_roles; 6.查看用户或角色所拥有的角色: select * from dba_role_privs; select * from user_role_privs; 7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限) select * from V$PWFILE_USERS 比如我要查看用户wzsb的拥有的权限: SQL> select * from dba_sys_privs where grantee='WZSB';

GRANTEE PRIVILEGE ADMIN_OPTION ------------------------------ ---------------------------------------- ------------ WZSB CREATE TRIGGER NO WZSB UNLIMITED TABLESPACE NO 比如我要查看用户wzsb的拥有的角色: SQL> select * from dba_role_privs where grantee='WZSB'; GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE ------------------------------ ------------------------------ ------------ ------------ WZSB DBA NO YES 查看一个用户所有的权限及角色 select privilege from dba_sys_privs where grantee='WZSB' union select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='WZSB' );

关于oracle 用户去DBA权限的管理

为了规范数据库用户的操作,特制订如下规范: 一、每个系统建立自己的数据库文件和索引文件,每个文件不允许超过2G,不支持自动扩展,系统根据自己的情况申请相应大小的数据文件; 创建文件系统的命令为: (1)创建表空间 Create tablespace coredb_data logging datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_data01.dbf' size 2G autoextend off (2)创建索引空间 Create tablespace coredb_idx logging datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_idx01.dbf' size 1G autoextend off (3)增扩表空间 alter tablespace coredb_idx add datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_idx02.dbf' size 2G autoextend off (4)查看表空间 select dbf.tablespace_name, dbf.totalspace "总量(M)", dbf.totalblocks as 总块数, dfs.freespace "剩余总量(M)", dfs.freeblocks "剩余块数", (dfs.freespace / dbf.totalspace) * 100 "空闲比例" from (select t.tablespace_name, sum(t.bytes) / 1024 / 1024 totalspace, sum(t.blocks) totalblocks from dba_data_files t group by t.tablespace_name) dbf, (select tt.tablespace_name, sum(tt.bytes) / 1024 / 1024 freespace, sum(tt.blocks) freeblocks from dba_free_space tt group by tt.tablespace_name) dfs where trim(dbf.tablespace_name) = trim(dfs.tablespace_name) 二、创建用户的命令 使用ORACLE用户执行如下命令(无DBA权限): sqlplus '/as sysdba' < cascade; create user identified by default tablespace coredb_data temporary tablespace temp;

推荐下载-oracle管理权限 精品

Oracle用户权限管理

●系统的默认用户 # sys;//系统管理员,拥有最高权限 # system;//本地管理员,次高权限 # scott;//普通用户,密码默认为tiger,默认未解锁 ●登陆 # sqlplus / as sysdba;//登陆sys帐户 # sqlplus sys as sysdba;//同上 # sqlplus scott/tiger;//登陆普通用户scott ●管理用户 # create user zhangsan;//在管理员帐户下,创建用户zhangsan # alert 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对权限管理比较严谨,普通用户之间也是默认 不能互相访问的,需要互相授权 #

相关文档
最新文档