




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四五、实验方法和步骤:1.向数据库的USERS表空间添加一个大小为10M的数据文件userdata02.dbf。Alter tablespace users add datafile c:oracleoradataorcluserdata02.dbf size 10M;2.向数据库的TEMP表空间添加一个大小为5N的临时数据文件temp02.dbf。Alter tablespace temp add tempfilec:oracleoradataorcltemp02.dbf size 5M;3.修改userdata02.dbf为自动增长方式,每次增长512k,没有限制大小。Alter database datafile c:oracleoradataorcluserdata02.dbf autoextend on next 512k maxsize unlimited;4.取消userdata02.dbf的自动增长方式。Alter database datafile c:oracleoradataorcluserdata02.dbf autoextend off;5.将userdata02.dbf大小设置为8MB。Alter database datafile c:oracleoradataorcluserdata02.dbf resize 8M;6.将userdata02.dbf设置为脱机。Alter database datafile c:oracleoradataorcluserdata02.dbf offline;7.将userdata02设置为联机。Alter database datafile c:oracleoradataorcluserdata02.dbf online;8.改变userdata02的名称。(1)alter tablespace users offline;(2)将userdata02.dbf重命名为userdata002.dbf;(3)alter tablesace users rename datafile c:oracleoradataorcluserdata02.dbf, c:oracleoradataorcluserdata002.dbf;(4)alter tablespace users online;9.查询数据文件信息(包括数据文件动态信息;数据文件详细信息;临时数据文件信息)。(1)select name,file#,status,checkpoint_change# from V$DATAFILE;(2)select tablespace_name,bytes,autoextensible,file_name from DBA_DATA_FILES;(3)select tablespace_name,file_name,autoextensible from DBA_TEMP_FILES;实验五 表空间、段、区、块的管理五、实验方法和步骤:1.编辑一个脚本文件TEST,脚本文件内容为创建一个永久性的Student表空间,区自动扩展,段采用手动管理方式,并执行脚本文件。Create tablespace student datafile c:oracleoradataora404orcltbs1_1.dbf2.为数据库的student表空间添加一个大小为10MB的新的数据文件。Alter tablespace student add datafile c:oracleoradataora404orcltbs1_2.dbf size 10M3.创建一个临时表空间mytemp,并为临时表空间添加一个大小为10MB的临时数据文件。Create temporary tablespace mytemp tempfile c:oracleoradataora404orcltemp1_1.dbf size 20M extent management local uniform size 16M;Alter tablespace mytemp add tempfile c:oracleoradataora404orltemp1_2.dbf size 10M4.将student表空间新添加的数据文件的大小改为20MB。Alter database datafile c:oracleoradataora404orcltbs1_2.dbf resize 20M5.将studnet表空间设置为offline;再设置为online。Alter tablespace student offline;Alter tablespace student online;6.将student表空间设置为只读状态。Alter tablespace student read only;7.为student表空间创建一个回退段。Create rollback segment student_roll tablespace student;8.删除student表空间及其所有内容。 Drop tablespace student including contents;9.查询表空间基本信息。 Select tablespace_name, extent_management,a llocation_type, contents from DBA_TABLESPACE;10.查询表空间数据文件信息。Select file_name, blocks, tablespace_name from DBA_DATA_FILES;11.统计表空间空闲空间信息。SELECT TABLESAPCE_NAME “TABLESPACE”, FILE_ID, COUNT(*) “PIECES”, MAX(BLOCKS) “MAXIMUM”, MIN(BLOCKS) “MINIMUM”, AVG(BLOCKS) “AVERAGE”, SUM(BLOCKS) “TOTAL” FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME, FILE_ID;12.查询表空间空闲空间大小。SELECT TABLESPACE_NAME, SUM(BYTES) FREE_SPACES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;13.查询scott用户emp表的某个员工元组的物理地址(ROWID)。SELECT ROWID, EMPNO FROM SCOTT.EMP WHERE EMPNO=7369;实验六 模式对象管理基础表五、实验方法和步骤: 1、创建一个表目标:创建一个名为STUDENT的表,该表有ID(学号)、NAME(姓名)、SEX(性别)、COURSE(课程)、SCORE(成绩)字段,并保存在USER01表空间。(1)在SQL*PLUS中执行使用CREATE TABLE语句在某一表空间中创建STUDENTS表,并通过INSERT、SELECT、UPDATE、DELETE语句对表进行操作,各举一例。(2)通过OEM控制台新的表,并查看新表情况。Create table student(Id number primary key,Name varchar2(20),Sex char(1),Course varchar2(20),Score number(5,2) tablespace usersInsert into student(id) values(1);Select id from student;Update student set id=2 where id=1;Delete from student where id=2;2、创建一个临时表目标:创建一个名为TEMP01的事务级别临时表,该表有ID(学号)、NAME(姓名)字段,并保存在temp表空间中。Create global temporary table temp01( id number(2) primary key, name varchar(20) on commit delete rows;3、修改表目标:修改STUDENTS表的存储参数;为表分配新的存储空间;添加一个新的列;设置列为无用状态(UNUSED)。(1)在SQL*PLUS中执行ALTER TABLE语句修改STUDENTS表的存储参数(修改pctfree和pctused分别为20和40)。Alter table student pctfree 20;Alter table student ptused 40;(2)在SQL*PLUS中执行ALTER TABLE语句在STUDENTS表分配大小为400KB的新区。Alter table student allocate extent(size 400k);(3)在SQL*PLUS中执行ALTER TABLE语句在STUDENTS表新增加一个AGE列,列的类型为NUMBER(2)。Alter table student add(age number(2);(4)在SQL*PLUS中执行ALTER TABLE语句在将STUDENTS表中的AGE设置为无用状态。Alter table student set unused(age);4、截断表目标:删除表STUDENTS中的所有记录。(1)在SQL*PLUS中执行TRUNCATE TABLE语句删除STUDENTS表中的所有记录。Truncate table student;(2)在SQL*PLUS中执行SELECT语句查看STUDENTS表中的内容。Select * from student;5、查询ORACLE数据库的模式对象信息目标:使用管理工具(SQL*PLUS或OEM)获得有关数据库模式对象的有关信息。(1)用SCOTT帐户登录SQL*PLUS,显示用户,并通过用户视图USER_TABLES、USER_VIEWS、USER_INDEXS、USER_OBJECTS、USER_TRIGGERS、USER_SEQUENCES等模式对象信息。Show userSelect table_name from user_tables;Select view_name from user_views;Select index_name from user_indexes;Select object_name from user_objects;Select trigger_name from user_triggers;Select sequence_name from user_sequence;(2)使用SCOTT帐户登录数据库,在OME控制台中查看SCOTT用户的各种模式对象信息。6、给表student表的nane列添加一个唯一值约束,并删除该约束Alter table student add constraint p_uk unique(name);Alter table student drop drop constraint p_uk;实验七 模式对象管理视图五、实验方法和步骤: 1、创建基础表BOOKS,包含BOOK_ID,数字型,BOOK_NAME,可变长50位,AUTHOR,可变长20位,PRESS可变长50位,Price数字型,PUBLISH_DATE,日期型;并插入10条数据。Create table books(Book_id number primary key,Book_name varchar2(50) not null,Author varchar2(20),Press varchar2(50),Price number,Publishdate date);2、关系视图(1)建立关系视图V_BOOKS,包含书名、作者、出版社。Create view v_books asSelect book_id 编号, author 作者,press 出版社 from books;(2)查看视图定义。 Select text from user_views where view_name=VW_BOOKS;(3)查看视图内容。 Select * from vw_books;(4)修改视图,增加一个列出版日期。 Create or replace view VW_BOOKS Asselect book_id 编号, author 作者,press 出版社,publishdate 出版日期 from books;(5)向基础表增加一个属性列“价格”,数字型。查看视图的可用性状态。alter table boks add price int;Select object_name,status from user_objects where object_name=VW_BOOKS and object_type=VIEW;(6)重新编译V_BOOKS视图。再查看视图的可用性状态 alter view vw_books compileSelect object_name,status from user_objects where object_name=VW_BOOKS and object_type=VIEW;(7)删除该视图。 drop view vw_books;3、内嵌视图(1)查询价格由高到低处于前三位的书本信息,注意采用内嵌视图的方式实现。 select * from (select book_id,book_name ,price from books order by price desc) where rownumDECLAREX NUMBER(7,2);BEGINSELECT sal INTO x FROM emp WHERE empno = 7788;IF x 50; END LOOP;END;(3)利用WHILE循环向表中插入51-100条记录;DECLARE v_counter BINARY_INTEGER :=1;BEGIN WHILE v_counter100 LOOP INSERT INTO temp_table values(v_counter,loop index); v_counter := v_counter+1; END LOOP;END; (4)利用FOR循环向表中插入101-150条记录;DECLARE v_counter BINARY_INTEGER :=1;BEGIN FOR v_counter IN 101.150 LOOP INSERT INTO temp_table values(v_counter,loop index); END LOOP;END;(5)查看表中的信息。 SLELECT * FROM TEMP_TABL实验十一 游标五、实验方法和步骤: 1声明显式游标声明一个游标用来读取基表EMP中部门号是20且工作为分析员的职工:DECLARECursor c1 ISSELECT ename, sal, hiredate FROM empWHERE deptno = 20 AND job = ANALYST;v_ename VARCHAR2(10);v_sal NUMBER(7,2);v_hiredate date;beginOPEN c1;FETCH c1 INTO v_ename, v_sal, v_hiredate;CLOSE c1;end;2游标的应用(1)利用游标修改数据,如果EMP中部门号是20,工作为分析员的职工工资小于5000,更改为5000:DECLARE CURSOR c1 IS SELECT empno, sal, hiredate, rowid FROM emp WHERE deptno = 20 AND job = ANALYST FOR UPDATE OF sal; emp_record c1%ROWTYPE;BEGINOPEN c1;LOOP FETCH c1 INTO emp_recor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论