大型数据库技术实验指导书08本科资料Word文件下载.docx
《大型数据库技术实验指导书08本科资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《大型数据库技术实验指导书08本科资料Word文件下载.docx(84页珍藏版)》请在冰点文库上搜索。
![大型数据库技术实验指导书08本科资料Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/b5510a8f-6a93-42e4-b256-2499d79e3f57/b5510a8f-6a93-42e4-b256-2499d79e3f571.gif)
实验一Oracle的安装与配置5
实验二OracleSQL*PLUS环境与查询8
实验三PL/SQL编程19
实验四oracle对象管理及使用23
实验五oracle安全管理及备份恢复28
附录:
员工医疗保险系统表21
实验一Oracle的安装与配置
一、实验目的及要求
掌握Oracle的基本安装方法。
掌握Oracle10g的网络配置。
能够使用DBCA创建数据库。
二、实验主要内容
1、Oracle10g的安装。
2、Oracle10g的网络配置。
3、使用DBCA创建数据库。
三、实验仪器设备
在局域网环境下,有一台服务器和若干台客户机。
服务器成功安装Oracle10g数据库服务器(企业版),客户机成功安装Oracle10g客户端软件,网络服务配置正确,数据库和客户端正常工作。
四、实验步骤
1、Oracle10g的安装
(1)打开安装程序后,选择Oracle10g要安装的目录,输入数据库名及数据库口令。
(2)检查安装Oracle前的先决条件,如果失败的项继续点重试检查或手动检查。
(3)查看安装Oracle10g时系统反馈的信息包括系统磁盘空间是否够用是否有旧版本的残留,一切条件符合继续点安装。
(4)安装程序已大致安装结束,下面点口令管理,修改数据库基本帐户口令(可选)。
(5)此是最后一个步骤标志着安装程序已经安装完成,一些重要的URL地址要记住,以便日后之需,点击退出。
2、Oracle10g的网络配置
配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络配置助手(NetConfigurationAssistant)里完成(强烈建议在图形化的工具下完成Oracle服务端或客户端的配置)。
(1)Oracle监听器配置(LISTENER)
注意:
如果正常安装了数据库,又没有人为地结束相关进程,此步操作可省。
选择Oracle-OraDb10g_home1配置和移植工具NetConfigurationAssistant。
在随后出现的窗口中选择“监听程序配置”,默认新加的监听器名称是LISTENER(该名称也可以由任意合法字符命名)。
选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。
在出现的网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;
如果主机作为服务端并需要通过网络连接,建议输入IP地址。
此处,由于网络上的IP地址需要重新配置,所以我输入的是主机名319-200,请同学们在建立客户端连接的时候注意与此保持一致),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。
输入全局数据库名,如test。
注意这里的全局数据库名与数据库SID有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器,如这里可以输入myoracle.192.168.1.5。
Oracle主目录可以不填写,输入SID,如myoracle。
至此,Oracle服务端监听器配置已经完成。
(2)本地服务名配置(Tnsnames)
本地服务名是基于Oracle客户端的网络配置,所以,如果客户端需要连接数据库服务器进行操作,则需要配置该客户端。
此处使用OracleNetConfigurationAssistant配置本地服务名。
在随后出现的窗口中选择“本地Net服务名配置”,单击下一步。
在“选择要做的工作”一栏选择“添加”,单击下一步。
在服务名中输入
(1)中配置的服务名,单击下一步。
选中TCP/IP(Internet协议),点击下一步。
输入主机名与端口号。
注意这里的主机名与端口号必须与数据库服务器端监听器配置的主机名和端口号相同。
点击下一步。
如果数据库服务器端相关服务启动了,可以点击“是,进行测试”,下一步,单击“更改登陆”输入相应的用户名和密码,进行连接测试。
如果这里测试连接不成功,也不要紧,先点完成按钮结束配置。
(3)连接数据库服务器
启动服务器端监听器与数据库服务
Windows下,启动监听器:
C:
lsnrctlstart
启动Oracle实例服务:
oradim–startup–sidmyoracle
关闭Oracle实例服务:
oradim–shutdown–sidmyoracle
以上服务必须同时启动,客户端才能连接数据库。
由于默认配置的监听器名称是Listener,上述命令可以正常启动监听器。
测试连接数据库服务器
测试的方法多种多样,可以在上面配置本地服务名时进行测试,也可以是第三方客户端工具,如PL/SQLDeveloper,最方便的是用Oracle自带的sqlplus工具,以下利用sqlplus进行测试:
sqlplus/nolog
SQL>
connsystem@test
已连接。
3、使用DBCA创建数据库
限于机房的安装环境,请同学们课后在自己的机器上实现此操作。
(1)选择开始菜单中的DatabaseConfigurationAssistant(DBCA),单击下一步。
(2)选择创建数据库,单击下一步。
(3)“数据库模板”窗口,单击常规用途模板,然后单击下一步。
(4)输入全局数据库名和SID,保持configuretheDatabasewithEnterpriseManager被选中。
(5)“数据库连接选项”窗口,选择在缺省情况下您需要您的数据库工作的模式。
单击未用模式或分享服务器模式并单击下一步。
(6)“初始化参数”窗口的字符集选项卡上,单击使用Unicode(AL32UTF8)。
(7)从“数据库存储器”窗口,单击下一步。
(8)“创建选项”窗口,单击完成。
(9)从“摘要”窗口,单击确定来启动创建数据库。
(10)当数据库创建过程完成时,单击完成。
五、拓展题
使用命令方式创建数据库
实验二OracleSQL*PLUS环境与查询
一.实验目的及要求
1.熟悉Oracle的基本知识。
2.熟悉Oracle的命令操作环境SQL*PLUS及常用命令。
3.熟悉并掌握oracle常用的查询语句。
1、OracleSQL*PLUS环境及常用命令。
2、Oracle查询。
1.SQL*Plus的启动
当登录到操作系统后,有三种方法启动SQL*Plus。
1)SQLPLUS
(或SQLPLUSW,下同)
将看到如下的信息:
SQL*Plus:
Release9.0.1.0.1-Productionon星期二9月1314:
27:
512005
(c)Copyright2001OracleCorporation.Allrightsreserved.
请输入用户名:
输入你的用户名字并按回车。
SQL*Plus将提示:
请输入口令:
输入你的密码并按回车。
那么,将看到SQL*Plus的提示符:
例如:
SQLPLUS
EnterUsername:
scott
EnterPassword:
tiger
2)SQLPLUSUsername
再提示你输入密码。
SQLPLUSscott
tiger
3)SQLPLUSusername/password
SQLPLUSscott/tiger
4)断开与数据库的连接
SQL>
DISCONNECT
5)退出SQL*Plus
EXIT
或:
Quit
2.SQL命令
SQL命令包括数据定义语言(如Create、Alter等)和数据操作语言(SelectInsertUpdateDelete等),这些都可在SQL*Plus中使用。
如:
SELECTEMPNO,ENAME,JOB,SAL
2FROMEMPWHERESAL<
2500;
3.SQL*Plus命令
1)列出缓冲区的内容:
LIST
SQL*Plus显示当前缓冲区中的SQL命令(注意:
不缓存SQLPlus命令):
1SELECTEMPNO,ENAME,JOB,SAL
2500;
2)编辑当前行
如果上面的例子错误的输入为:
SELECTEPNO,ENAME,JOB,SAL
在屏幕上显示:
*
ERRORatline1:
ORA-0904:
invalidcolumnname
分析错误可以发现EMPNO错为EPNO。
则用CHANGE命令修改编辑当前行。
CHANGE/EPNO/EMPNO
修改的行在屏幕上显示:
1*SELECTEMPNO,ENAME,JOB,SAL
再用RUN命令运行当前命令。
RUN(或/)
SQL*PLUS列出其命令然后运行它。
3)增加一行
在当前行之后插入一新行,使用INPUT命令。
例如对上面例子增加第3行到该SQL命令中。
形式如下:
INPUT
3
接着可进入新行,然后按ENTER键,SQL*PLUS再次提示新行:
3ORDERBYSAL
4
按ENTER键,表示不进入任何行,然后用RUN检验和重新运行查询。
4)在一行上添加一原文
用APPEND命令,将一原文加到缓冲区中当前行的末端:
3*ORDERBYSAL
APPENDDESC
3*ORDERBYSALDESC
使用RUN检验和重新运行查询。
5)删除一行
●用LIST命令列出要删除的行。
●用DEL命令删除。
DEL
6)用系统编辑程序编辑命令
在SQL*PLUS中运行操作系统缺省的文本编辑程序(EDIT),命令形式为:
EDIT
EDIT将缓冲区中的内容装入系统缺省的文本编辑器,然后用文本编辑器的命令编辑文本。
完成后保存编辑的文本,然后退出。
该文本保存到当前的缓冲区。
7)保存SAVE命令
SAVE文件名
然后用SQVE保存到EMPINFO文件中:
SAVEempinfo
Createdfileempinfo
8)运行命令文件
可用命令START文件名或者@文件名的命令格式。
如上例:
STARTEMPINFO
或SQL>
@EMPINFO
9)清缓冲区
CLEARBUFFER
10)DESCRIBE列出表的结构
DESCEMP
Name
Null?
Type
EMPNO
NOTNULL
NUMBER(4)
ENAME
VARCHAR2(10)
JOB
MGR
HIREDATE
DATE
SAL
NUMBER(7,2)
COMM
DEPTNO
NUMBER
(2)
4.Oracle查询
1.显示EMP表中所有的部门号、职工名称和管理者号码:
SELECTDEPTNO,ENAME,MGR
FROMEMP;
----------------
-----------------
--------------
20
SMITH
7902
30
ALLEN
7698
WARD
JONES
7839
MARTIN
BLAKE
10
CLARK
SCOTT
7566
KING
TURNER
ADAMS
7788
JAMES
FORD
MILLER
7782
2.算术运算符在SQL中的使用
SELECTENAME,SAL+250*12FROMEMP;
3.连字符的使用
把职工号和职工名字连接起来,如下:
SELECTEMPNO||ENAMEEMPLOYEEFROMEMP;
把职工号和职工名字中间用‘-’连接起来,并输出‘WORKSINDEPARTMENT’,如下:
SELECTEMPNO||’-‘||ENAMEEMPLOYEE,‘WORKSINDEPARTMENT’,DEPTNO
4.禁止重复
如果列举出EMP表中所有部门号:
Selectdeptnofromemp;
从上表中可以看出部门号之间存在着许多的相同的,可以用DISTINCT子句来消除重复的。
SELECTDISTINCTdeptnofromemp;
---------------
5.排序
按单个字段排序,如按照ENAME排序,
SELECTENAME,JOB,SAL*12,DEPTNO
FROMEMP
ORDERBYENAME;
SAL*12
-------------------------
CLERK
13200
ALLEM
SALESMAN
19200
MANAGER
34200
29400
ANALYST
36000
11400
35700
PRESIDENT
60000
15000
15600
9600
18000
按多个字段排序:
如按部门号升序,按工资降序排序
SELECTDEPTNO,JOB,ENAME
ORDERBYDEPTNO,SALDESC;
6.带条件的查询
1)查询工作是CLERK的所有职工的姓名,职工号和部门号
SELECTENAME,EMPNO,JOB,DEPTNO
WHEREJOB=‘CLERK’;
7369
7876
7900
7934
2)从DEPT表中查询出部门号大于20的部门名称
SELECTDNAME,DEPTNO
FROMDEPT
WHEREDEPTNO>
20;
DNAME
SALES
OPERATIONS
40
3)复合条件查询
查询工作是MANAGER并且工资大于1500,或者工作是SALESMAN的职工信息:
SELECTEMPNO,ENAME,JOB,SAL,DEPTNO
WHERESAL>
1500ANDJOB=‘MANAGER’ORJOB=‘SALESMAN’;
------------------
7499
1600.00
7521
1250.00
2975.00
7654
2850.00
2450.00
7844
1500.00
7.操作符的应用
1)BETWEEN的应用
查询工资在1000到2000之间的职工名字和工资信息。
SELECTENAME,SAL
WHERESALBETWEEN1000AND2000;
----------