当前位置: 首页 > 编程日记 > 正文

Oracle数据库物理存储结构管理

1、实验目的

(1)掌握Oracle数据库数据文件的管理。

(2)掌握Oracle数据库控制文件的管理。

(3)掌握Oracle数据库重做日志文件的管理。

(4)掌握Oracle数据库归档管理。

2、实验环境

Windows 7家庭普通版。

Oracle 11g

3、实验要求

(1)完成数据文件的管理操作,包括数据文件的创建、修改、重命名、移植及查询等操作。

(2)完成控制文件的管理操作,包括控制文件的添加、备份、删除以有查询操作。

(3)完成重做日志文件的管理操作,包括重做日志文件组及其成员文件的添加、删除、查询等操作,以及重做日志文件的重命名、移植、日志切换等操作。

(4)完成数据库归档模式设置、归档路径设置。

4、实验内容

(1)向BOOKSALES数据库的USERS表空间添加一个大小为10MB的数据文件users02.dbf。

(2)向BOOKSALES数据库的TEMP表空间添加一个大小为10MB的临时数据文件temp02.dbf。

(3)向BOOKSALES数据库的USERS表空间中添加一个可以自动扩展的数据文件user03.dbf,大小5MB,每次扩展1MB,最大容量为100MB。

(4)取消BOOKSALES数据库数据文件user03.dbf的自动扩展。

(5)将BOOKSALES数据库数据文件users02.dbf更名为users002.dbf。

(6)查询BOOKSALES数据库当前所有的数据文件的详细信息。

(7)为BOOKSALES数据库添加一个多路复用的控制文件control03.ctl。

(8)以二进制文件的形式备份BOOKSALES数据库的控制文件。

(9)将BOOKSALES数据库的控制文件以文本方式备份到跟踪文件中,并查看备份的内容。

(10)删除BOOKSALES数据库的控制文件control03.ctl。

(11)查询BOOKSALES数据库当前所有控制文件信息。

(12)向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4MB。

(13)向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。

(14)将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。

(15)查询BOOKSALES数据库中所有重做日志文件组的状态。

(16)查询BOOKSALES数据库中所有重做日志文件成员的状态。

(17)删除BOOKSALES数据库的重做日志组4中的成员文件undo04b.log。

(18)删除BOOKSALES数据库的重做日志组4。

(19)查看BOOKSALES数据库是否处于归档模式。

(20)将BOOKSALES数据库设置为归档模式。

(21)为BOOKSALES数据库设置3个归档目标,其中一个为强制归档目标。

(22)对BOOKSALES数据库进行5次日志切换,查看归档日志信息。

5、实验过程与结果

1)   向BOOKSALES数据库的USERS表空间添加一个大小为10MB的数据文件users02.dbf。

ORACLE语句:

SQL> ALTER TABLESPACE USERS ADD DATAFILE

2  'C:\ORACLESQL\ORADATA\ORAL\USERS02.DBF' SIZE 10M;

查询语句:

SQL> SELECT T.TABLESPACE_NAME, ROUND(SUM(BYTES / (1024 * 1024)), 0) TS_SIZE

2  FROM DBA_TABLESPACES T, DBA_DATA_FILES D

3  WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME

4  GROUP BY T.TABLESPACE_NAME;

修改前:

修改后:

2)   向BOOKSALES数据库的TEMP表空间添加一个大小为10MB的临时数据文件temp02.dbf。

ORACLE语句:

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE

2  'C:\ORACLESQL\ORADATA\ORAL\TEMP02.DBF' SIZE 10M;

查询语句:

SQL> SELECT TABLESPACE_NAME, FREE_SPACE/1024/1024 AS "FREE SPACE(M)"

2  FROM DBA_TEMP_FREE_SPACE

3  WHERE TABLESPACE_NAME = 'TEMP';

修改前:

修改后:

3)   向BOOKSALES数据库的USERS表空间中添加一个可以自动扩展的数据文件user03.dbf,大小5MB,每次扩展1MB,最大容量为100MB。

ORACLE语句:

SQL> ALTER TABLESPACE USERS ADD DATAFILE

2  'C:\ORACLESQL\ORADATA\ORAL\USER03.DBF' SIZE 5M

3  AUTOEXTEND ON NEXT 1M MAXSIZE 100M;

查询语句:

