分享
 
 
 

ORACLE数据库对象与用户管理

王朝oracle·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一、ORACLE数据库的模式对象的管理与维护

本节的主要内容是关于ORACLE数据库的模式对象的管理与维护,这些模式对象包括:表空间、表、视图、索引、序列、同义词、聚集和完整性约束。对于每一个模式对象,首先描述了它的定义,说明了它的功能,最后以基于SQL语言的实例说明如何对它们进行管理于维护。

1.1 表空间

由于表空间是包含这些模式对象的逻辑空间,有必要先对它进行维护。

创建表空间

SQLCREATE TABLESPACE jxzy

DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’

ONLINE;

修改表空间

SQLALTER TABLESPACE jxzy OFFLINE NORMAL;

SQLALTER TABLESPACE jxzy

RENAME DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’

TO ‘/usr/oracle/dbs/jxzynew.dbf’

ONLINE

SQLCREATE TABLESPACE jxzy ONLINE

删除表空间

SQLDROP TABLESPACE jxzy

INCLUDING CONTENTS

1. 2 表维护

表是数据库中数据存储的基本单位,一个表包含若干列,每列具有列名、类型、长度等。

表的建立

SQLCREATE TABLE jxzy.switch(

OFFICE_NUM NUMBER(3,0) NOT NULL,

SWITCH_CODE NUMBER(8,0) NOT NULL,

SWITCH_NAME VARCHAR2(20) NOT NULL);

表的修改

SQLALTER TABLE jxzy.switch

ADD (DESC VARCHAR2(30));

表的删除

SQLDROP TABLE jxzy.switch

CASCADE CONSTRAINTS

//删除引用该表的其它表的完整性约束

1. 3 视图维护

视图是由一个或若干基表产生的数据集合,但视图不占存储空间。建立视图可以保护数据安全(仅让用户查询修改可以看见的一些行列)、简化查询操作、保护数据的独立性。

视图的建立

SQLCREATE 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);

视图的替换

SQLREPLACE 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);

视图的删除

SQLDROP VIEW jxzy.pole_well_view;

1.4 序列维护

序列是由序列发生器生成的唯一的整数。

序列的建立

SQLCREATE SEQUENCE jxzy.sequence_cable

START WITH 1

INCREMENT BY 1

NO_MAXVALUE;

建立了一个序列,jxzy.sequence_cable.currval返回当前值,jxzy.sequence_cable.nextval 返回当前值加1后的新值

序列的修改

SQLALTER SEQUENCE jxzy.sequence_cable

START WITH 1 //起点不能修改,若修改,应先删除,然后重新定义

INCTEMENT BY 2

MAXVALUE 1000;

序列的删除

SQLDROP SEQUENCE jxzy.sequence_cable

1. 5 索引维护

索引是与表相关的一种结构,它是为了提高数据的检索速度而建立的。因此,为了提高表上的索引速度,可在表上建立一个或多个索引,一个索引可建立在一个或几个列上。

对查询型的表,建立多个索引会大大提高查询速度,对更新型的表,如果索引过多,会增大开销。

索引分唯一索引和非唯一索引

索引的建立

SQLCREATE INDEX jxzy.idx_switch

ON switch(switch_name)

TABLESPACE jxzy;

索引的修改

SQLALTER INDEX jxzy.idx_switch

ON switch(office_num,switch_name)

TABLESPACE jxzy;

索引的删除

SQLDROP INDEX jxzy.idx_switch;

1. 6 完整性约束管理

数据库数据的完整性指数据的正确性和相容性。数据完整型检查防止数据库中存在不符合语义的数据。

完整性约束是对表的列定义一组规则说明方法。ORACLE提供如下的完整性约束.

a. NOT NULL 非空

b. UNIQUE 唯一关键字

c. PRIMATY KEY 主键一个表只能有一个,非空

d. FOREIGA KEY 外键

e.CHECK 表的每一行对指定条件必须是true或未知(对于空值)

例如:

某列定义非空约束

SQLALTER TABLE office_organization

MODIFY(desc VARCHAR2(20)

CONSTRAINT nn_desc NOT NULL)

某列定义唯一关键字

SQLALTER TABLE office_organization

MODIFY(office_name VATCHAR2(20)

CONSTRAINT uq_officename UNIQUE)

定义主键约束,主键要求非空

SQLCREATE TABLE switch(switch_code NUMBER(8)

CONSTRAINT pk_switchcode PRIMARY KEY,)

使主键约束无效

SQLALTER TABLE switch DISABLE PRIMARY KEY

定义外键

SQLCREATE TABLE POLE(pole_code NUMBER(8),

office_num number(3)

CONSTRAINT fk_officenum

REFERENCES office_organization(office_num)

ON DELETE CASCADE);

定义检查

SQLCREATE TABLE office_organization(

office_num NUMBER(3),

CONSTRAINT check_officenum

CHECK (office_num BETWEEN 10 AND 99);

二、ORACLE数据库用户与权限管理

ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。

2. 1 ORACLE数据库安全策略

建立系统级的安全保证

系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。

建立对象级的安全保证

对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。

建立用户级的安全保证

用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。

2.2 用户管理

ORACLE用户管理的内容主要包括用户的建立、修改和删除

用户的建立

SQLCREATE USER jxzy

IDENTIFIED BY jxzy_password

DEFAULT TABLESPACE system

QUATA 5M ON system; //供用户使用的最大空间限额

用户的修改

SQLCREATE USER jxzy

IDENTIFIED BY jxzy_pw

QUATA 10M ON system;

删除用户及其所建对象

SQLDROP USER jxzy CASCADE; //同时删除其建立的实体

2.3系统特权管理与控制

ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。

授予系统特权

SQLGRANT CREATE USER,ALTER USER,DROP USER

TO jxzy_new

WITH ADMIN OPTION;

回收系统特权

SQLREVOKE CREATE USER,ALTER USER,DROP USER

FROM jxzy_new

//但没有级联回收功能

显示已被授予的系统特权(某用户的系统级特权)

SQLSELECT*FROM sys.dba_sys_privs

2.4 对象特权管理与控制

ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。

授予对象特权

SQLGRANT SELECT,INSERT(office_num,office_name),

UPDATE(desc)ON office_organization

TO new_adminidtrator

WITH GRANT OPTION;

//级联授权

SQLGRANT ALL ON office_organization

TO new_administrator

回收对象特权

SQLREVOKE UPDATE ON office_orgaization

FROM new_administrator

//有级联回收功能

SQLREVOKE ALL ON office_organization

FROM new_administrator

显示已被授予的全部对象特权

SQLSELECT*FROM sys.dba_tab_privs

2.5 角色的管理

ORACLE的角色是命名的相关特权组(包括系统特权与对象特权)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有