知识大全 ORACLE数据库对象与用户管理

Posted 特权

篇首语:人不能象走兽那样活着,应该追求知识和美德。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORACLE数据库对象与用户管理相关的知识,希望对你有一定的参考价值。

ORACLE数据库对象与用户管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 ORACLE数据库的模式对象的管理与维护    本节的主要内容是关于ORACLE数据库的模式对象的管理与维护 这些模式对象包括 表空间 表 视图 索引 序列 同义词 聚集和完整性约束 对于每一个模式对象 首先描述了它的定义 说明了它的功能 最后以基于SQL语言的实例说明如何对它们进行管理于维护      表空间    由于表空间是包含这些模式对象的逻辑空间 有必要先对它进行维护     创建表空间   SQL>CREATE TABLESPACE jxzy    >DATAFILE /usr/oracle/dbs/jxzy dbf     >ONLINE;    修改表空间   SQL>ALTER TABLESPACE jxzy OFFLINE NORMAL;    SQL>ALTER TABLESPACE jxzy    >RENAME DATAFILE /usr/oracle/dbs/jxzy dbf     >TO /usr/oracle/dbs/jxzynew dbf     >ONLINE    SQL>CREATE TABLESPACE jxzy ONLINE    删除表空间   SQL>DROP TABLESPACE jxzy    >INCLUDING CONTENTS     表维护    表是数据库中数据存储的基本单位 一个表包含若干列 每列具有列名 类型 长度等     表的建立   SQL>CREATE TABLE jxzy switch(    >OFFICE_NUM NUMBER( ) NOT NULL     >SWITCH_CODE NUMBER( ) NOT NULL     >SWITCH_NAME VARCHAR ( ) NOT NULL);    表的修改   SQL>ALTER TABLE jxzy switch    >ADD (DESC VARCHAR ( ));    表的删除   SQL>DROP TABLE jxzy switch    >CASCADE CONSTRAINTS    //删除引用该表的其它表的完整性约束     视图维护    视图是由一个或若干基表产生的数据集合 但视图不占存储空间 建立视图可以保护数据安全(仅让用户查询修改可以看见的一些行列) 简化查询操作 保护数据的独立性     视图的建立   SQL>CREATE VIEW jxzy pole_well_view AS    >(SELECT pole_path_num AS path     pole AS device_num FROM pole    >UNION    >SELECT pipe_path_num AS path     > well AS device_num FROM well);    视图的替换   SQL>REPLACE VIEW jxzy pole_well_view AS    >(SELECT pole_path_num AS path     pole AS support_device FROM pole   >UNION    >SELECT pipe_path_num AS path     well AS support_device FROM well);   视图的删除   SQL>DROP VIEW jxzy pole_well_view;     序列维护    序列是由序列发生器生成的唯一的整数     序列的建立   SQL>CREATE SEQUENCE jxzy sequence_cable    >START WITH     >INCREMENT BY     >NO_MAXVALUE;    建立了一个序列 jxzy sequence_cable currval返回当前值 jxzy sequence_cable nextval 返回当前值加 后的新值    序列的修改   SQL>ALTER SEQUENCE jxzy sequence_cable    >START WITH //起点不能修改 若修改 应先删除 然后重新定义    >INCTEMENT BY     >MAXVALUE ;    序列的删除   SQL>DROP SEQUENCE jxzy sequence_cable     索引维护    索引是与表相关的一种结构 它是为了提高数据的检索速度而建立的 因此 为了提高表上的索引速度 可在表上建立一个或多个索引 一个索引可建立在一个或几个列上     对查询型的表 建立多个索引会大大提高查询速度 对更新型的表 如果索引过多 会增大开销     索引分唯一索引和非唯一索引    索引的建立   SQL>CREATE INDEX jxzy idx_switch    >ON switch(switch_name)    >TABLESPACE jxzy;    索引的修改   SQL>ALTER INDEX jxzy idx_switch    >ON switch(office_num switch_name)    >TABLESPACE jxzy;    索引的删除   SQL>DROP INDEX jxzy idx_switch;     完整性约束管理    数据库数据的完整性指数据的正确性和相容性 数据完整型检查防止数据库中存在不符合语义的数据     完整性约束是对表的列定义一组规则说明方法 ORACLE提供如下的完整性约束     a NOT NULL 非空    b UNIQUE 唯一关键字    c PRIMATY KEY 主键一个表只能有一个 非空    d FOREIGA KEY 外键    e CHECK 表的每一行对指定条件必须是true或未知(对于空值)    例如     某列定义非空约束   SQL>ALTER TABLE office_anization    >MODIFY(desc VARCHAR ( )    >CONSTRAINT nn_desc NOT NULL)    某列定义唯一关键字   SQL>ALTER TABLE office_anization    >MODIFY(office_name VATCHAR ( )    >CONSTRAINT uq_officename UNIQUE)    定义主键约束 主键要求非空   SQL>CREATE TABLE switch(switch_code NUMBER( )    >CONSTRAINT pk_switchcode PRIMARY KEY )    使主键约束无效   SQL>ALTER TABLE switch DISABLE PRIMARY KEY    定义外键   SQL>CREATE TABLE POLE(pole_code NUMBER( )     >office_num number( )    >CONSTRAINT fk_officenum    >REFERENCES office_anization(office_num)    >ON DELETE CASCADE);    定义检查   SQL>CREATE TABLE office_anization(    >office_num NUMBER( )     >CONSTRAINT check_officenum    >CHECK (office_num BEEEN AND );    二 ORACLE数据库用户与权限管理    ORACLE是多用户系统 它允许许多用户共享系统资源 为了保证数据库系统的安全 数据库管理系统配置了良好的安全机制      ORACLE数据库安全策略    建立系统级的安全保证   系统级特权是通过授予用户系统级的权利来实现 系统级的权利(系统特权)包括 建立表空间 建立用户 修改用户的权利 删除用户等 系统特权可授予用户 也可以随时回收 ORACLE系统特权有 多种     建立对象级的安全保证   对象级特权通过授予用户对数据库中特定的表 视图 序列等进行操作(查询 增 删改)的权利来实现     建立用户级的安全保证   用户级安全保障通过用户口令和角色机制(一组权利)来实现 引入角色机制的目的是简化对用户的授权与管理 做法是把用户按照其功能分组 为每个用户建立角色 然后把角色分配给用户 具有同样角色的用户有相同的特权      用户管理    ORACLE用户管理的内容主要包括用户的建立 修改和删除    用户的建立   SQL>CREATE USER jxzy    >IDENTIFIED BY jxzy_password    >DEFAULT TABLESPACE system    >QUATA M ON system; //供用户使用的最大空间限额    用户的修改   SQL>CREATE USER jxzy    >IDENTIFIED BY jxzy_pw    >QUATA M ON system;    删除用户及其所建对象   SQL>DROP USER jxzy CASCADE; //同时删除其建立的实体     系统特权管理与控制    ORACLE 提供了 多种系统特权 其中每一个系统特权允许用户执行一个或一类数据库操作     授予系统特权   SQL>GRANT CREATE USER ALTER USER DROP USER    >TO jxzy_new    >WITH ADMIN OPTION;    回收系统特权   SQL>REVOKE CREATE USER ALTER USER DROP USER    >FROM jxzy_new    //但没有级联回收功能    显示已被授予的系统特权(某用户的系统级特权)   SQL>SELECT*FROM sys dba_sys_privs     对象特权管理与控制    ORACLE对象特权指用户在指定的表上进行特殊操作的权利 这些特殊操作包括增 删 改 查看 执行(存储过程) 引用(其它表字段作为外键) 索引等     授予对象特权   SQL>GRANT SELECT INSERT(office_num office_name)     >UPDATE(desc)ON office_anization    >TO new_adminidtrator    >WITH GRANT OPTION;    //级联授权    SQL>GRANT ALL ON office_anization    >TO new_administrator    回收对象特权   SQL>REVOKE UPDATE ON office_aization    >FROM new_administrator    //有级联回收功能    SQL>REVOKE ALL ON office_anization    >FROM new_administrator    显示已被授予的全部对象特权   SQL>SELECT*FROM sys dba_tab_privs     角色的管理    ORACLE的角色是命名的相关特权组(包括系统特权与对象特权) cha138/Article/program/Oracle/201311/18378

