Oracle数据库学习小结(一)
2016-05-09 15:56
495 查看
今天要跟大家来聊一聊俺在使用Oracle数据库的这段时间里面学到的一些知识。
俺最近出来工作了,来到的公司是使用的Oracle数据库,之前一直使用的是SQL的数据库,在性质上二者前者是收费的,后者是开源的;在使用上主要还是靠自己探索,下面说说俺的一些收获。在前段时间俺一直在鼓捣组长分下来的一个任务,定时同步数据的一个小程序,俺的Oracle之旅也是从这里才算是正式开始的。
近期的学习中俺了解到Oracle数据库本身是自带三个默认用户的:sys(网络管理员)、system(本地普通管理员)、scott(本地普通用户)。目前俺只是了解了system这个用户,了解的也只是权限上的一些皮毛,其它两个还没有认知。我们在使用Oracle数据库时会创建不同的用户来对应不同的系统或者程序,不同的用户下面有自己对应的表和数据。下面这个就是创建用户的前一部分语句:
-- Create the user
create user JCSYN <span style="white-space:pre"> </span>----创建JCSYN这个角色
identified by password<span style="white-space:pre"> </span>----给这个角色设置密码
default tablespace PMS<span style="white-space:pre"> </span>----默认的表空间
temporary tablespace TEMP<span style="white-space:pre"> </span>----临时的表空间
profile DEFAULT<span style="white-space:pre"> </span>----配置文件默认
quota unlimited on pms<span style="white-space:pre"> </span>----配置非限额在PMS这个表空间
quota unlimited on pms_lob;<span style="white-space:pre"> </span>----配置非限额在PMS_LOB这个表空间
如果我们仅仅是创建这个角色的话就没有问题了,但是我们现在使用中还需要用到增上改查之类的操作,这就需要我们赋予角色特定的权限,这样才能实现我们的使用要求,下面就是一些语句:
赋予权限的语句:grant 权限 to 用户;
移除权限的语句:revoke 权限 from 用户;
如果我们不清楚角色都有什么权限,我们可以使用下面的语句来查找数据库中的所有角色权限信息:
select * from user_sys_privs ;
下面我将使用过的创建角色语句给大家看一下,仅供参考!
-- Create the user
create user JCSYN
identified by password
default tablespace PMS
temporary tablespace TEMP
profile DEFAULT
quota unlimited on pms
quota unlimited on pms_lob;
-- Grant/Revoke object privileges
grant select, insert, update, delete on HORIZON.TOR_HORIZON_USER_DEPT to JCSYN;
grant select, insert, update, delete on HORIZON.TO_HORIZON_DEPT to JCSYN;
grant select, insert, update, delete on HORIZON.TO_HORIZON_USER to JCSYN;
grant select, insert, update, delete on HORIZON.TPR_HORIZON_OBJ_ROLE to JCSYN;
-- Grant/Revoke role privileges
grant connect to JCSYN;
grant scheduler_admin to JCSYN;
-- Grant/Revoke system privileges
grant alter any procedure to JCSYN;
grant create any synonym to JCSYN;
grant create database link to JCSYN;
grant create job to JCSYN;
grant create materialized view to JCSYN;
grant create procedure to JCSYN;
grant create public database link to JCSYN;
grant create sequence to JCSYN;
grant create synonym to JCSYN;
grant create table to JCSYN;
grant create trigger to JCSYN;
grant create type to JCSYN;
grant create view to JCSYN;
grant debug any procedure to JCSYN;
grant debug connect session to JCSYN;
grant delete any table to JCSYN;
grant drop public database link to JCSYN;
grant execute any class to JCSYN;
grant execute any library to JCSYN;
grant execute any procedure to JCSYN with admin option;
grant execute any program to JCSYN with admin option;
grant execute any type to JCSYN;
grant manage scheduler to JCSYN;
grant select any dictionary to JCSYN;
grant select any table to JCSYN;
俺最近出来工作了,来到的公司是使用的Oracle数据库,之前一直使用的是SQL的数据库,在性质上二者前者是收费的,后者是开源的;在使用上主要还是靠自己探索,下面说说俺的一些收获。在前段时间俺一直在鼓捣组长分下来的一个任务,定时同步数据的一个小程序,俺的Oracle之旅也是从这里才算是正式开始的。
近期的学习中俺了解到Oracle数据库本身是自带三个默认用户的:sys(网络管理员)、system(本地普通管理员)、scott(本地普通用户)。目前俺只是了解了system这个用户,了解的也只是权限上的一些皮毛,其它两个还没有认知。我们在使用Oracle数据库时会创建不同的用户来对应不同的系统或者程序,不同的用户下面有自己对应的表和数据。下面这个就是创建用户的前一部分语句:
-- Create the user
create user JCSYN <span style="white-space:pre"> </span>----创建JCSYN这个角色
identified by password<span style="white-space:pre"> </span>----给这个角色设置密码
default tablespace PMS<span style="white-space:pre"> </span>----默认的表空间
temporary tablespace TEMP<span style="white-space:pre"> </span>----临时的表空间
profile DEFAULT<span style="white-space:pre"> </span>----配置文件默认
quota unlimited on pms<span style="white-space:pre"> </span>----配置非限额在PMS这个表空间
quota unlimited on pms_lob;<span style="white-space:pre"> </span>----配置非限额在PMS_LOB这个表空间
如果我们仅仅是创建这个角色的话就没有问题了,但是我们现在使用中还需要用到增上改查之类的操作,这就需要我们赋予角色特定的权限,这样才能实现我们的使用要求,下面就是一些语句:
赋予权限的语句:grant 权限 to 用户;
移除权限的语句:revoke 权限 from 用户;
如果我们不清楚角色都有什么权限,我们可以使用下面的语句来查找数据库中的所有角色权限信息:
select * from user_sys_privs ;
下面我将使用过的创建角色语句给大家看一下,仅供参考!
-- Create the user
create user JCSYN
identified by password
default tablespace PMS
temporary tablespace TEMP
profile DEFAULT
quota unlimited on pms
quota unlimited on pms_lob;
-- Grant/Revoke object privileges
grant select, insert, update, delete on HORIZON.TOR_HORIZON_USER_DEPT to JCSYN;
grant select, insert, update, delete on HORIZON.TO_HORIZON_DEPT to JCSYN;
grant select, insert, update, delete on HORIZON.TO_HORIZON_USER to JCSYN;
grant select, insert, update, delete on HORIZON.TPR_HORIZON_OBJ_ROLE to JCSYN;
-- Grant/Revoke role privileges
grant connect to JCSYN;
grant scheduler_admin to JCSYN;
-- Grant/Revoke system privileges
grant alter any procedure to JCSYN;
grant create any synonym to JCSYN;
grant create database link to JCSYN;
grant create job to JCSYN;
grant create materialized view to JCSYN;
grant create procedure to JCSYN;
grant create public database link to JCSYN;
grant create sequence to JCSYN;
grant create synonym to JCSYN;
grant create table to JCSYN;
grant create trigger to JCSYN;
grant create type to JCSYN;
grant create view to JCSYN;
grant debug any procedure to JCSYN;
grant debug connect session to JCSYN;
grant delete any table to JCSYN;
grant drop public database link to JCSYN;
grant execute any class to JCSYN;
grant execute any library to JCSYN;
grant execute any procedure to JCSYN with admin option;
grant execute any program to JCSYN with admin option;
grant execute any type to JCSYN;
grant manage scheduler to JCSYN;
grant select any dictionary to JCSYN;
grant select any table to JCSYN;
相关文章推荐
- 不安装oracle客户端,用plsql连接oracle
- Oracle写函数读写日志实例
- oracle 数据库,无效的SCN号错误
- hibernate+quartz,oracle报错ora-12520
- Oracle获取表、表结构的语句
- oracle select ...start with ...connect by ..
- 【Oracle】RAC11gR2 Grid启动顺序及启动故障诊断思路
- 使用navicat premium连接oracle数据库的步骤
- Mysql 实现按字段排名(实现oracle的rowNum)
- Oracle insert hang引发的行锁等待
- oracle insert乱码问题
- Oracle - 常用函数
- thinkphp,oracle,支持事务
- oracle监听问题解决办法
- oracle中查询某个字段在哪些表中作为外键
- 新装服务器通过cp的方式安装oracle
- Mysql与Oracle的区别
- 深入Oracle的left join中on和where的区别详解
- 解决Oracle数据库不能导出空表的问题
- oracle 时间比较