欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle数据库学习小结(一)

程序员文章站 2022-05-25 15:36:58
...

今天要跟大家来聊一聊俺在使用Oracle数据库的这段时间里面学到的一些知识。 俺最近出来工作了,来到的公司是使用的Oracle数据库,之前一直使用的是SQL的数据库,在性质上二者前者是收费的,后者是开源的;在使用上主要还是靠自己探索,下面说说俺的一些收获

  今天要跟大家来聊一聊俺在使用Oracle数据库的这段时间里面学到的一些知识。
  俺最近出来工作了,来到的公司是使用的Oracle数据库,之前一直使用的是SQL的数据库,在性质上二者前者是收费的,后者是开源的;在使用上主要还是靠自己探索,下面说说俺的一些收获。在前段时间俺一直在鼓捣组长分下来的一个任务,定时同步数据的一个小程序,俺的Oracle之旅也是从这里才算是正式开始的。

  近期的学习中俺了解到Oracle数据库本身是自带三个默认用户的:sys(网络管理员)、system(本地普通管理员)、scott(本地普通用户)。目前俺只是了解了system这个用户,了解的也只是权限上的一些皮毛,其它两个还没有认知。我们在使用Oracle数据库时会创建不同的用户来对应不同的系统或者程序,不同的用户下面有自己对应的表和数据。下面这个就是创建用户的前一部分语句:

-- Create the user 
create user JCSYN      		----创建JCSYN这个角色
  identified by password	----给这个角色设置密码
  default tablespace PMS	----默认的表空间
  temporary tablespace TEMP	----临时的表空间
  profile DEFAULT		----配置文件默认
  quota unlimited on pms	----配置非限额在PMS这个表空间
  quota unlimited on pms_lob;	----配置非限额在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;