SQL> SELECT T.TABLESPACE_NAME, ROUND(SUM(BYTES / (1024 * 1024)), 0) TS_SIZE

2  FROM DBA_TABLESPACES T, DBA_DATA_FILES D

3  WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME

4  GROUP BY T.TABLESPACE_NAME;

截图:

4)   取消BOOKSALES数据库数据文件user03.dbf的自动扩展。

ORACLE语句:

SQL> ALTER DATABASE DATAFILE 'C:\ORACLESQL\ORADATA\ORAL\USER03.DBF' AUTOEXTEND OFF;

查询语句:

SQL> SELECT FILE_NAME,AUTOEXTENSIBLE FROM DBA_DATA_FILES WHERE FILE_NAME='C:\ORACLESQL\ORADATA\ORAL\USER03.DBF';

修改前:

修改后:

5)   将BOOKSALES数据库数据文件users02.dbf更名为users002.dbf。

ORACLE语句:

SQL> ALTER TABLESPACE USERS OFFLINE;

(然后手动去资源管理器修改其路径下数据文件的名称)

SQL> ALTER TABLESPACE USERS RENAME DATAFILE

2  'C:\ORACLESQL\ORADATA\ORAL\USERS02.DBF' TO

3  'C:\ORACLESQL\ORADATA\ORAL\USERS002.DBF';

SQL> ALTER TABLESPACE USERS ONLINE;

查询语句:

SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;

修改前:

修改后:

6)   查询BOOKSALES数据库当前所有的数据文件的详细信息。

ORACLE语句:

SQL> SELECT * FROM DBA_DATA_FILES;

截图:

7)   为BOOKSALES数据库添加一个多路复用的控制文件control03.ctl。

ORACLE语句:

SQL> ALTER SYSTEM SET CONTROL_FILES=

2  'C:\ORACLESQL\ORADATA\ORAL\CONTROL01.CTL',

3  'C:\ORACLESQL\ORADATA\ORAL\CONTROL03.CTL' SCOPE=SPFILE;

SQL> CONN /AS SYSDBA

SQL> SHUTDOWN IMMEDIATE

SQL> HOST COPY C:\ORACLESQL\ORADATA\ORAL\CONTROL01.CTL C:\ORACLESQL\ORADATA\ORAL\CONTROL03.CTL

SQL> STARTUP

查询语句:

SQL> SELECT * FROM V$controlfile;

截图:

8)   以二进制文件的形式备份BOOKSALES数据库的控制文件。

ORACLE语句:

SQL> alter database backup controlfile to 'C:\ORACLE_LOG\CONTROL01.BKP';

SQL> alter database backup controlfile to 'C:\ORACLE_LOG\CONTROL03.BKP';

截图:

9)   将BOOKSALES数据库的控制文件以文本方式备份到跟踪文件中,并查看备份的内容。

ORACLE语句:

SQL> alter database backup controlfile to trace;

查询语句:

SQL> SHOW PARAMETER USER_DUMP;

截图:

10) 删除BOOKSALES数据库的控制文件control03.ctl。

ORACLE语句:

SQL> ALTER SYSTEM SET CONTROL_FILES='C:\ORACLESQL\ORADATA\ORAL\CONTROL01.CTL' SCOPE=SPFILE;

SQL> SHUTDOWN IMMEDIATE

SQL> HOST DEL C:\ORACLESQL\ORADATA\ORAL\CONTROL03.CTL

SQL> STARTUP

查询语句:

SQL> SELECT * FROM V$controlfile;

截图:

11) 查询BOOKSALES数据库当前所有控制文件信息。

ORACLE语句:

SQL> SELECT * FROM V$controlfile;

截图:

12) 向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4MB。

ORACLE语句:

SQL> alter database add logfile group 4('C:\ORACLESQL\ORADATA\ORAL\UNDO04A.LOG') SIZE 4M;

查询语句:

SQL> SELECT * FROM v$logfile;

截图:

13) 向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。

ORACLE语句:

SQL> alter database add logfile member 'C:\ORACLESQL\ORADATA\ORAL\UNDO04B.LOG' TO GROUP 4;

查询语句:

SQL> SELECT * FROM v$logfile;

截图:

14) 将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。

ORACLE语句:

SQL> HOST MOVE C:\ORACLESQL\ORADATA\ORAL\UNDO04A.LOG C:\ORACLE_LOG\UNDO04A.LOG

