77范文网 - 专业文章范例文档资料分享平台

oracle数据库自学文档整理资料,详细!!!(5)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

使用表空间 create table mypart(deptno number(4)) tablespace data01

改变表空间的状态:当建立表空间时,表空间处于联机的状态,此时该表空间是可以访问的,并且该表空间时可以读写的,即可以查询该表空间的数据。而且还可以在表空间执行各种语句。但是在进行系统维护或是维护数据时,可能需要改变表空间的状态。一般情况下,由特权用户或dba来操作。1、使表空间脱机 alter tablespace 表空间名 offline ; 2、使表空间联机 alter tablespace 表空间名 online ; 3、只读表空间 当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update , delete , insert 操作,那么可以将表空间修改为只读 alter tablespace 表空间名 read only ; alter tablespace 表空间名 read write ; drop tablespace '表空间' including contents and datafiles ; contents(所有对象)。

1、 查询表空间的所有表: select * from all_tables where tablespace_name =’表空间名’

2、扩充表空间

A、增加数据文件:alter tablespace sp01 add datafile ‘d:\\test\\sp01.dbf’ size 20M; B、修改数据文件大小:

ALTER DATABASE DATAFILE 'E:\\ORADATA\\ORCL\\EXAMPLE02.DBF' RESIZE 40M ;

C、设置文件自动增长:alter DATABASE DATAFILE ‘d:\\test\\sp01.dbf’ autoextend on next 10m maxsize 500m ;

3、SYSTEM 是系统表空间,系统表空间不能设置成只读。

4、移动数据文件:有时,如果你的数据文件所在的磁盘损坏时,该数据文件将

不能再使用,为了能够重新使用,需要将这些文件的副本移动到其它的磁盘,然后恢复。

下面以移动数据文件sp001.dbf为例来说明:

1)、确定数据文件所在的表空间: select tablespace_name from dba_data_files where file_name =’d:\\test\\sp001.dbf’ ; 2)、使表空间脱机:确保数据文件的一致性,将表空间转变为offline的状态:alter tablespace sp001 offline ;

3)、使用命令移动数据文件到指定的目标位置:host move

d:\\test\\sp001.dbf c:\\test\\sp001.dbf (该语句并不能在sqlplus中执行,只有表空间脱机的情况下,表空间的文件才能移动)。

4)、执行alter tablespace 命令:在物理上移动了数据后,还必须执行 alter tablespace 命令对数据库文件进行逻辑修改: alter tablespace sp001 rename datafile ‘d:\\sp001.dbf’ to ‘c:\\sp001.dbf’ ; 5)、在移动了数据文件后,为了使用户可以访问该表空间,必须将其转变为online 状态:

Alter tablespace sp001 online ;

5、显示表空间信息:

Select tablespace_name from dba_tablespaces ; 6、显示表空间所包含的数据文件:

Select file_name ,bytes from dba_data_files where tablespace_name =’表空间名’ ;

7、其它表空间

除了最常用的数据表空间外,还有其它类型的表空间:

1、索引表空间 ; 2、undo表空间;3、临时表空间;4、非标准块表空间。

6.4 约束

在oracle中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现,在这三种方法中,因为约束易于维护,并数据且具有最好的性能,所以作为维护数据完整性的首选。

在oracle中,约束包括:not null、unique、primary key 、foreign key 和 check 五种。

Create table goods(goodsid char(8) primary key, goodsName varchar2(30), unitprice number(10,2) check (unitprice >0), category varchar2(8) , provider varchar2(30) ) ; (主键名称很稀奇古怪)

Create table customer( customerid char(8) primary key , name varchar2(30) not null , address varchar2(50) , email varchar(50) unique , sex char(2) default '男' check (sex in ('男','女') ) ,cardid char(18) ) ;

Create table purchase (customerid char(8) references customer( customerid), goodsid char(8) references

goods(goodsid), nums number(10) check (nums between 1 and 30)) ; 1、维护约束

Alter table goods modify goodsName not null ; Alter table customer add constraint card_unique unique(cardid) ;

Alter table customer add constraint address_check check(address in ('东城','西城')) ;

Alter table customer drop constraint address_check ; 在删除主键时,必须带上cascade 选项:alter table 表名 drop primary key cascade ; 2、显示约束信息

1)、select

constraint_name ,constraint_type ,status,validated from user_constraints where table_name =’表名’ ;

2)、select column_name,postion from user_cons_columns where constraint_name =’约束名’;

3、列级定义

列级定义是在定义列的同时定义约束。如在dept 表定义主键约束 :create table dept( dept_id number(2) constraint pk_dept primary key ); 4、表级定义

表级定义是指在定义了所有列后,再定义约束。这里需要注意:not null约束只能在列级上定义。Create table employee2 ( emp_id number(4) , name varchar2(15) ,dept_id number(2) , constraint pk_employee primary key (emp_id) , constraint fk_dept foreign key (dept_id) references dept( dept_id)) ;

6.5 索引

1、 单列索引:基于单个列所建的索引 ,create index 索引名 on 表名(列名) 。

2、 复合索引:基于两列或多列 的索引。 3、 使用原则:1)、在大表上建立索引才有意义;2)、在where子句或是连接条件上的列建立索引;3)、索引的层次不超过4层。 4、 索引的缺点:1)、系统要占用1.2倍的硬盘和内存空间来保存索引;2)、更新数据的时候,系统需要有额外的时间对索引也进行更新,维护数据的一致性,大量的索引在进行插入、修改和删除操作时比没有索引花费更多的系统时间。

5、 在以下字段上建立索引是不当的:1)、很少用的字段;2)、逻辑性的字段。如男或女(是或否)。提高查询效率以消耗一定的系统资源为代价的。 6、 按照数据存储方式,可以分为B* 树,反向索引、位图索引;B*树索引建立在重复值很少的列上,而位图索引则建立在重复值很多,不同值相对固定的列上。

7、 显示表的索引:

dba_index, user_indexs ,user_ind_columns 。

select index_name ,index_type from user_indexes where table_name =’表名’;

Select table_name ,column_name from user_ind_columns where index_name =’IND_ENAME’; 6.6 角色 1、预定义角色

预定义角色是指oracle所提供的角色(数据库中已经定义好的角色),每种角色都用于执行一些特定的管理任务,下面我们介绍常用的预定义角色connect,resource,dba。 1)、connect角色

connect角色具有一般开发人员需要的大部分权限,当建立了一个用户后,多数情况下,只要给用户授予connect和resource角色就够了,connect角色具有以下权限:alter session ,create cluster ,create database link , create session ,create table ,create view ,create sequence 。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库oracle数据库自学文档整理资料,详细!!!(5)在线全文阅读。

oracle数据库自学文档整理资料,详细!!!(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/466799.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: