今天公司DBA给我们讲了许多oracle基本操作和oracle的联机备份 干很不错,于是弄下来和大家分享这里是基本概念
Oracle Database Server主要由实例和文件(Oracle数据库)构成。
实例:指一组后台进程和一组相关内存。
通过linux的ipcs工具可以观察oracle分配到的物理内存,本例中大约为 1.2G
同时,也可以观察到ORACLE的后台进程,黄色区域为进程的一部分:
数据库:ORACLE中的数据库定义即指一组文件。
如图:
实例:数据库 = N:1。含义:一个实例最多关联一个数据库,一个数据库可以被一个或者多个实例关联。
Oracle实例定义如上。
文件即是ORACLE数据库,主要的文件分类大致如下
控制文件是数据库的中最重要的文件之一,其作用类似于windows的注册表,控制文件记录了详细的数据库相关信息,例如:数据库的创建时间,数据库有多少数据文件,数据库的联机日志等重要信息。
联机日志文件记录了数据库所有的操作,用于数据库的恢复,并且联机日志文件可以循环使用。
Oracle可以将联机日志文件进行归档保存,当一个联机日志文件写满时,ORACLE的日志归档进程将此文件归档保存,归档的日志文件可以作为恢复使用。
数据文件用于记录数据库保存的数据。丢失数据文件意味着损失所有数据。
参数文件用于配置数据库初始化的系统参数,ORACLE根据此文件进行参数的设置。参数文件分为PFILE和SPFILE。
密码文件用于远程登录ORACLE的安全控制。
告警文件用于跟踪当前实例运行状态,辅助dba诊断数据库问题和故障。告警文件通常位于 $ORACLE_BASE/admin/{DB_NAME}/bdump/alert_$ORACLE_SID.log
Oracle的逻辑架构通常是用户真正面对和使用的。Oracle的逻辑架构包括:表空间、数据块、区、段。
数据块是ORACLE的最小存储单元。一个ORACLE数据块通常由若干OS数据块构成,在创建数据库时,可以指定ORACLE数据块大小,一旦指定,不可更改。
数据区由连续的数据块构成,用于向数据段提供空间。
段由若干区构成,当段空间不够时,会自动在区中申请空间进行扩展。段的类型分为:数据段、索引段、重做段(undo),临时段等。例如:当建立一个表时,数据库会创建一个数据段供表存储数据;当建立一个索引时,数据库会创建一个索引段存储索引;当数据库在排序需要使用到磁盘排序时,数据库会自动创建临时段等等。
表空间是以上元素的集合,是数据文件在数据库中的映射。表空间将物理存储映射为可以理解的逻辑存储,封装了物理存储的复杂性。一个表空间可以对应一个或者多个数据文件,但一个数据文件只对应一个表空间。
ORACLE数据库启动分为3个阶段,nomount、mount、open。
NOMOUNT阶段,实际是启动实例,即分配内存和启动后台进程。在此阶段,ORACLE自动寻找参数文件,根据参数文件的配置,分配内存大小及相关设置。对于9i以后版本,ORACLE通过spfile配置数据库,9i以前版本,ORACLE通过pfile配置数据库。
9i版本开始,ORACLE采用spfile(二进制文件)记录系统参数,并开始支持动态调整参数。
9i版本之前,ORACLE采用pfile(文本文件)记录系统参数,所有对参数的修改必须shutdown数据库,而后重启才能生效。
spfile和pfile是可以相互转换的。
MOUNT阶段,ORACLE通过参数文件中设置的控制文件地址,读取控制文件信息,但此时并不打开数据文件,即:此时不能对数据库进行诸如:建表,插数据等操作。在mount阶段,dba可介入进行数据库维护方面的操作。
OPEN阶段,ORACLE打开所有数据文件,此时数据库提供正常的各种服务。
通过secure CRT软件,以oracle账户身份远程ssh 到目标环境,如图:
这里选择登录内网地址192.168.1.13,出现提示符后,代表已正确登录。
在操作符下键入 sqlplus “/ as sysdba”
此时,可以看到,实例没有启动
此时,去查看,oracle是否申请了内存,以及后台是否有oracle相关进程
同时,我们也可以跟踪告警日志,在日志中,也记录了详细的启动信息
跟踪告警日志
数据库关闭分为4种方式。
Normal方式下,ORACLE禁止用户再登录系统,等待所有已登录用户完成正在进行的事务,待所有事务结束后,将数据库关闭,实例关闭。
Immediate方式下,ORACLE禁止任何用户再登录系统,回滚当前所有正在处理的事务,断开一切客户端连接,将数据库关闭,实例关闭。
Transactional方式下,ORACLE禁止任何用户登录系统,等待正在处理的事务完毕,最后关闭数据库,关闭实例。
Abort方式下,ORACLE直接关闭实例。
配置服务端监听器只需要修改监听器的配置文件即可,通常配置文件位于 $ORACLE_HOME/network/admin/listener.ora中,通过图形方式配置也是一个很好的选择。配置文件的格式如下:
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.13)(PORT = 1521))
)
配置客户端网络服务名相对也很简单,修改相关文件即可,通常文件位于 $ORACLE_HOME/network/admin/tnsnames.ora中,通过图形方式配置也是一个很好的选择。配置文件的格式如下:
DB17 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.17)(PORT = 1521))
)
(CONNECT_DATA =
(SID = inst17)
)
)