SQL> HOST MOVE C:\ORACLESQL\ORADATA\ORAL\UNDO04B.LOG C:\ORACLE_LOG\UNDO04B.LOG

截图:

15) 查询BOOKSALES数据库中所有重做日志文件组的状态。

ORACLE语句:

SQL> select group#, sequence#, members,archived,status from v$log;

截图:

16) 查询BOOKSALES数据库中所有重做日志文件成员的状态。

ORACLE语句:

SQL> select group#, status, member from v$logfile;

截图:

17) 删除BOOKSALES数据库的重做日志组4中的成员文件undo04b.log。

ORACLE语句:

SQL> ALTER DATABASE DROP LOGFILE MEMBER 'C:\ORACLESQL\ORADATA\ORAL\UNDO04B.LOG';

查询语句:

SQL> SELECT * FROM v$logfile;

截图:

18) 删除BOOKSALES数据库的重做日志组4。

ORACLE语句:

SQL> alter database drop logfile group 4;

查询语句:

SQL> SELECT * FROM v$logfile;

截图:

19) 查看BOOKSALES数据库是否处于归档模式。(因为第一次实验时已经切换成了归档模式,所以这次操作实际上没有改变什么)

ORACLE语句:

SQL> archive log list

截图:

20) 将BOOKSALES数据库设置为归档模式。

ORACLE语句:

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP MOUNT

SQL> ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE OPEN;

查询语句:

SQL> archive log list

截图:

21) 为BOOKSALES数据库设置3个归档目标,其中一个为强制归档目标。

ORACLE语句:

SQL> alter system set log_archive_dest_1='location=C:\ORACLE_LOG\a\archive mandatory';

SQL> alter system set log_archive_dest_2='location=C:\ORACLE_LOG\b\archive mandatory';

SQL> alter system set log_archive_dest_3='service=standby1';

截图:

22) 对BOOKSALES数据库进行5次日志切换,查看归档日志信息。

ORACLE语句:

SQL> alter system switch logfile;

查询语句:

SQL> select sequence#,first_change#,next_change# from V$archived_log;

截图:

6、实验遇到的问题及解决办法

  1. 在对USER02.DBF重命名的时候提示错误,内容为未找到新文件。

解决方法:先将USERS表脱机后再操作文件,可以正常更改表空间。

  1. 在备份控制文件时输入路径后执行会报“操作将重用当前已装载的控制文件的名称”的错误。

解决方法:将备份路径换到其他与oracle不相干的文件夹内可以正常备份。

  1. 在删除重做日志组文件时输入移动后的日志组文件路径并删除将提示错误为“非日志文件成员”。

解决方法:移动日志组文件不会改变Oracle内存储的逻辑路径,直接删除原路径即可。

转载于:https://www.cnblogs.com/NamingException/p/10891976.html

相关文章:

KDE与GNOME的战争史(转载)

虽然在商业方面存在竞争,GNOME与KDE两大阵营的开发者关系并没有变得更糟,相反他们都意识到支持对方的重要性—如果KDE和GNOME无法实现应用程序的共享,那不仅是巨大的资源浪费,而且将导致Linux出现根本上的分裂。 KDE与GNOME是…

[ActionScript 3.0] AS向php发送二进制数据方法之——在URLRequest中构造HTTP协议发送数据...

