目录
Oracle之 第1篇 Oracle 11g 简介
1.1 Oracle概述
1.2 Oracle 11g 系统的体系结构★
1.1 Oracle物理结构
1.1物理结构--数据文件
1.1.2 物理结构---日志文件
1.1.3 物理结构---控制文件
1.2.4 配置文件
Oracle之 第1篇 Oracle 11g 简介
1.1 Oracle概述
常用Oracle服务
(上机时需要启动三个服务)
常用Oracle服务(重点)
- OracleServiceORCL。数据库服务,这个服务会自动地启动和停止数据库。ORCL是Oracle例程标识。此服务被默认设置为自动启动。
- OracleDBConsoleorcl。Oracle数据库控制台服务,orcl是Oracle例程标识,默认的例程为orcl。在运行Enterprise Manager 11g时,需要启动此服务。此服务被默认设置为自动启动。
- OracleOraDb11g_home1TNSListener。监听器服务,服务数据库需要远程访问时才需要。此服务被默认设置为自动启动。
常用Oracle服务:
- OracleJobSchedulerORCL。Oracle作业调度进行,ORCL是Oracle例程标识。此服务被默认设置为禁用。
- OracleOraDb11g_home1iSQL*Plus。iSQL *Plus应用服务,默认设置为自动启动。
启动Oracle需要技能之二:
上机实验一:
上机实验,进入Oracle的基本步骤:
启动Oracle需要技能之二(重点):
Oracle11g 默认帐户:
Show user命令的应用
帐户信息在数据字典dba_users中.
补充:Oracle 的默认端口:
总结:
(1) pl/sql develop 方式
(2) 命令方式:sqlplus system/test
命令方式: sqlplus system/test@数据库名
as SYSDBA
(3) 忘记密码的情况下:
sqlplus /nolog 进入oracle 会话
conn /as SYSDBA
三、常用Oracle服务(重点) p26
1.2 Oracle 11g 系统的体系结构★
1.1 Oracle物理结构
Oracle 数据库系统的体系结构:
Oracle数据库的体系结构,可以用来分析数据库的组成和工作过程,以及及数据库是如何组织和管理数据的。
Oracle数据库从结构上可以分为逻辑结构和物理结构。
逻辑存储结构是从逻辑的角度来分析数据库的构成的,是数据库创建后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。
1.1 物理结构(思路)
从文件类型,到其作用 ,到相关数据字典(系统表) , 到如何建立(对于数据和日志文件)到上机如何验证, 到看懂验证结果。
1.1物理结构--数据文件
数据文件(Data File)是指存储数据库数据的文件。
Oracle 数据库的每个表空间包括一个或多个数据文件。 Oracle数据库中所有的数据信息都存放在数据文件中,是存储在文件系统中实际的物理文件。
数据文件用来存储数据库中的全部数据,如存储数据库表中的数据和索引数据。通常为后缀名为.dbf格式的文件。
数据文件可以存放两种类型的数据:
- 用户数据: 用户应用系统的数据。
- 系统数据: 管理用户数据和Oracle系统本身的数据。
- 用户建立的表名,列名,这些数据自动被存放在系统表空间对应的system01.dbf;
- Oracle系统内部的数据字典、表如DBA_USERS、DBA_DATA_FILES等存放的数据属于Oracle系统内部的数据 à存放在系统表空间对应的system01.dbf。
数据文件一旦加入到表空间,就不能从表空间移走,也不能和其他表空间发生联系
数据字典: dba_data_files和v$datafile
查询当前数据库的所有的表空间及其对应的数据文件。
Select file_name,tablespace_name,bytes from dba_data_files;
Select file#,name,checkpoint_change# from v$datafile;
需要看懂反馈结果。
补充describe命令:
- 语法:desc[ribe] {[模式.]对象}
- 作用: 列出指定表的列定义,视图或同义词,或指定函数或存储过程的详述。
1.1.2 物理结构---日志文件
日志文件(重做日志文件—redo log),用于记录数据库所做的全部变更(如增加、删除、修改)及由Oracle内部行为而引起的数据库变化信息。
目的:记录数据的改变,提供数据库的恢复。
- 数据修改信息后,数据文件中只保留修改后的数据,日志文件中即保留修改后的数据,又保留修改前的数据。
- 表或整个表空间设定Nologging属性时,基于表或表空间的所有的DML操作将不会生成日志信息。
注意:
一个数据库至少需要两个重做日志文件(保证其正常运行),如要保证其安全,每组至少要有两个成员。
多元日志文件(multiplexed redo log)—系统在不同的位置自动维护重做日志的两个或以上的副本。
二、日志的运行方式:
日志按照有序循环的方式被使用。
二、日志的运行方式:
- 日志按照有序循环的方式被使用。
- 即当一组日志文件被填满后,循环覆盖下一组日志文件,不断循环。当所有日志文件都被写满后,就回到第一个日志文件,日志切换。
- 组: group
- 成员: member
- 日志文件的操作属于SQL语言中的那种语言,粒度的大小是谁?
- 重做日志的多元性:
重做日志的基本概念 :
- LGWR(日志写入进程,属于内存结构中的后台进程)写入重做日志的过程
V$log和v$logfile
【例】查询视图V$LOG,显示控制文件中重做日志文件的信息:
SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
运行结果截图:
查看重做日志组页面:
【例】查询视图V$LOGFILE,显示重做日志组及其成员的基本信息:
SQL> SELECT GROUP#,STATUS,MEMBER FROM V$LOGFILE;
创建重做日志组和成员
- ALTER DATABASE语句创建重做日志组
【例】在使用ALTER DATABASE语句创建重做日志组时,可以使用GROUP子句定义组编号:
ALTER DATABASE
ADD LOGFILE GROUP 10 ('log1a.rdo', 'log2a.rdo') SIZE 5000k;
【例】在ALTER DATABASE语句中使用ADD LOGFILE子句也可以创建重做日志组:
ALTER DATABASE
ADD LOGFILE ('log1c.rdo', 'log2c.rdo') SIZE 5000k;
- 创建重做日志成员
【例】在ALTER DATABASE语句中使用ADD LOGFILE MEMBER关键字,可以向已存在的重做日志组中添加成员:
ALTER DATABASE ADD LOGFILE MEMBER 'log3a.rdo' TO GROUP 10;
注意:带member的日志添加没有size语句。----why?
SELECT GROUP#,STATUS,MEMBER FROM V$LOGFILE;
(2)删除重做日志成员
- DROP LOGFILE MEMBER子句也可以删除指定的重做日志。
【例】删除重做日志组log1a.rdo:
SQL> ALTER DATABASE DROP LOGFILE MEMBER 'log1a.rdo';
数据库已更改。
(1)删除重做日志组
- DROP LOGFILE子句也可以删除指定的重做日志组。
【例】删除编号为10的重做日志组:
SQL> ALTER DATABASE DROP LOGFILE GROUP 10;
数据库已更改。
- 日志切换可以使用命令行强制执行(了解)
- ALTER SYSTEM SWITCH LOGFILE
- 多个日志组是循环使用的,一般是前面一个日志组写满了,就开始用下一个日志组。最后一组写满了,又回过来写第一个日志组。
alter system switch logfile 是用手工的方式,让 Oracle 直接使用下一个日志组,而不管当前使用的日志组是否写满。
Oracle 数据库允许将被填充满的重做日志文件组保存到一个或者多个离线的位置,这叫做归档重做日志,简称归档日志。将重做日志文件转换为归档文件的过程叫归档。
根据在事务信息将被覆盖时,是否应该将文件归档,数据库分为以下两种归档模式:ARCHIVELOG(归档日志)或NOARCHIVELOG(非归档日志)模式。
归档过程只能在ARCHIVELOG模式下数据库中进行.
- ARCHIVELOG模式: 采用生成归档日志的模式
- NOARCHIVELOG模式: 不生成归档日志
- 归档文件: .ARC
查看归档日志信息:
【例】使用ARCHIVE LOG LIST命令可以显示归档日志信息:
SQL> ARCHIVE LOG LIST;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 22
下一个存档日志序列 22
当前日志序列 25
SYS用户
一、归档模式的查询:方法一
- SQL> ARCHIVE LOG LIST(掌握)
- l必须在sys用户下完成
- 方法二:select name,log_mode from v$database
- 预习:如何修改数据库的归档模式(为数据库的备份和恢复做准备):
- Shutdown immediate;
- Startup nomount;
- Alter database mount;
- Alter database archivelog;
与归档日志相关的视图 :
- 查询日志信息
- Select member from v$logfile;
- 查询数据库是否为归档模式
- Select dbid,name,log_mode from v$database;
1.1.3 物理结构---控制文件
Oracle数据库系统在运行前要首先转到控制文件。以检查数据库是否良好。
每个Oracle数据库都有相应的控制文件,用于打开、存取数据库。它们是较小的二进制文件,其中记录了数据库的物理结构。
控制文件名字通常为Ctr*.ctl 格式
控制文件中的内容只能够由Oracle本身来修改。每个数据库必须至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件,但是一个控制文件只能属于一个数据库。
控制文件用以记录与描述数据库的外部结构。主要包括:
① Oracle 11g数据库名称与建立时间。
② 数据文件与重做日志文件名称及其所在位置。
③ 日志记录序列码(log sequence number)。
Select * from v$controlfile;
1.2.4 配置文件
配置文件是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数。名字通常为*.ora格式。
如SPfile.ora文件, 数据库实例初始化文件initSID.ora, listener.ora文件, sqlnet.ora文件, tnsnames.ora文件
总结:
- 数据文件 .DBF
- 控制文件 .CTL
- 重做日志文件 .LOG
- 参数文件: .ORA
- 归档文件: .ARC
数据库存储结构 :