oracle结课报告.docx
- 文档编号:29052203
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:41
- 大小:2.13MB
oracle结课报告.docx
《oracle结课报告.docx》由会员分享,可在线阅读,更多相关《oracle结课报告.docx(41页珍藏版)》请在冰豆网上搜索。
oracle结课报告
Oracle数据库课程
报告
院系软件学院
专业软件开发与测试
班级09210A03
学生姓名王贵鹏
学号0921040120
任课教师蔡兴旺
2012年5月14日
1、为users表空间添加一个数据文件,文件名为users03.dbf,大小为50MB
答:
ALTERTABLESPACEUSERSADDDATAFILE
'D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\users03.dbf'SIZE50MB;
2、为EXAMPLE表空间添加一个数据文件,文件名为example02.dbf,大小为20MB
答:
ALTERTABLESPACEEXAMPLEADDDATAFILE
'D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\example02.dbf'SIZE20MB;
3、将表空间USERS中的数据文件USERS03.DBF更名为userdata04.dbf,将表空间EXAMPLE中的数据文件example03.dbf更名为example04.dbf
答:
ALTERTABLESPACEUSERSRENAMEDATAFILE
'D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF',
'D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\userdata04.dbf',
ALTERTABLESPACEEXAMPLERENAMEDATAFILE
'D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\example03.dbf',
'D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\example04.dbf',
4、为数据库添加一个重做日志文件组,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5MB。
答:
ALTERDATABASEADDLOGFILEGROUP4
('D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04a.LOG',
'D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04b.LOG')SIZE5MB;
5、将数据库设置为归档模式,并采用自动归档方式。
答:
使用ALTERDATABASEARCHIVELOG语句将数据库设置为归档模式。
ALTERDATABASEARCHIVELOG;
自动归档方式的设置
启动归档进程
ALTERSYSTEMARCHIVELOGSTART;
关闭归档进程
ALTERSYSTEMARCHIVELOGSTOP;
6、使用SQL命令创建一个本地管理方式下自动分区管理的表空间USERTBS1,其对应的数据文件大小为20MB
答:
CREATETABLESPACEUSERTBS1DATAFILE
'D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERTBS1_1.DBF'SIZE20MB;
7、修改USERTBS1表空间的大小,将该表空间的数据文件改为自动扩展方式,最大值为100MB
答:
ALTERDATABASEDATAFILE
'D:
\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERTBS1_1.DBF'
AUTOEXTENDONMAXSIZE100M;
8、使用SQL命令创建一个本地管理方式下的临时表空间TEMPTBS,并将该表空间作为当前数据库实例的默认临时表空间。
答:
创建本地管理方式下的临时表空间TEMPTBS
CREATETEMPORARYTABLESPACETEMPTBS
TEMPFILE'D:
\ORACLE\PRODUCT\10.2.0\
ORADATA\ORCL\TEMPTBS_1.DBF'
设置当前数据库的默认临时表空间
ALTERDATABASEDEFAULTTEMPORARY
TABLESPACETEMPTBS;
9、使用SQL命令对USERTBS1表空间进行联机和脱机状态转换。
答:
ALTERTABLESPACEUSERTBS1DATAFILE
ONLINE|OFFLINE;
10、删除表空间USERTBS2,同时删除该表空间的内容以及对应的操作系统文件。
答:
DROPTABLESPACEUSERTBS2
INCLUDINGCONTENTSANDDATAFILES;
11、将数据库服务器设置为共享服务器模式(插入图片说明)
答:
12、将数据库服务器设置为专用服务器模式(插入图片说明)
13、利用OEM进行数据库的关闭与启动操作(插入图片说明)
答:
利用OEM进行数据库的关闭操作
利用OEM进行数据库的启动操作
14、利用OEM创建class、student两个表(插入图片说明)
列名
数据类型
约束
备注
CNO
NUMBER
(2)
主键
班号
CNAME
VARCHAR2(20)
班名
NUM
NUMBER(3)
人数
列名
数据类型
约束
备注
SNO
NUMBER(4)
主键
学号
SNAME
VARCHAR2(10)
唯一
姓名
SAGE
NUMBER
年龄
SEX
CHAR
(2)
性别
CHO
NUMBER
(2)
班号
15、创建一个口令认证的数据库用户usera_exer,口令为usera,默认表空间为users,配额为10MB,初始账户为锁定状态。
答:
CREATEUSERusera_exerIDENTIFIEDBYusera
DEFAULTTABLESPACEUSERSQUOTA10MBONUSERSACCOUNTLOCK;
16、为usera_exer用户授予CREATESESSION权限、scott.emp的SELECT权限和UPDATE权限,同时允许该用户将获得的权限授予其它用户。
答:
为usera_exer用户授予CREATESESSION权限
GRANTCREATESESSIONTOusera_exer;
scott.emp的SELECT权限和UPDATE权限,同时允许该用户将获得的权限授予其它用户
GRANTSELECT,UPDATEONscott.empWITHGRANTOPTION;
17、禁止用户usera_exer将获得的CREATESESSION权限再授予其它用户。
答:
REVOKECREATESESSIONFROMusera_exer;
GRANTCREATESESSION TOusera_exer;
18、创建角色rolea和roleb,将CREATETABLE权限、scott.emp的INSERT权限和DELETE权限授予rolea;将CONNECT、RESOURCE角色授予roleb。
答:
CREATEROLErolea;
CREATEROLEroleb;
GRANTCREATETABLE,INSERT,DELETE,CREATEVIEWTOrolea;
GRANTRESOURCE,CONNECTTO roleb;
19、将角色rolea,roleb授予用户usera_exer。
答:
GRANTrolea,rolebTOusera_exer;
20、屏蔽用户user_exer的roleb角色。
答:
ALTERUSERuser_exerDEFAULTROLEroleb;
21、在oem中,为用户usera_exer创建一个概要文件,限定该用户的最长会话时间为30分钟,如果连续10分钟空闲,则结束会话。
同时限定其口令有效期为20天,连续登录4次失败后将锁定账户,10天后自动解锁。
(插入图片说明)
答:
CREATEPROFILEusera_exerLIMIT
SESSIONS_PER_USER1CONNECT_TIME30
IDLE_TIME10
PASSWORD_LIFE_TIME20
FAILED_LOGIN_ATTEMPTS4
PASSWORD_LOCK_TIME10;
22、在OEM中,对数据库进行完全备份(插入图片说明)。
答:
23、在OEM中,对表空间USERS进行备份。
(插入图片说明)
24、运行P323页脚本文件,完成P324页
(1)
(2)小题,要求写出相对应有SQL语句。
答:
(1)
SQL>createtablebook(
2nochar(8)primarykey,
3titlevarchar2(50)notnull,
4authorvarchar2(20),
5publishvarchar(20),
6pub_datedate,
7pricenumber(6,2));
表已创建。
SQL>createtablereader(
2rnochar(6)primarykey,
3rnamevarchar2(20)notnull
4);
表已创建。
SQL>createtableborrow(
2nochar(8),
3rnochar(6),
4borrow_datedatedefaultsysdate,
5primarykey(no,rno),
6foreignkey(no)referencesbook(no),
7foreignkey(rno)referencesreader(rno)
8);
表已创建。
SQL>INSERTINTOBOOKVALUES('100001','Oracle9i数据库系统管理','李代平','冶金工业出版社',TO_DATE('2003-01-01','YYYY-MM-DD'),38);
SQL>INSERTINTOBOOKVALUES('100002','Oracle9i中文版入门与提高','赵松涛',
'人民邮电出版社',TO_DATE('2002-07-01','YYYY-MM-DD'),35);
SQL>INSERTINTOBOOKVALUES('100003','Oracle9i开发指南:
PL/SQL程序设计',
'JoanCasteel','电子工业出版社',TO_DATE('2004-04-03','YYYY-MM-DD'),49);
SQL>INSERTINTOBOOKVALUES('100004','数据库原理辅助与提高','盛定宇',
'电子工业出版社',TO_DATE('2004-03-01','YYYY-MM-DD'),34);
SQL>INSERTINTOBOOKVALUES('100005','Oracle9i中文版实用培训教程','赵伯山',
'电子工业出版社',TO_DATE('2002-01-01','YYYY-MM-DD'),21);
SQL>INSERTINTOBOOKVALUES('100006','Oracle8实用教程','翁正科等',
'电子工业出版社',TO_DATE('2003-07-08','YYYY-MM-DD'),38);
SQL>INSERTINTOREADERVALUES('200001','张三');
SQL>INSERTINTOREADERVALUES('200002','李凤');
SQL>INSERTINTOREADERVALUES('200003','孟欣');
SQL>INSERTINTOREADERVALUES('200004','谢非');
SQL>INSERTINTOREADERVALUES('200005','刘英');
SQL>INSERTINTOBORROWVALUES('100001','200001',
TO_DATE('2004-08-1010:
06:
14','YYYY-MM-DDHH:
MI:
SS'));
SQL>INSERTINTOBORROWVALUES('100002','200002',
TO_DATE('2004-08-1010:
06:
27','YYYY-MM-DDHH:
MI:
SS'));
SQL>INSERTINTOBORROWVALUES('100003','200003',
TO_DATE('2004-08-1010:
06:
36','YYYY-MM-DDHH:
MI:
SS'));
SQL>INSERTINTOBORROWVALUES('100004','200004',
TO_DATE('2004-08-1010:
06:
48','YYYY-MM-DDHH:
MI:
SS'));
SQL>INSERTINTOBORROWVALUES('100005','200005',
TO_DATE('2004-08-1010:
06:
58','YYYY-MM-DDHH:
MI:
SS'));
SQL>SELECTNO,TITLE,AUTHORFROMBOOKWHEREPUBLISH='电子工业出版社';
NOTITLEAUTHOR
------------------------------------------------------------------------------
100003Oracle9i开发指南:
PL/SQL程序设计JoanCasteel
100004数据库原理辅助与提高盛定宇
100005Oracle9i中文版实用培训教程赵伯山
100006Oracle8实用教程翁正科等
SQL>UPDATEBOOKSETPRICE=29WHERENO='10007';
SQL>INSERTINTOBOOKVALUES('100007','Java网络编成','李程等',
2'电子工业出版社',TO_DATE('2000-08-01','YYYY-MM-DD'),35);
SQL>UPDATEBOOKSETPRICE=29WHERENO='100007';
SQL>DELETEFROMBOOKWHERENO='100007';
SQL>connsystem/aaaassysdba
已连接。
SQL>alteruserscottidentifiedbytigeraccountunlock;
SQL>connscott/tiger;
SQL>select*fromemp;
INSERTINTOBOOKVALUES('100001','冶金工业出版社','李代平',
'冶金工业出版社',TO_DATE('2003-01-01','YYYY-MM-DD'),38);
INSERTINTOBOOKVALUES('100002','Oracle9i中文版入门与提高','赵松涛',
'人民邮电出版社',TO_DATE('2002-07-01','YYYY-MM-DD'),35);
INSERTINTOBOOKVALUES('100003','Oracle9i开发指南:
PL/SQL程序设计',
'JoanCasteel','电子工业出版社',TO_DATE('2004-04-03','YYYY-MM-DD'),49);
INSERTINTOBOOKVALUES('100004','数据库原理辅助与提高','盛定宇',
'电子工业出版社',TO_DATE('2004-03-01','YYYY-MM-DD'),34);
INSERTINTOBOOKVALUES('100005','Oracle9i中文版实用培训教程','赵伯山',
'电子工业出版社',TO_DATE('2002-01-01','YYYY-MM-DD'),21);
INSERTINTOBOOKVALUES('100006','Oracle8实用教程','翁正科等',
'电子工业出版社',TO_DATE('2003-07-08','YYYY-MM-DD'),38);
INSERTINTOREADERVALUES('200001','张三');
INSERTINTOREADERVALUES('200002','李凤');
INSERTINTOREADERVALUES('200003','孟欣');
INSERTINTOREADERVALUES('200004','谢非');
INSERTINTOREADERVALUES('200005','刘英');
INSERTINTOBORROWVALUES('100001','200001',
TO_DATE('2004-08-1010:
06:
14','YYYY-MM-DDHH:
MI:
SS'));
INSERTINTOBORROWVALUES('100002','200002',
TO_DATE('2004-08-1010:
06:
27','YYYY-MM-DDHH:
MI:
SS'));
INSERTINTOBORROWVALUES('100003','200003',
TO_DATE('2004-08-1010:
06:
36','YYYY-MM-DDHH:
MI:
SS'));
INSERTINTOBORROWVALUES('100004','200004',
TO_DATE('2004-08-1010:
06:
48','YYYY-MM-DDHH:
MI:
SS'));
INSERTINTOBORROWVALUES('100005','200005',
TO_DATE('2004-08-1010:
06:
58','YYYY-MM-DDHH:
MI:
SS'));
(2)
①SELECTNO,TITLEFROMBOOK;
②SELECTNO,TITLE,AUTHORFROMBOOKWHEREPUBLISH='电子工业出版社'
③SELECT*FROMBOOKWHEREPRICE>40;
④SELECTPUBLISH,COUNT(*)FROMBOOKGROUPBYPUBLISH;
⑤SELECT*FROMBOOKWHEREAUTHORLIKE'赵%'
⑥SELECTRNAME,TITLE,BORROW_DATEFROMBOOK,READER,BORROWWHEREBOOK.NO=BORROW.NOANDREADER.RNO=BORROW.RNO;
⑦INSERTINTOBOOKVALUES('10000007','Java网络编成','李程等',
'电子工业出版社',TO_DATE('2000-08-01','YYYY-MM-DD'),35);
⑧UPDATEBOOKSETPRICE=29WHERENO='100007';
⑨DELETEFROMBOOKWHERENO='10000007'
⑩SELECTBOOK.NO,TITLE,RNAMEFROMBOOK,READER,BORROWWHEREBOOK.NO=BORROW.NOANDREADER.RNO=BORROW.RNO;
25、完成P324页,2.根据oracle数据库scott模式下的emp表和dept表,完成下列操作
(1)~(65)要求写出每小题相对应的sql语句。
答:
1查询20号部门的所有员工信息。
Select*fromempwheredeptno=20;
2查询所有工种为CLERK的员工的员工号、员工名和部门号。
Selectempno,ename,deptnofromempwherejob=’CLERK’;
3查询奖金(COMM)高于公子(SAL)的员工信息。
Select*fromempwherecomm>sal;
4查询奖金高于工资的20%的员工信息。
Select*fromempwherecomm.>sal*0.2;
5查询10号部门中工种为Manager和20号部门中工种为CLERK的员工信息。
Select*fromempwhere(job=’Manager’anddeptno=10)or(job=’CLERK’anddeptno=20)
6查询所有工种不是Manager和CLERK,且工资大于或等于2000的员工的详细信息。
Select*fromempwhere(job!
='MANAGER'orjob='CLERK')andsal>=2000
7查询有奖金的员工的不同工种。
Selectjobfromempwherecomm.>0groupbyjob
8查询所有员工工资与奖金的和。
Selectename,sal+nvl(comm,0)fromemp
9查询没有奖金或奖金低于100的员工信息。
Select*fromempwhere(commisnull)orcomm<100
10查询各月倒数第二天入职的员工信息。
selectename,hiredatefromempwherelast_day(hiredate)-hiredate=1
11查询工龄大于或等于10年的员工信息。
select*fromempwheremonths_between(sysdate,hiredate)/25/12>=1
12查询员工信息,要求以首字母大写的方式显示所有员工的姓名。
selectinitcap(ename)fromemp
13查询员工名正好为6个字符的员工的信息。
selectenamefromempwherelength(ename)=6
14查询员工名字中不包含字母“S”的员工。
Select*fromempwhereenamenotlike'%S%'
15查询员工姓名的第二个字母为“M”的员工信息。
Select*fromempwhereenamelike'_M%'
16查询所有员工姓名的前三个字符
Selectsubstr(ename,1,3)fromemp;
17查询所有员工的姓名,如果包含字母s,则用“S”代替。
Selectreplace(ename,'s','S')fromemp
18查询员工的姓名个和入职日期,并按入职日期从先
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 报告