实验2 Oracle数据库体系结构_V2013
VS2013中建立与oracle数据库的连接
在VS2013中建立与oracle数据库的连接
运行环境:win10 64位家庭版,VS2013 64位,安装oracle oraclient12home1 32位;特别提醒:在VS2013中只能通过32位的oracle client建立odbc数据源与oracle数据库连接。笔者曾经过了1天1晚的努力,都没有找到在VS2013中通过64位的oracle client建立与oracle11个R2的连接方法。在如下图所示中,不管你在ODBC中建立数据源的test connection中有多少次successful,在Net manager的连接测试中有多少次“连接测试成功”,但在V2013建立数据库连接对话框中,你根本就找不到要连接的数据源名称。如下图:
万不得已,只得卸载64位的oracle client,安装32位的oracle client。安装完后,对Net manager与Net configuration Assistant进行重新配置,OK,都很顺利;但在配置ODBC 数据源时就遇到了一点小麻烦,按常规的配置方法,总是提示,”ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME”错误。度娘了不少高手贴,提示修改listener.ora文件、使用32位的ODBC驱动……,都没解决如下图所示:
最后仔细查看了错误,TNS Service Name,不就是在服务器192.168.3.123上的服务名吗?加上服务名orcl,点击TEST Connection,Ok,connection successful。
实验2 Oracle数据库体系结构
实验2_Oracle数据库体系结构
【实验目的与要求】
熟悉Oracle数据库的物理结构
理解Oracle的工作机制
理解Oracle的软件结构
【实验内容与步骤】
2.0实验准备
以系统管理员身份登入到数据库。
2.1物理存储结构
2.1.1 数据文件
给出运行结果截图:
练习:用desc命令查看V$datafile视图的结构,并试着查询更详细的信息。
2.1.2 日志文件
通过如下方式查看重做日志文件相关信息:
给出运行结果截图:
练习:用desc命令查看V$log视图的结构,并试着查询控制文件更详细的信息。
2.1.3 控制文件
通过如下方式查看控制文件相关信息:
给出运行结果截图:
练习:用desc命令查看V$controlfile视图的结构,并试着查询更详细的信息。
2.1.4 参数文件
通过如下方式查看参数文件相关信息:
给出运行结果截图:
阅读结果并理解各数据项的含义。
练习:在%oracle_home%(如C:\oracle\product\10.1.0\db_1\database)找到名为SPFileSID.ora(如:SPfileTestdb.ora)和init.ora的文件,此文件即为参数文件,用记事本打开它们,阅读其内容并理解各数据项的作用。
2.2Oracle逻辑存储结构
2.2.1查看表空间的名称及大小
执行以下语句,并给出运行结果。
给出运行结果截图:
2.2.2查看表空间物理文件的名称及大小
执行以下语句,并给出运行结果。
给出运行结果截图:
2.2.3查看回滚段名称及大小
执行以下语句,并给出运行结果。
给出运行结果截图:
2_ORACLE数据库体系结构
ORACLE数据库逻辑结构___表空间(续) 续
区间 一个区间(范围)是数据库存储空间分配的一个逻辑 单位,它由连续的数据块所组成。每一个段是由一个或多 个区间组成。当一段中间所有空间已完全使用时,ORACLE 为该段分配一个新的区间。 数据块是ORACLE管理数据文件中存储空间的单位,为 数据库使用的I/O的最小单位,其大小可不同于操作系统 的标准I/O块的大小。ORACLE8在2K--32K之间。
表空间、数据文件的关系
每个表空间由一个或多个文件组成。这些文件称为数据 文件。一个数据文件一旦加入到一个表空间中,就不能再从 这个表空间移走,也不能再加入到其它表空间中。 数据库、表空间、数据文件三者之间的关系可用图表示如下: System 表空间
表空间2 表空间3 表空间4
ORACLE数据库系统结构
数据字典
数据字典是ORACLE数据库的最重要的部分之一,是由一组只 读的表及视图所组成,它提供有关数据库的信息,包括: 每一个ORACLE用户的名字 每一个用户的特权和角色 模式对象的名字(表、视图、快照、索引、聚集、同义词、 序列、过程、函数、包及触发器等) 关于完整性约束的信息 列的缺省值 有关数据库中对象的空间分布信息及当前使用情况 审计信息(如谁存取或修改各种对象) 其他信息
描述oracle数据库体系结构的组成及其关系。
描述oracle数据库体系结构的组成及其关系。
Oracle数据库体系结构由以下几个部分组成:
1. 实例(Instance):实例是在计算机内存中运行的一个进程,负责管理数据库的操作。每个实例都有自己的内存空间和进程,可以同时运行多个实例。
2. 数据库(Database):数据库是一个存储数据的容器,包含
了表、视图、索引等对象。一个实例可以管理多个数据库,每个数据库由一个或多个数据文件组成。
3. 数据文件(Data File):数据文件是用来存储数据库的实际
数据的文件,包含了表、索引等对象的数据。一个数据库可以有多个数据文件,每个数据文件具有独立的文件名和路径。
4. 控制文件(Control File):控制文件是用来记录数据库的结
构和状态信息的文件,包括数据库名、数据文件的路径、表空间的信息等。一个数据库通常有一个或多个控制文件。
5. 日志文件(Redo Log File):日志文件是用来记录数据库的
变化操作的文件,包括数据更改、事务回滚等。日志文件用于实现数据库的恢复和数据的一致性。每个数据库通常有多个日志文件。
6. 表空间(Tablespace):表空间是数据库中逻辑数据存储的
单位,用来管理和组织对象。每个表空间由一个或多个数据文件组成,不同表空间可以包含不同的数据对象。
7. 段(Segment):段是逻辑存储结构的基本单位,是指数据
库中的一个连续空间。每个表、索引等对象都占用一个或多个段。
8. 区(Extent):区是段的扩展单位,是一组连续的数据块。
一个段由多个区组成。
9. 块(Data Block):块是数据库存储的最小单位,通常是
Oracle数据库体系结构
Oracle数据库体系结构
⼀、oracle数据库体系结构
基本组成:
Oracle server:⼀般情况下是⼀个instance和⼀个database组成
⼀般:1个instance只能对应⼀个数据库。
特殊:1个数据库可以有多个instance(RAC)
⼀台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应⼀个instance,也可以理解成每个数据库只有⼀个SID 。
利⽤DBCA建出的每个库都是相对独⽴的,在同⼀服务器上如果创建多库必须将环境变量的参数⽂件做区分,并且在对实例切换时需如下操作:
connect ⽤户名/密码@实例的服务名
1.1 oracle服务器和实例
1.1.1实例
由内存区和后台进程组成
①内存区:数据库⾼速缓存、重做⽇志缓存、共享池、流池以及其它可选内存区(如Java池),这些池也称为数据库的内存结构
②后台进程:包括系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT)、其它进程(SMON,如归档进程、RECO进程等)
③注:要访问数据库必须先启动实例,实例启动时先分配内存区,然后再启动后台进程,后台进程执⾏库数据的输⼊、输出以及监控其它Oracle进程。在数据库启动过程中有五个进程是必须启动的,它们是系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT),否则实例⽆法创建。
1.1.2服务器
Oracle服务器由数据库实例和数据⽂件组成,也就是我们常说的数据库管理系统。数据库服务器除了维护实例和数据库⽂件之外,还在⽤户建⽴与服务器的连接时启动服务器进程并分配PGA
oracle体系结构
实验二:oracle体系结构
*注意:将你做的实验代码及结果都粘贴在文档中。* 实验内容:(使用SQL *Plus环境)
一、逻辑存储结构
1.显示参数文件
SQL> show parameter spfile
2.查看数据块的大小
Show parameter db_block_size
SQL> select tablespace_name from dba_tablespaces;
4.查看SCOTT用户的段类型及名称SQL> select segment_type,segment_name 2 from dba_segments
3 where owner='SCOTT';
5.查看表空间名称desc dba_tablespaces
6.查看表空间对应的数据文件名SQL> select file_name,tablespace_name
2from dba_data_files;
1.查看SGA信息desc v$sga
2.查看数据缓冲区的大小Show parameter db_cache_size
3.查看日志缓冲区的大小1.show parameter log_buffer (两种方法)2.Select name,value from v$parameter
Where name like ‘%buffer’;
4. 查看共享池的大小
Show parameter shared_pool_size
Show parameter large_pool_size
6. 查看JA V A池的大小Show parameter java_pool_size
Oracle数据库体系结构
Oracle数据库体系结构
⼀、oracle数据库体系结构
基本组成:
Oracle server:⼀般情况下是⼀个instance和⼀个database组成
⼀般:1个instance只能对应⼀个数据库。
特殊:1个数据库可以有多个instance(RAC)
⼀台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应⼀个instance,也可以理解成每个数据库只有⼀个SID 。
利⽤DBCA建出的每个库都是相对独⽴的,在同⼀服务器上如果创建多库必须将环境变量的参数⽂件做区分,并且在对实例切换时需如下操作:
connect ⽤户名/密码@实例的服务名
1.1 oracle服务器和实例
1.1.1实例
由内存区和后台进程组成
①内存区:数据库⾼速缓存、重做⽇志缓存、共享池、流池以及其它可选内存区(如Java池),这些池也称为数据库的内存结构
②后台进程:包括系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT)、其它进程(SMON,如归档进程、RECO进程等)
③注:要访问数据库必须先启动实例,实例启动时先分配内存区,然后再启动后台进程,后台进程执⾏库数据的输⼊、输出以及监控其它Oracle进程。在数据库启动过程中有五个进程是必须启动的,它们是系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT),否则实例⽆法创建。
1.1.2服务器
Oracle服务器由数据库实例和数据⽂件组成,也就是我们常说的数据库管理系统。数据库服务器除了维护实例和数据库⽂件之外,还在⽤户建⽴与服务器的连接时启动服务器进程并分配PGA
《Oracle数据库》实验报告二(2)
广东金融学院实验报告课程名称:Oracle数据库
1
四、实验步骤及结果(包含简要的实验步骤流程、结论陈述)
1. 创建表空间 stu_tbs
SQL>create tablespace stu_tbs
2 datafile 'c:\finance_db\' size 25m online;
创建用户 stuuser5
SQL>create user stuuser5_sql identified by user2sql;
SQL>alter user stuuser5_sql account lock;
查看“stuuser+学号_sql”用户的信息
SQL>select * from all_users;
3
查看该用户验证的方式
DBA_USERS 数据字典中查看“stuuser+学号_sql”用户的默认表空间和临时表空间
用企业管理器,修改“stuuser+学号”用户,验证方式为外部用户解锁,并修改密码
SQL>alter user stuuser2_sql account unlock;
SQL>alter user stuuser2_sql identified by sql2user;
5
授予“stuuser+学号_sql”用户“SYSOPER”系统权限
SQL>grant sysoper to stuuser5_sql;
sqlplus 收回用户在“SYSTEM”方案中对“help”表的查看、修改、删除等对象权限SQL>revoke select,alter,delete on from stuuser2;
oracle数据库体系结构的构成
oracle数据库体系结构的构成
Oracle数据库是一种关系型数据库管理系统,其体系结构由多个组成部分构成。这些组成部分相互协作,以实现数据库的高效管理和数据的存储、检索和操作。
1. 实例(Instance)
Oracle数据库的实例是指在计算机系统中运行的一组进程,这些进程负责管理数据库的运行和操作。实例包括后台进程(background processes)和前台进程(foreground processes)。后台进程负责监控数据库的状态、管理内存和磁盘空间、处理死锁等问题,而前台进程负责处理用户的请求和查询。
2. 数据库(Database)
数据库是指存储数据的物理文件集合,包括数据文件(data files)、控制文件(control files)和日志文件(log files)。数据文件存储实际的数据,控制文件记录数据库的结构信息和一些关键参数,日志文件用于记录数据库的操作日志。数据库的设计和管理是数据库管理员(DBA)的工作。
3. 表空间(Tablespace)
表空间是数据库中逻辑存储单位,用于管理和组织数据。每个表空间包含一个或多个数据文件,表空间中的表和索引等数据库对象存储在数据文件中。表空间可以根据需求进行创建、扩展和调整,以
满足数据库的存储需求。
4. 段(Segment)
段是逻辑存储单位,是表空间中的子集,用于存储数据库对象。每个表、索引等数据库对象都分配了一个或多个段来存储数据。段可以是数据段(data segment)、索引段(index segment)、临时段(temporary segment)等,根据其存储的数据类型和使用情况而定。
Oracle数据库体系结构
Oracle数据库体系结构
一.Oracle数据库体系结构
1.实例:一组用于管理数据库文件的内存结构,实例对应着数据库;RAC/CDB CDB:CDB为数据库容器,PDB插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC),即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。
RAC:允许多个Oracle数据库实例在多台服务器上共享同一个数据库存储空间,并通过集群来保证高可用性和容错性。简单来说,RAC就是将多个数据库实例连接起来,形成一个“集群”。
2.ShardingSphere:中间件,不同的数据库对应不同的实例,中间有一个中间件,使用者连接中间件;数据库中间件可以简化对读写分离以及分库分表的操作,并隐藏底层实现细节,可以像操作单库单表那样操作多库多表。
常见的中间件有MyCat,Mysql-Proxy,DRDS,Atlas,Zebra
二.Orcal数据库体系结构:Orcal服务器=数据库+实例
1.实例是暂时的,它只不过是一组逻辑划分的内存结构和进程结构,它会随着数据的关闭而消失
数据库它就是一堆物理文件(控制文件、数据文件、日志文件等等)它呢是永久存在的数据库和实例是一对一的,这种结构我们一般称为单实例体系结构;既然有一对一,那就会有一对多,在复杂的分布式结构中,一个数据库可以对多个实例,多个实例之间可以通过网络来进行数据的一个交互或着交换
2.PGA:程序全局区,为单独的服务器进程存储私有数据的内存区域(SAG属于公共资源,PAG是私有的)
简述oracle体系结构
简述oracle体系结构
Oracle体系结构
Oracle是一种支持分布式数据库管理系统,其体系结构主要包
括E-R图,表和索引,存储过程和视图, SQL,PL/SQL程序和组件,等等。
1. E-R图
E-R图是一种关系数据库管理系统的基本模型,其中实体表示客观事物,关系表示实体之间的联系。E-R图可以被用来描述实体和它们之间的关系,以及实体的属性和它们之间的关系。
2.表和索引
表是由一系列列组成的逻辑结构,它们包含每行和每列的数据。索引是一种特别的表,可以被用来提高表的搜索速度和性能。
3.存储过程和视图
存储过程是一种特定类型的程序,它们可以被用来完成某些操作,比如查询和更新。视图是一种准备好的查询,它们可以被用来返回数据库中的数据。
4.SQL,PL/SQL程序和组件
SQL(Structured Query Language)是一种用于在数据库中执行查询和更新操作的语言,是一种面向关系型数据库的核心语言。
PL/SQL是一种可以嵌入SQL语句的程序设计语言,用来定义复杂的
查询,更新和实现回调函数。组件是一种模块化的程序,用来构建更复杂的系统。
1-2、Oracle数据库体系结构
Oracle数据库体系结构
一、填空题
1.Oracle数据库系统的物理存储结构主要由3类文件组成,分别为数据文件、日志文件、控制文件。
2.用户对数据库的操作如果产生日志信息,则该日志信息首先被存储在日志缓冲区中,随后由LGWR 进程保存到日志文件中。
3.一个表空间物理上对应一个或多个数据文件。
4.在Oracle的逻辑存储结构中,根据存储数据类型,可以将段分为数据段、索引段、回退段、LOB段或临时段。
5.在Oracle的逻辑存储结构中,数据块是最小的I/O单元。
6. 表空间的管理类型可以分为本地管理和字典管理.
7. ORACLE中,为了实现对表,视图和索引等数据库对象进行了管理,ORACLE采用模式实现。
8.一个模式只能够被一个数据库用户所拥有,其创建的所有模式对象都保存在自己的模式中。
9.如果定义了CHAR数据类型的字段,并且向其赋值时,字符串的长度小于定义的长度,则使用空格填充;而V ARCHAR2类型的字段用于存储变长的字符串,即如果向该列赋的字符长度小于定义时的长度,该列的字符长度只会是实际字符数据的长度,系统不会用空格填充。
10.ROWID实际上保存的是记录的物理地址,因此通过ROWID来访问记录可以获得最快的访问速度。
11.在创建表空间命令的STORAGE子句中可以设置6个存储参数。其中,INITIAL指定为表中的数据分配的第一个盘区大小;NEXT指定为存储表中的数据分配的第二个盘区大小;PCTINCREASE指定从第二个盘区之后,每个盘区相对于上一个盘区的增长百分比;MINEXTENTS指定允许为表中的数据所分配的最小盘区数目;MAXEXTENTS指定允许为表中的数据所分配的最大盘区数目。
Oracle实验报告二
实验报告二
课程名称: Oracle10数据库 实验项目:数据库物理和逻辑储存结构操作 指导教师: 李庆风 实验位置: 计算中心软件工程实验室
姓 名: 叶贝贝 学 号: 10401010447 班 级: 计科104 日 期: 2013-3-12
一、实验目的
掌握Oracle10g 数据库物理结构的操作,学会数据文件的管理,利用SQL*Plus 对数据文件的创建、修改等操作,学会控制文件的创建、备份、删除等操作,学会重做日志文件。
掌握Oracle10g 数据库逻辑结构的操作,学会表空间的操作,利用SQL*Plus 对表文件创建、修改、删除等操作。
二、实验环境
安装有Oracle10g 数据库软件等的计算机。
三、实验内容
1.Oracle10g 数据库数据文件管理(创建、删除等操作) 2.控制文件操作(创建、备份、删除等操作) 3.重做日志文件
4.表控件操作(创建、修改、删除等操作)
四、实验操作
实验内容一:数据文件操作
1启动
SQL*Plus
2创建Oracle10g 数据库数据文件 创建5MB 的
users02.dbf
创建5MB 的
temp02.dbf
3.修改数据文件
创建users03.dbf并设置为自动增长512k空间最大50M
修改users02.dbf设置为自动增长512k空间最大50M
取消users02.dbf的自动增长
将users02.dbf的空间设置为8M
4.删除数据文件
删除users03.dbf数据文件
删除temp02.dbf数据文件
实验内容操作二:控制文件的创建
检查数据库是否打开
三个都可以打开,数据库处于打开状态
Oracle数据库实验二
作业二数据库创建与表空间维护
一、实验目的
掌握数据库创建和删除方法;对表空间进行维护。
二、实验内容
1、练习使用DBCA向导工具创建数据库、删除数据库
2、表空间创建和维护
三、实验步骤
1、练习使用DBCA向导工具创建数据库
全局数据库名为db01,SID也为db01
设置密码为system
其他选项可默认,但请查看每一步的具体内容
选中“生成数据库创建脚本”
成功创建数据库后,查看其数据库创建脚本
进入SQL Plus,以system登录该实例db01
查看当前实例名:select instance_name from v$instance;
查看系统表空间:select tablespace_name from dba_tablespaces;并在资源管理器中找到相应的数据库目录查看。
以system登录实例db01
创建用户u6,密码为u6,为其授予创建、修改、删除表空间和修改数据库的权限
以u6登录,创建名为data01的数据表空间,路径为:%oracle_base%\oradata\db01\ds01.dbf,大小为50M,区间统一为128K,并在资源管理器中找到相应的数据库文件。
为表空间data01增加数据文件ds02.dbf,大小为10M,并在资源管理器中找到相应的数据库文件。
重置数据文件ds02.dbf的大小为15M
创建临时表空间temp02,其数据文件名为temp02.dbf,路径同数据表空间,大小为10M
以system登录,修改用户u6的默认表空间为data01,临时表空间为temp02
3、练习使用DBCA向导工具删除数据库db01
oracle实验2 oracle数据体系结构
oracle实验2 oracle数据体系结构
一、实验目的
1.了解数据库的物理存储结构和逻辑结构。
2.了解数据库的进程结构和内存结构。
3.了解客户端和服务端配置文件的内容,并能够根据实际需要修改配置文件。
二、实验内容
1.分别使用SQL命令和OEM图形化工具查看本地数据库物理文件,并使用OEM 工具在现有的usrs表空间中添加user02.dbf数据文件。
2.使用OEM图形化工具查看本地数据库的表空间,并尝试创建一个新的表空间及其数据文件。
三、实验环境
Windows xp , Oracle 10g
四、实验步骤
分别使用SQL命令和OEM图形化工具查看本地数据库物理文件,并使用OEM工具在现有的usrs表空间中添加user02.dbf数据文件
1、查看数据文件:
(1)SQL命令
(2)oem工具
2查看日志组: (1)SQL命令
(2)oem工具
3、查看控制文件(1)SQL命令
(2)oem工具
4、添加数据文件user2.dbf
添加成功
2.使用OEM图形化工具查看本地数据库的表空间,并尝试创建一个新的表空间及其数据文件。
(1)查看本地数据库的表空间
(2)创建空间
(3)添加数据
(4)成功创建
二、习题
1.Oracle数据库的物理存储文件主要包括4类文件,分别(数据文件)(日志文件)(控制
文
件)(初始化参数文件),其中(数据文件)是存储用户数据的地方,(控制文件)存储数据库的结构,(初始化参数文件)在启动数据库时最先被访问。
2.数据库的逻辑存储结构从大到小包括(表空间)(段)(盘区)(数据块),其中(盘区)是最小的磁盘空间分配单元,(数据块)是数据存取的最小单元。
Oracle数据库的体系结构介绍
Oracle数据库的体系结构介绍Oracle数据库是目前世界领先的企业级关系数据库管理系统,其卓
越的性能、可靠性以及安全性被广泛地应用于企业级应用系统中。本
文将详细介绍Oracle数据库的体系结构,帮助读者更好地了解Oracle
数据库。
一、概述
Oracle数据库的体系结构分为三层:物理层、逻辑层和视图层。物
理层描述了数据在物理介质上的存储方式和管理方式;逻辑层主要由Oracle数据库的核心服务组成,该层体现了Oracle数据库的最核心功能;视图层则提供给应用程序用户和管理员使用,是Oracle数据库的
最外层。
二、物理层
Oracle数据库的物理层包括数据文件、控制文件和重做日志文件。
其中,数据文件用于存储数据表、索引和其他对象的数据;控制文件
则记录了数据库的结构信息和操作日志,是维护数据库一致性和恢复
数据的关键元素;重做日志文件用于记录正在进行的操作和已经完成
的操作,以便在系统崩溃或停机时进行恢复。
三、逻辑层
Oracle数据库的逻辑层包括多个服务组件,如SQL解析器、优化器、缓存池、锁管理器、存储管理器等。其中,SQL解析器用于解析SQL
语句,将其转换成可执行的优化器,并进行语法和语义检查;优化器
则负责分析并优化SQL执行计划,以提高查询效率;缓存池用于存储查询结果和表空间等数据对象,提高查询响应速度;锁管理器则负责管理并发访问,防止数据冲突,保证数据库的一致性和稳定性。
四、视图层
Oracle数据库的视图层提供了多种视图和接口,包括SQL*Plus、SQL Developer、Toad等。其中,SQL*Plus是Oracle自带的命令行工具,提供简单的SQL语句执行和结果输出;SQL Developer是Oracle 提供的图形化界面工具,提供更为便捷的数据库管理和开发支持;Toad则是第三方软件,提供了更为强大和灵活的数据库管理和开发支持。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 Oracle数据库体系结构
【实验目的与要求】
⏹熟悉Oracle数据库的物理结构
⏹理解Oracle的工作机制
⏹理解Oracle的软件结构
【实验内容与步骤】
2.0 实验准备
以系统管理员身份登入到数据库。
2.1 物理存储结构
2.1.1 获取Oracle数据库各类物理文件信息
1.数据文件
数据文件的详细信息记录在数据字典视图V$DataFile中,可通过查询语句获取数据文件相关信息。
查看数据文件名称:可通过如下查询语句查看数据文件名称和存放位置
请给出运行结果截图:
练习:用desc命令查看V$datafile视图的结构,并试着查询更详细的信息。
2.操作数据文件
(1) 创建数据文件
Oracle中,创建数据文件即是借用Alter Tablespace…ADD…语句,将数据文件添加挂接到指定的表空间中。
为USERS表空间添加一个数据文件,名称为USERS_XX.DBF(XX为学号最后两位),大小为20MB。如:
请给出运行结果截图:
打开指定目录(即C:\),查看是否存在文件USERS_XX.DBF?
请给出结果截图:
查询V$datafile视图,获取数据文件USERS_XX.DBF大小、位置等相关信息。
请给出结果截图:
(2) 创建数据文件
修改数据文件使用Alter Database Datafile…命令。
修改USERS表空间中的USERS_XX.DBF为自动扩展方式,每次扩展5MB,最大为100MB。如:
请给出结果截图:
查询V$datafile视图,获取数据文件USERS_XX.DBF大小、扩展方式、位置等相关信息。确定数据文件是否修改。
请给出结果截图:
(3) 重命名数据文件:
重命名数据文件使用alter tablespace …Rename datafile…命令。
将表空间USERS中的数据文件USERS_XX.DBF更名为UserData_XX.dbf。
重命名数据文件时,需遵循以下步聚:
a.将表空间脱机:
b.操作系统拷贝数据文件到指定的位置,并将数据文件命名为指定名称,如:C:\ UserData.dbf。(即对原文件作一个拷贝,再重新命名。注意:不要改动原文件名)
c.执行改名命令,示例如下:
注意:其中的users01.DBF应为上面创建的USERS_XX.DBF
请给出结果截图:
d.挂接表空间:使表空间联机
(4) 移除数据文件:
移除表空间的某个数据文件命令: alter database datafile 'file_name' offline drop;
将前面命建并改名后的数据文件userData.dbf移除。
请给出结果截图:
注:(1) 该命令不会删除数据文件,只是将数据文件的状态更改为recover,数据文件的相关信息还会存在数据字典和控制文件中。(2)Oracle 10G R2后还可使用alter tablespace tablespace_name drop datafile file_name命令来删除数据文件。
2.1.2 日志文件
1.获取日志文件信息
日志文件信息记录在数据字典视图V$Log中,可通过类似如下方式查看重做日志文件相关信息:
请给出运行结果截图:
练习:用desc命令查看V$log视图的结构,并试着查询控制文件更详细的信息。
2.操作日志文件
(1) 模拟日志文件丢失
按以下步骤模拟日志文件丢失的处理。
a.关闭数据库: 建议使用shutdown immediate命令,关闭数据库
b.模拟删除
找到数库主目录(如:C:\oracle\product\10.1.0\db_1\TestDB),把日志文件REDO02.log的名称修改为REDO02.log.bak,重新启动数据库,如何报错?
请给出运行结果截图:
c.文件名称恢复后,再次启动数据库。
(2) 添加重做日志文件组:
a.添加日志组
为数据库添加一个重做日志文件组(组4),组内包含两个成员文件,分别为redo4a.log 和redo4b.log,大小分别为5MB。
请给出运行结果截图:
b.添加日志组成员
为上面新建的重做日志文件组添加一个成员文件,名称为redo4c.log,存放于C:\Temp 目录下。
完成后,查看Temp中是否有日志文件。
请给出运行结果截图:
c.删除日志组
删除日志文件组可用DROP命令。请执行如下命令,删除前面创建的日志文件组4。
2.1.3 控制文件
1.获取控制文件信息
控制文件信息记录在数据字典视图V$Controlfile中,可通过类似如下方式查看重做日志文件相关信息:
请给出运行结果截图:
练习:用desc命令查看V$controlfile视图的结构,并试着查询更详细的信息。
2.操作控制文件
a.控制文件丢失。
关闭数据库,将控制文件CONTROL03.CTL移动到其他文件夹,模拟控制文件丢失。
b.重新启动数据库,查看报错信息。
请给出结果截图:
c.查看警告文件,得到更详细的错误信息。
警告文件位于%ORACLE_BASE%\admin\%ORACLE_SID%\bdump下.trc文件。
d.用复制控制文件,使得数据库可以正常启动。
2.1.4 参数文件
通过如下方式查看参数文件相关信息:
请给出运行结果截图:
阅读结果,并理解各数据项的含义。