相关参考

知识大全 Oracle数据库入门之DDL与数据库对象

Oracle数据库入门之DDL与数据库对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据库

知识大全 使用配置文件创建口令管理策略

  多数Oracle数据库用户都使用默认配置文件创建用户帐户自从Oracle开始就可以通过创建一个配置文件然后使用以下两个语句之一分配给它一个用户来锁定一个帐户    CREATEUSERmyuser

知识大全 oracle段管理分析

  ()段区段块  Oracle中的段segment是占用磁盘存储空间的一个对象从逻辑上讲一个数据库由若干表空间(TABLESAPCE)组成每个表空间有若干个表(TABLE)每个表又可以分为若干数据段

知识大全 oracle与用户角色权限相关的视图

  Oracle本身的数据字典设计我个人觉得很合理因为DBA_xxxALL_xxxUSER_xxx 让人一看大概就知道这个视图是干什么用的本文简要总结了一下与权限角色相关的视图一概述  与权

知识大全 oracle添加用户并指定数据库

  impcmsuser/password@orclfile=bubpdmpfromuser=cmsusertouser=cmsuser  SQL>createuseruumcuserident

知识大全 Oracle数据库数据对象分析

Oracle数据库数据对象分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle数据库

知识大全 实战Oracle数据库备份与恢复

实战Oracle数据库备份与恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用户可以留意一下

知识大全 oracle新建用户,授权,建表空间

  这段时间在学oracle终于把公司的数据库成功导入到我自己的数据库里了  create用户  sql代码SQL>createuservisiontvidentifiedbyvisiontvd

知识大全 ORACLE7 用户之间数据拷贝的方法

ORACLE7用户之间数据拷贝的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  大型数据库系

知识大全 讲解孤立用户和对象名无效问题的解决方法[2]

  方法二使登录用户和数据库的孤立用户对应起来  其实我们建立了同样名称的数据库登录用户后数据库中的表我们照样不能使用时因为sid的不同就是系统登录表和数据库用户表中的用户名相同单是sid字段数据库中