关于oracle的基础知识

工作中一直用到oracle,但都是一知半解,仔细研究学习了一下,整理了一下一些基本常识,现在分享给大家。

Oracle数据库 由2部分组成:实例(instance)和数据库(database)
实例是指操作Oracle datase的一种手段,后台进程和内存结构的组合。
Database是一个物理存在,数据组合。
一.数据库的体系结构
1.数据库实例(instance)
在这里插入图片描述
实例( INSTANCE )
是存取和控制数据库的软件机制,由内存结构和后台进程组成。

系统全局区SGA (System Global Area)
Oracle Instance的 基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写
查看SGA区大小,数据库SQL命令行下执行
SQL>show sga
查看ORACLE的最大连接数,使用以下SQL
SQL>show parameter processes
查看数据库实例名,使用以下SQL
SQL>select instance_name from v$instance;

程序全局区
PGA是一个内存区,包含单个进程的数据和控制信息,所以又称为进程全局区(P
ROCESS GLOBAL AREA)。

后台进程:
用户进程:当用户运行一个应用程序时,就建立一个用户进程。
服务器进程: 处理用户进程的请求

2.数据库的物理结构
数据库启动必须包含的物理文件有:数据文件、在线日志文件、控制文件、参数文件以及密码文件
其他还有告警日志及跟踪文件和归档日志文件,但并非数据库启动必须的文件

<1> 数据文件(Data File):
是物理存储ORACLE数据库数据的文件。其特点如下:
每一个数据文件只与一个数据库相联系。
一个表空间可包含一个或多个数据文件。
在数据库SQL命令行下通过以下命令可以查询数据文件名称及路径信息
SQL>select name from v$datafile;
<2> 在线日志文件(REDO LOG):
记录所有对数据库数据的修改,以备恢复数据时使用。其特点如下:
每一个数据库默认包含三个日志文件组。
日志文件组以循环方式进行写操作。
每一个日志文件成员对应一个物理文件。
<3> 归档日志文件:
当数据库开启归档后,每次redo log进行切换时,会先生成归档日志文件,其中记录了对数据库所有的操作,是redo logfile的备份,在数据库出现问题时,是恢复数据库的重要文件。
使用如下命令可以查询归档日志的相关信息
SQL>archive log list
<4> 控制文件(Control File):
是一个较小的二进制文件,用于描述数据库结构。
记录信息如下:
数据库建立的日期。
数据库名。
数据库中所有数据文件和
日志文件的文件名及路径。
恢复数据库时所需的同步信息。

	要点注意:
	在打开和存取数据库时都要访问该文件。(mount状态下读取controlfile内容)
	镜像控制文件。
	记录控制文件名及路径的参数为:CONTROL_FILES

<5> 参数文件,用于定义实例启动所需要的参数值,以及分配的内存大小
参数文件的默认保存路径为 $ORACLE_HOME/dbs/spfile.ora
参数文件是在ORA9之前是一个文本文件,可直接使用操作系统下的文本编辑器对其内容进行修改。该文件只在建立数据库或启动实例时才被访问,在修改该文件之前必须关闭实例。
初始参数文件:init.ora
生成参数文件:initSID.ora

在ora9后,参数文件改成一个二进制文件spfile.ora,其中部分参数可以在线修改。
spfile和pfile 文件的相互转换命令
Spfile 到 pfile
create pfile = ‘/oradata/init.ora’ from spfile;
pfile 到 spfile
create spfile from pfile = ‘/oradata/init.ora’;

<6> Password file —— 密码文件。用户的密码是存储在数据字典中,在数据库未打开的情况下无法使用,SYSDBA的密码文件以物理文件的形式保存在服务器端
$ORACLE_HOME\database(unix此处为dbs)\PWD.ora 文件中,所以可以在未开库的情况下连接数据库进行操作。

<7> Alter and trace logfile —— 告警日志及跟踪文件
告警日志文件windows系统下默认路径在 /oracle/product(unix为app)/10.2.0/admin/实例名/bdump/alter_.log 其记录了跟踪信息,对数据库的操作,日期,物理结构的变化等信息,通过查看alter_.log文件可以帮助排除数据库错误,也可通过该文件确定相应.trc跟踪文件,其中有更详细的信息帮助dba解决问题。

3.数据库的逻辑结构
Tablespace —— 表空间,这是个逻辑的概念,并不是物理的存在。将数据文件部署到相应的表空间,有助于数据的管理,备份和恢复,也可以提高数据库性能。
每个表空间可以有多个数据文件,每个数据文件只属于一个表空间。一般来说,同一表空间只对应于一个实例。

Segment —— 段,段组成了表空间。我们平时常说的表,索引其实都是“段”的概念,表是数据段,索引是索引段。

Extent —— 区,区组成了段,是进行空间分配的最小逻辑单位。

Data Block —— 数据块,由连续的数据块组成了区。对于数据块的大小设置可以影响数据库的性能,如对于数据读取信息亮少而小的数据块可以将数据块设小些,而对于数据读取量大的数据仓库则可以设数据块的大些。数据块必须是磁盘块(Disk Block,由操作系统决定)的成倍关系。

二.数据库的启动和关闭
数据库的开启:
$sqlplus /nolog
SQL>conn /as sysdba
SQL>Startup

Startup 其实经过了3个状态
首先是 nomount 状态,此状态读取参数文件,申请内存,分配SGA区
然后是 mount 状态,此时读取控制文件,根据控制文件找到数据文件和redo文件,加载数据库文件
最后是 open状态,数据库开启,打开数据文件,可以进行正常读写。
数据库的关闭:
$sqlplus /nolog
SQL>conn /as sysdba
SQL>shutdown immediate

Shutdown 参数
Normal —— 正常关闭,最安全,等所有客户端会话正常退出再关闭数据库
Immediate —— 立即关闭,最常用,发出命令后,数据库立即将未提交事务回退,断开客户端连接,然后关闭数据库
Transactional —— 事务关闭,当会话中无事务时,即用户所有事务终结后,中断连接,再关闭数据库
Abort —— 异常关闭,立即关闭数据库,对连接着的用户不做检查,对数据完整性也不检查,再次启动时要有实例恢复

三.数据库的逻辑备份
要求数据库必须在open状态,是最数据库常用的一种备份方式
逻辑导出可以分为按全库导出,按用户导出,按表导出三种

全库导出:
exp system/password full=y buffer=81920000 file=’/oradata/20091116.dmp’, log=’/oradata/20091116.log’

按用户导出
exp system/password owner=username buffer=81920000 file=’/oradata/20091116.dmp’,
log=’/oradata/20091116.log’

按表导出
exp system/password tables=tablename buffer=81920000 file=’/oradata/20091116.dmp’,
log=’/oradata/20091116.log’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值