Oracle数据库管理
实验名称:____ Oracle数据库建立_
学 院:_____ 信息工程学院_______
专 业:___ _计算机科学与技术__ _
班 级:_____计科173__ _________
实验日期:__ 2020-03-12________
指导教师:________刘勇__________
信息工程学院计算机系
2019-2020-2学期
目 录
一、 实验名称.................................................................................................................
二、 实验目的.................................................................................................................
三、 实验内容及要求......................................................................................................
四、 实验环境.................................................................................................................
五、 实验原理.................................................................................................................
六、 实验步骤.................................................................................................................
七、 异常原因分析及解决方法........................................................................................
八、 总结和体会:..........................................................................................................
Oracle数据库的建立
- 熟悉数据库初各主要始化参数的含义
- 掌握手工创建数据库的方法;
- 进一步熟悉SQL plus工具的使用;
- 加深理解数据库体系结构和参数信息及其查询方法。
- 手工方式建立hys数据库;
- 数据库的操作
- DBCA和命令两种方式对数据库的参数进行查询和修改
- 操作系统:Windows XP以上
- 数据库:Oracle 11g windows版(32位/64位)
- 客户端工具:SQL plus
- 虚拟机:VMWare Workstation V9以上,模拟C/S结构
- 实例与数据库
数据库是由基于磁盘的数据文件、控制文件、日志文件、 参数文件和归档日志文件等组成的物理文件集合,它们独立于实例而存在.
实例是管理数据库文件的内存结构和进程,它由共享内 存结构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.创建相应的文件,来保存相关的数据库信息。
2.准备创建数据库脚本
3.准备初始化的文件inithys.ora。(最好的办法就是直接到以前的安装实例中复制一份ora文件)。
4.设置环境变量ORACLE_SID
5.创建密码文件
6.创建实例名
7.以nomount方式启动数据库
8.连接到数据库
9.启用startup pfile=’初始化文件路径’nomount
10.调用建库脚本创建数据库
11.执行catalog.sql脚本创建数据字典, 执行catproc.sql脚本创建包
12. 创建spfile
13.查询所创建数据库
14.证明数据库存在
15.手工创建数据库后,还需要手工创建OEM数据库控制台程序,创建过程如下所述
二:数据库操作
- 删除数据库
Drop database,但要先关闭数据库,删除除归档日志文件之外的所有物理文件。
2.启动与关闭数据库
启动:Startup nomount不加载数据库,启动实例(进程和 内存),读取参数文件;
<还可以有别的选项>比如mount, 在nomount基础上,读控制文件,附加 数据库结构;比如open, 打开数据文件和日志文件;比如force, 强制启动,忽略遇到的问题;比如restrict, 选项启动数据库并把它置入OPEN模式 ,但只给拥有RESTRICTED SESSION权限的用户赋予访问权。
关闭:shutdown<选项> 有normal,immediate,transactional,abort
3.修改数据库
表空间
数据文件
编辑
三.DBCA和命令及oem三种方式对数据库的参数进行查询和修改
1.DBCA方式
2.oem方式
查看和设置内存参数SGA,PGA
配置自动还原管理
查看和设置初始化参数
查看spfile参数(服务器参数二进制文件)
2.命令方式
1.SGA,
使用v$sgastat视图查看SGA统计信息Select * from v$sgastat
使用v$sgainfo视图查看SGA基本信息Select * from v$sgainfo
2.初始化参数信息
使用V$parameter视图,查看所有以db开头的初始化信息
6.查询scott用户下表dept对应的表空间(dba_tables),及该表空间包含的物理文件(dba_data_files)。
dept表对应的段segment(dba_segments),段分配的盘区extent(dba_extents),以及盘区包含的数据块大小。
异常序号:15001
异常内容: 中途数据库突然停止
原因分析:主机中途停电致使断网.
解决办法:重启就好了.
异常序号:15002
异常内容:oem无法在浏览器打开
原因分析:OracleDBconsolehys未启动
解决办法:首先尝试启动,发现不能启动
继续尝试在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.
接下来的操作大同小异
最后再执行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 服务已经启动成功。
异常序号:15003
异常内容:sql语句查询失败
原因:查询了表中没有的属性
解决办法:通过select *检查属性发现display的属性名为display_value.
发现错误细心分析,逐渐解决,遇到实在解决不了的难点时,借助老师和互联网很有用.学海无涯,只能慢慢领悟,细细体会.
中午饭没吃在这写博客,看在这么可怜的份上给个赞和关注吧.感谢评论,看见后一定回复!