主类 HTTPSendPHP.as 1 package 2 {3 import com.JPEGEncoder.JPGEncoder;4 import com.fylib.httpRequest.HttpRequestBuilder;5 import com.fylib.httpRequest.HttpRequestBuilderConsts;6 import flash.display.Bitmap;7 import flash.display.BitmapDa…

Java项目:校园招聘平台系统(java+MySQL+Jdbc+Servlet+SpringMvc+Jsp)

源码获取:博客首页 "资源" 里下载! 一、项目简述 功能: 用户和企业用户的注册登录,简历的筛选查看搜索,应聘信息互动等等。 二、项目运行 环境配置: Jdk1.8 Tomcat8.5 mysql Eclispe&#xf…

静态资源(StaticResource)和动态资源(DynamicResource)

静态资源(StaticResource)和动态资源(DynamicResource) 资源可以作为静态资源或动态资源进行引用。这是通过使用 StaticResource 标记扩展或 DynamicResource 标记扩展完成的。 StaticResource 通过替换已定义资源的值来为 XAML 属…

如何在 Kaggle 首战中进入前 10%(转)

如何在 Kaggle 首战中进入前 10%(转) 来源:https://dnc1994.com/2016/04/rank-10-percent-in-first-kaggle-competition/ Introduction 本文采用署名 - 非商业性使用 - 禁止演绎 3.0 中国大陆许可协议进行许可。著作权由章凌豪所有。 Kaggle …

一.Timesten安装

一,安装timesten IMDB并测试 1. 创建数据库相关用户和组 groupadd timestenuseradd -g timesten -G dba timestenpasswd timesten2. 创建相关目录 mkdir /etc/TimesTenchmod 775 /etc/TimesTenchown timesten:timesten /etc/TimesTenmkdir /u01/app/timesTen chmod …

linux 入门-1

刚开始接触linux,总有些简单的问题不知道怎么搞定,先将目前汇总的解决方法叫做"linux入门-1",后续在使用过程中逐步总结。 1. 连接 ADSL : sudo pon dsl-provider 断开 ADSL: sudo poff 查看 ADSL 状态&a…

Java项目:家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)

源码获取:博客首页 "资源" 里下载! 一、项目简述 功能:家庭理财,财务分析,统计等等。 二、项目运行 运行环境: jdk8tomcat8mysqlIntelliJ IDEA( Eclispe , MyEclispe ,Sts 都支持,代…

ORA-19809: 超出了恢复文件数的限制

实验环境:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod 实验背景:向tough.t中插入40万条记录,然后rollback,接着执行了shutdown abort命令。当重新启动数据库的时候遇到以下问题。 SQL> alter database …

VC manifest

manifest原理和用途 dll是被动态调用的,所以会被若干个程序共享使用的 但是如果dll在应用程序不知道的情况下升级了、或是被另一个程序更改了,就可能会出现问题,即”DLL Hell” 随着系统资源越来越丰富,硬盘不那么紧张&#xff0…

判断年月日是否正确

//输入年月日 Console.Write("请输入年:"); int year Convert.ToInt32(Console.ReadLine()); Console.Write("请输入月:"); int month Convert.ToInt32(Console.ReadLine()); Console.Write("请输入日:"); i…

Java项目:农业计算工具(java+swing)

源码获取:博客首页 "资源" 里下载! 1、换算:吨、千克、斤,晌/公顷、亩、平方米,晌/株、亩/株、平方米/株 2、籽粒干重、果穗干重、出籽率计算 3、发芽种粒数、供试种粒数、发芽率计算 4、种子袋、晌、亩、品种 换算 pac…

web网站加速之CDN(Content Delivery Network)技术原理

2019独角兽企业重金招聘Python工程师标准>>> 在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度、优化现有Internet中信息的流动,需要在用户和服务器间加入中间层CDN. 使用户能以最快的速度,从最接近用户的地方获得所需的信息&…

response.getWriter().write()和 response.getWriter().print()的区别

异步上传图片的代码。发现里面用了response.getWriter().print(),故联想到response.getWriter().writer(),经过一番api的查找与实操,总结如下: response.getWriter()返回的是PrintWriter,这是一个打印输出流。response…

c语言中volatile关键字的作用

读文章之前 可以先看一下《程序员的自我修养 》第28页 过度优化。 volatile 提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有 volatile关键字,则编…

Java项目:抽奖点名神器(HTML+可自定义抽选)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 用于年终抽奖或随机点名神器 //获取页面元素var student_box document.getElementById("student_box");//循环生成HTMLvar html "";for (var i 0 ; i < 22; i ) {html <div st…

Hive Metastore 连接报错

背景 项目中需要通过一些自定义的组件来操控hive的元数据&#xff0c;于是使用了remote方式来存储hive元数据&#xff0c;使用一个服务后台作为gateway&#xff0c;由它来控制hive元数据。 现象 在windows上连接hive metastore的时候&#xff0c;无端的会报NullPointerExceptio…

普通的简单对话框

2019独角兽企业重金招聘Python工程师标准>>> activity_main.xml <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width"fill_parent"and…

[POI2007]ZAP-Queries

出处&#xff1a;http://www.cnblogs.com/peng-ym/p/8660937.html &#xff08;还是 建议 去看 原文&#xff09; 题目&#xff1a;链接&#xff1a;https://www.luogu.org/problemnew/show/P3455 #include<bits/stdc.h> #define LL long long #define ULL unsigned long…

python pdb 基础调试

当手边没有IDE,面对着python调试犯愁时&#xff0c;你就可以参考下本文&#xff1b;&#xff08;pdb 命令调试&#xff09;参考&#xff1a;http://docs.python.org/library/pdb.html和 (pdb)help首先你选择运行的 pypython -m pdb myscript.py(Pdb) 会自动停在第一行&#xff…

Java项目:设计管理系统(java+SSM+JSP+MYSQL+layui+Maven)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能包括&#xff1a; 课题管理&#xff0c;学生管理&#xff0c;内容管理&#xff0c;文件管理&#xff0c;提问管理&#xff0c;教师管理&#xff0c;进度管理等等。 二、项目运行 环境配置…

linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...

原创&#xff0c;转载请注明&#xff1a;http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇《windows下Android利用ant自动编译、修改配置文件、批量多渠道&#xff0c;打包生成apk文件》&#xff0c;关于ant打包原理&#xff0c;请先阅读此篇文章&#xff0c;再阅…

自制的一个eclipse 插件jcodesmith(代码生成器)

为什么80%的码农都做不了架构师&#xff1f;>>> 实现思路 使用模板输出&#xff0c;定制一些特定的输入【如数据库元素、普通文件】等控制模板生成&#xff1b;并把指定输入可视化&#xff0c;方便使用&#xff1b; 下载安装 插件下载&#xff1a;http://git.os…

Boring counting HDU - 3518 (后缀数组)

Boring counting \[ Time Limit: 1000 ms \quad Memory Limit: 32768 kB \] 题意 给出一个字符串&#xff0c;求出其中出现两次及以上的子串个数&#xff0c;要求子串之间不可以重合。 思路 对字符串后缀数组&#xff0c;然后枚举子串长度 \(len\)&#xff0c;若某一段连续的 \…

什么是JTAG

JTAG(Joint Test Action Group)联合测试行动小组)是一种国际标准测试协议&#xff08;IEEE 1149.1兼容&#xff09;&#xff0c;主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议&#xff0c;如DSP、FPGA器件等。标准的JTAG接口是4线&#xff1a;TMS、 TCK、TDI、TDO&a…

