非常详细的原版实验报告-Oracle数据库建立

时间:2024-03-31 15:40:24

Oracle数据库管理

实  验  报  告

实验名称:____ Oracle数据库建立_

学    院:_____ 信息工程学院_______

专    业:___ _计算机科学与技术__ _

班    级:_____计科173__ _________

实验日期:__    2020-03-12________

指导教师:________刘勇__________

信息工程学院计算机系

2019-2020-2学期

目  录

一、 实验名称................................................................................................................. 

二、 实验目的................................................................................................................. 

三、 实验内容及要求...................................................................................................... 

四、 实验环境................................................................................................................. 

五、 实验原理................................................................................................................. 

六、 实验步骤................................................................................................................. 

七、 异常原因分析及解决方法........................................................................................ 

八、 总结和体会:.......................................................................................................... 

Oracle数据库的建立

  1. 熟悉数据库初各主要始化参数的含义
  2. 掌握手工创建数据库的方法;
  3. 进一步熟悉SQL plus工具的使用;
  4. 加深理解数据库体系结构和参数信息及其查询方法。
  1. 手工方式建立hys数据库;
  2. 数据库的操作
  3. DBCA和命令两种方式对数据库的参数进行查询和修改
  1. 操作系统:Windows XP以上
  2. 数据库:Oracle 11g windows版(32位/64位)
  3. 客户端工具:SQL plus
  4. 虚拟机:VMWare Workstation V9以上,模拟C/S结构
  1. 实例与数据库

数据库是由基于磁盘的数据文件、控制文件、日志文件、 参数文件和归档日志文件等组成的物理文件集合,它们独立于实例而存在.

实例是管理数据库文件的内存结构和进程,它由共享内 存结构SGA(系统全局区)和一组后台进程组成。实例可 独立于数据库而单独启动.

数据库服务器是指实例及数据库,再加上网络管理、数据库服务以及各种软件工具(比如,sqlplus、OEM等)的总和.

实例用于管理和控制数据库;而数据库为实例提供数据.一个数据库可以被多个实例装载和打开;而一个实例在其生存期内只能装载和打开一个数据库.

2.内存结构

内存组成:代码存储区SGA系统全局区PGA程序全局区UGA用户全局区。

代码存储区:解析后的sql或者PL/SQL代码.

SGA:所有服务进程和后台进程共享.

PGA:每个进程一个私有的内存区域,包含私有数据和控制信息.

UGA:用户会话(session)相关的内容.

内存管理是指维护Oracle 数据库实例内存结构随着数据库变化保持的最优的值,即要管理SGA和实例 PGA内存.可以通过参数配置选择手 工管理还是自动管理内存.Oracle推荐自动内存管理.

3.进程结构

进程是一个具有一定独立功能的程序关于某个数据集 合的一次运行活动,是操作系统进行资源分配和调度 的基本单位。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

Oracle使用多个进程完成特定的任务。进程之间利用 SGA数据和状态的共享,协调同步运行,共同完成任务。

Orcale进程分为用户进程和Oracle进程(进一步分为服务进程和后台进程).

4.存储结构(数据库逻辑和物理结构)

逻辑存储结构是Oracle数据库存储结构的核心内容,对Oracle数据库的所有操作都会涉及逻辑存储结构。逻辑存储结构是从逻辑的角度分析数据库的构成,是对数据存储结构在逻辑概念上的划分。Oracle的逻辑存储结构是一种层次结构,主要 由表空间、段、盘区和数据块 等概念组成.

从物理上讲,一个Oracle数据库是由一系列物理文件组成的.物理文件有:数据文件,控制文件,日志文件,服务器参数文件,密码文件,告警,追踪文件.其中数据文件的作用时为例向操作系统申请磁盘存储空间. 控制文件一般在Oracle系统安装时或创建数据库时自动创建, Oracle实例在启动时必须访问控制文件;事务故障恢复和系统故障恢复必须用日志文件; 服务器参数文件SPFILE(Server parameter File)是二进制文件,用来记录了Oracle数据库的基本参数信息;其它三个都属于oracle系统的辅助文件.

5.网络结构

网络服务支持分布式、分层次的计算环境为 企业提供了多种连接方案:客户/服务器、基于web。网络服务是管理、配置、监控和连接网络的 一组网络组件包括Oracle Net ,监听程序(listener) ,Oralce连接管理器(connection manager),网络工具(net tools),高级安全管理(advanced manager).

Oracle Net是安装在客户端和服务器端 的软件层 • 职责:建立和维护客户应用于服务器之 间的连接,并按照工业标准协议(如 TCP/IP)在他们之间交换写数据.

Oracle Net的分层结构:网络基础层和协议支持层.

网络基础层:这个组件的职责或者说功能就是维持一个网络传输的通道,并且适配底层网络协议.

协议支持层:一个适配层,适 应于多种不同的工业级网络传输协议,类似于应用程序中的接口机制.

监听程序(listener)

监听器位于服务器端,对客户端传入的连接请求进行监听,并且负责对服务端的 连接负荷进行调整.连接建立后,客户端直接与服务器通信,不再需要监听程序的参与.

数据库服务吗就是数据库的逻辑名,他表示一个数据库的存在,通常时它的全局数据库名.但它不同于网络服务名. 为了简化连接字符串的使用,为连接描述符提供 一个别名,就是网络服务名

一: 手工方式建立hys数据库

1.创建相应的文件,来保存相关的数据库信息。

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

2.准备创建数据库脚本

非常详细的原版实验报告-Oracle数据库建立

3.准备初始化的文件inithys.ora。(最好的办法就是直接到以前的安装实例中复制一份ora文件)。