Java项目:个人博客系统(java+SSM+Mysql+Servlet+JavaWeb)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 项目内容包括&#xff1a;首页&#xff0c;登陆&#xff0c;新建文章&#xff0c;搜索&#xff0c;登陆日志&#xff0c;登录次数&#xff0c;评论统计&#xff0c;相关信息&#xff0c;文章列…

Lucene4 入门(2)–Field类及辅助类说明

2019独角兽企业重金招聘Python工程师标准>>> Lucene4 入门(2)–Field类及辅助类说明 一、Eclipse中Field类的继承关系图&#xff1a; 二、Field类 1、 类的说明 在一般情况下为Document对象创建一个Field对象会使用它的子类&#xff0c;比如&#xff1a; IntField,…

C#入门详解(4)

什么是类型 类型又名数据类型。表示数据在内存中存储时的型号。小内存容纳大尺寸数据会丢失精度&#xff0c;发生错误。 大内存容纳小尺寸的数据会导致内存浪费。 编程语言的数据类型与数据的数据类型不完全相同。 类型在C#语言中的作用 类型所包含的信息有&#xff1a; 存储此…

使用 Trace32 对 FLASH 编程

from: http://www.ibm.com/developerworks/cn/linux/l-trace32/随着软硬件复杂性的增加&#xff0c;在嵌入式系统开发中&#xff0c;调试器对项目的开发进度、质量起着越来越重要的作用。在众多的调试器中&#xff0c;Lauterbach 公司的 Trace32 凭借其强大的功能&#xff0c…

Farseer.net轻量级ORM开源框架 V1.x 入门篇:新版本说明

导航目 录&#xff1a;Farseer.net轻量级ORM开源框架 目录 上一篇&#xff1a;没有了 下一篇&#xff1a;Farseer.net轻量级ORM开源框架 V1.x 入门篇&#xff1a;数据库配置 前言V1.x版本终于到来了。本次版本的开发从3月份开始&#xff0c;花了一个月的时间完成了概念版本设…