非常详细的原版实验报告-Oracle数据库建立

4.设置环境变量ORACLE_SID

非常详细的原版实验报告-Oracle数据库建立

5.创建密码文件

非常详细的原版实验报告-Oracle数据库建立

6.创建实例名

非常详细的原版实验报告-Oracle数据库建立

7.以nomount方式启动数据库

非常详细的原版实验报告-Oracle数据库建立

8.连接到数据库

非常详细的原版实验报告-Oracle数据库建立

9.启用startup pfile=’初始化文件路径’nomount

非常详细的原版实验报告-Oracle数据库建立

10.调用建库脚本创建数据库

非常详细的原版实验报告-Oracle数据库建立

11.执行catalog.sql脚本创建数据字典, 执行catproc.sql脚本创建包

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

12. 创建spfile

非常详细的原版实验报告-Oracle数据库建立

13.查询所创建数据库

非常详细的原版实验报告-Oracle数据库建立

14.证明数据库存在

非常详细的原版实验报告-Oracle数据库建立

15.手工创建数据库后,还需要手工创建OEM数据库控制台程序,创建过程如下所述

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立非常详细的原版实验报告-Oracle数据库建立

 

:数据库操作

  1. 删除数据库

Drop database,但要先关闭数据库,删除除归档日志文件之外的所有物理文件。非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

 

2.启动与关闭数据库

启动:Startup nomount不加载数据库,启动实例(进程和 内存),读取参数文件;

<还可以有别的选项>比如mount, 在nomount基础上,读控制文件,附加 数据库结构;比如open, 打开数据文件和日志文件;比如force, 强制启动,忽略遇到的问题;比如restrict, 选项启动数据库并把它置入OPEN模式 ,但只给拥有RESTRICTED SESSION权限的用户赋予访问权。

关闭:shutdown<选项> 有normal,immediate,transactional,abort

非常详细的原版实验报告-Oracle数据库建立

3.修改数据库

表空间

非常详细的原版实验报告-Oracle数据库建立

数据文件

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

编辑

非常详细的原版实验报告-Oracle数据库建立

三.DBCA和命令及oem三种方式对数据库的参数进行查询和修改

1.DBCA方式

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

2.oem方式

非常详细的原版实验报告-Oracle数据库建立

查看和设置内存参数SGA,PGA

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

配置自动还原管理

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

查看和设置初始化参数

非常详细的原版实验报告-Oracle数据库建立

 

查看spfile参数(服务器参数二进制文件)

非常详细的原版实验报告-Oracle数据库建立

 

2.命令方式

1.SGA,

使用v$sgastat视图查看SGA统计信息Select * from v$sgastat

非常详细的原版实验报告-Oracle数据库建立

使用v$sgainfo视图查看SGA基本信息Select * from v$sgainfo

非常详细的原版实验报告-Oracle数据库建立

2.初始化参数信息

使用V$parameter视图,查看所有以db开头的初始化信息

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

6.查询scott用户下表dept对应的表空间(dba_tables),及该表空间包含的物理文件(dba_data_files)。

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

dept表对应的段segment(dba_segments),段分配的盘区extent(dba_extents),以及盘区包含的数据块大小。

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

 

 

异常序号:15001

异常内容: 中途数据库突然停止

非常详细的原版实验报告-Oracle数据库建立

原因分析:主机中途停电致使断网.

解决办法:重启就好了.

非常详细的原版实验报告-Oracle数据库建立

异常序号:15002

异常内容:oem无法在浏览器打开

非常详细的原版实验报告-Oracle数据库建立

原因分析:OracleDBconsolehys未启动

非常详细的原版实验报告-Oracle数据库建立

解决办法:首先尝试启动,发现不能启动

非常详细的原版实验报告-Oracle数据库建立

继续尝试在cmd中启动企业管理器(当时忘记截图了,以下为文字记录)

Emctl start dbconsole

接着又继续报错:  Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name

根据提示:我执行 set ORACLE_UNQNAME=hys

然后继续执行Emctl start dbconsole,继续报错

OC4J,configuration,issue. C:\app\Administrator\product\11.2.0\dbhome_1/oc4j/j2ee /OC4J_DBConsole_localhost_hys not found.

根据提示,我找到该文件夹,发现有一个跟他很相似的文件,只是它的不是localhost而是192.168.146.138.而他就是我的ip地址.于是我猜测这个文件就是系统要找的文件,我把对应处的名字改为localhost.

非常详细的原版实验报告-Oracle数据库建立

接下来的操作大同小异

最后再执行set ORACLE_UNQNAME=hys

Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0

Copyright (c) 1996, 2010 Oracle Corporation.  All rights reserved.

https://localhost:5500/em/console/aboutApplication

Starting Oracle Enterprise Manager 11g Database Control ...OracleDBConsolehys服务正在启动 ..............

OracleDBConsolehys 服务已经启动成功。

非常详细的原版实验报告-Oracle数据库建立

非常详细的原版实验报告-Oracle数据库建立

 

 

 

 

 

 

 

异常序号:15003

异常内容:sql语句查询失败

非常详细的原版实验报告-Oracle数据库建立

 

原因:查询了表中没有的属性

解决办法:通过select *检查属性发现display的属性名为display_value.

非常详细的原版实验报告-Oracle数据库建立

总结和体会:

发现错误细心分析,逐渐解决,遇到实在解决不了的难点时,借助老师和互联网很有用.学海无涯,只能慢慢领悟,细细体会.

中午饭没吃在这写博客,看在这么可怜的份上给个赞和关注吧.感谢评论,看见后一定回复!