Oracle 9i DBA Fundamentals I 学习笔记(1 2 3 )

 

Oracle 9i DBA Fundamentals I学习笔记(一)

Chapter 01--Oracle Architectural Components

1 oracle服务器

包含两个组成部分:oracle instanceoracle database

2 oracle instance

·访问数据库的一种方法

·一个Oracle Instance只能对应一个Oracle database,每次只能打开和使用一个数据库

·由内存结构和后台进程组成:

(内存结构包括SGAPGA,实例启动时创建SGA,服务器进程启动时创建PGA

3 oracle instanceoracle database的关系

一个instance只能对应一个database

一个database可以有多个instance来访问

4 连接到oracle实例包括:建立用户连接和创建会话

连接:客户端和服务器建立的连接(主要是TCP连接)

会话:用户与oracle服务器的一种特定连接。

先建立连接,然后创建会话。连接断开后,会话就随之结束

5 SGA

1)、SGA是动态的

2)、大小由SGA_MAX_SIZE参数指定,SGA的最大值不能超过由SGA_MAX_SIZE指定的值

3)、由SGA组件以粒组为单位进行分配和跟踪

                  ·是连续的虚拟内存分配

                  ·粒组大小由估算的SGA_MAX_SIZE总计大小确定

4)、SGA的大小不能超过

SGA_MAX_SIZE-DB_CACHE_SIZE-LOG_BUFFER-SHARED_POOL_SIZE

-LARGE_POOL_SIZE-JAVA_POOL_SIZE

5)、查看Granule以及SGA的组成部分的SQL语句:

select component, granule_size from v$sga_dynamic_components;

6)、组成部分

·shared pool

·database buffer cache

·redo log buffer

·other structures

7)、查看SGA相关信息

SQL> show sga;

 

Total System Global Area 236000356 bytes

Fixed Size                  451684 bytes

Variable Size            201326592 bytes

Database Buffers          33554432 bytes

Redo Buffers                667648 bytes

SQL>

6 PGA

1)、包含有关单个服务器进程或单个后台进程的数据和控制信息

2)、在创建进程时分配,并在终止进程时回收。PGA是仅供一个进程使用的内存区

7、专用服务器和共享服务器之间的内存分配差异

一般来讲,PGA内存包括下列组件:

内存区

专用服务器

共享服务器

会话内存的特性

专用

共享

永久区的位置

PGA

SGA

运行时区的位置(select

PGA

SGA

运行时区的位置(dml/ddl

PGA

SGA

8、共享池(shared pool

1)、由library cachedata dictionary cache两个内存结构组成。

·库高速缓存(library cache):存储经过编译解析后的SQLPL/SQL语句的内容。包含shared SQL areashared PL/SQL area两个组成部分。

  其大小由shared pool size决定。其大小决定了编译SGL语句的频率,从而影响性能。

·数据字典高速缓存(data dictionary cache):存储数据字典中的部分信息。可以缩短查询和DML的执行时间,其大小由shared pool size决定。

2)、用于存储最近执行的SQL语句最近使用的数据定义

3、大小由SHARED_POOL_SIZE参数决定:

alter system set shared_pool_size=64m;

9、数据库缓冲区高速缓存(database buffer cache

1)、存储已经从数据文件中检索到的数据块的副本。由独立的子高速缓存区组成:

                ·DB_CACHE_SZIE:只调整缺省缓冲区高速缓存的大小,这个参数始终存在且不能设置为零

·DB_KEEP_CACHE_SIZE:调整保留缓冲区高速缓存的大小,用于保留内存中很可能会重新使用的块

·DB_RECOVERY_CACHE_SIZE:调整循环缓冲区高速缓存的大小,用于删除内存中重新使用的可能性很小的块

2)、能够提高获取和更新数据时的性能

3)、主要由参数DB_BLOCK_SIE确定,大小可以动态调整:

                alter system set db_cache_size=96m;

4)、通过设置DB_CACHE_ADVICE,可以收集用于预测不同高速缓存大小行为的统计信息,

统计信息由视图V$DB_CACHE_ADVICE显示

10重做日志缓冲区(redo_log_buffer):

记录对数据库数据块所做的全部更改、主要用户恢复。

其中记录的更改称作重做条目、重做条目包含用于重新构造或重做更改的信息。

大小由LOG_BUFFER参数决定。

11大型共享池

1)、SGA中可选的内存区

2)、分担了共享池的一部分工作

3)、用途:

          ·共享服务器的会话内存(UGA

          ·I/O服务器进程

          ·备份和恢复操作进程或RMAN

          ·并行执行消息缓冲区

          ·不使用LRU

          ·大小由LARGE_POOL_SIZE确定

12进程结构

1)、用户进程:在数据库用户请求连接到oracle服务器时启动

·用户进程并不与Oracle服务器直接进行交互操作,而是通过用户程序接口(UPI)生成各种调用。用户程序接口则可以创建会话并启动服务器进程。

2)、服务器进程:与oracle例程相连接,在用户建立会话时启动。

用户建立连接后,服务器进程便会启动,以处理用户进程的请求

3)、后台进程:在oracle例程启动时启动

13、必备的后台进程

        1)、数据库写入程序(DBWn)

                  在以下情况下写入:

出现检查点

灰数据缓冲区达到阈值

没有空闲缓冲区

出现超时

执行了RAC ping请求

表空间处于OFFLINE状态

表空间处于READ ONLY状态

对表执行DROPTRUNCATE操作

对表空间执行BEGIN BACKUP

2)、日志写入器(LGWR)

LGWR在以下情况下写入:

·当提交事务时

当重做日志缓冲区的三分之一填满时

当重做日志缓冲区中记录了超过1 MB的更改时

DBWn将数据库缓冲区高速缓存中修改的块写入数据文件以前

每隔三秒

3)、系统监控程序(SMON)

职责:

例程恢复

前滚重做日志中的更改

打开数据库供用户访问

回退未提交的事务处理

合并空闲空间

回收临时段

4)、过程监视器(PMON)

例程失败后,通过以下方法进行清理:

回退事务处理

释放锁

释放其它资源

重新启动已失效的调度程序

5)、检查点(CKPT)

职责包括:

在检查点发信号给DBWn

使用检查点信息更新数据文件的标头

使用检查点信息更新控制文件

14表空间:

Oracle数据库内的数据存储在表空间内。

• Oracle数据库可以从逻辑上分组到称为表空间的更小的逻辑空间区。

一个表空间在某一时刻只能属于一个数据库。

每个表空间由一个或多个称为数据文件的操作系统文件组成。

表空间可能包含一个或多个段。

表空间可以在数据库运行时联机。

除了SYSTEM表空间或者有活动还原段的表空间,可将其它表空间置于脱机状态而不会影响数据库运行。

表空间可以在可读写和只读状态之间切换。

15、数据文件(不是逻辑结构):

• Oracle数据库内的每个表空间由一个或者多个称为数据文件的文件组成。这些物理结构与在其上运行Oracle服务器的操作系统是一致的。

一个数据文件只能属于一个表空间。

通过分配指定数量的磁盘空间加上少量的开销,Oracle服务器创建表空间数据文件。

数据文件创建后,数据库管理员可以更改其大小或者指定数据文件应随着表空间内对象的增长而动态增长。

16、段:

段是在表空间中为特定逻辑存储结构分配的空间。

表空间可以由一个或多个段组成。

段无法跨越表空间;但是段可以跨越属于同一表空间的多个数据文件。

每个段由一个或多个区组成。

17、区:

按区向段分配空间。

一个或多个区组成一个段。

当段创建后,它至少由一个区组成。

随着段的增长,需要向该段添加区。

– DBA可以手动向段添加区。

一个区就是一组连续的Oracle块。

区无法跨越数据文件,所以,它必须存在于一个数据文件内。

Oracle 9i DBA Fundamentals I学习笔记(二)

Chapter 02—Getting started with the oracle server

1 数据库管理工具

工具

说明

Oracle Universal Installer (OUI)

用于安装、升级或删除软件组件

Oracle Database

Configuration Assistant

OUI进行交互的图形用户界面工具,也可单独使用,用于创建、删除或修改数据库

SQL*Plus

用于访问Oracle数据库中数据的实用程序

Oracle Enterprise Manager

用于管理、监视和优化一个或多个数据库的图形界面

2 Universal Installer具有以下功能:

检测组件之间的相关性并根据检测结果执行安装。

可用于指向定义了发布或登台区域的URL,并可通过HTTP远程安装软件。

可用于删除已安装的产品。卸装操作是对安装操作的撤消

维护目标计算机上所有Oracle主目录的清单,其中包括主目录的名称、产品以及主目录上安装的产品的版本。

检测操作系统的语言,并用该语言运行安装会话。

可在交互模式或静默模式下运行。Oracle Universal Installer使用响应文件在静默(或非交互)模式下运行。

3 非交互式安装oracle

使用response file来安装。使用response file可以同时在很多台机器上进行安装。

语法:./runInstaller -responsefile myrespfile -silent

4 DBCA数据库配置助手

语法:./dbca

5、数据库管理员用户(SYSSYSTEM用户)

都是系统自动创建的用户。

SYS:超级用户,数据字典的所有者,缺省口令是change_on_install

SYSTEMOracle工具使用的附加内部表和视图的所有者,缺省口令是manager

在高版本里面不设置默认口令。

6 SQL*Plus

连接命令:sqlplus /nolog

                           conn / as sydba

启动监听器:lsnrctl start。启动监听器后,可以通过客户端连接数据库服务器

7 Oracle Enterprise Manager

用作DBA的集中系统管理工具

管理、诊断和优化多个数据库的工具

从多个位置管理多个网络节点和服务的工具

用于与其他管理员共享任务

提供管理并行服务器和复制的数据库的工具

8  Oracle Enterprise Manager体系结构

Oracle Enterprise Manager使用三层体系结构,其中包括:

第一层:控制台客户机和集成工具,为管理员提供图形界面。

第二层:Oracle Management Servers和数据库资料档案库,为处理系统管理任务提供可伸缩的中层结构。

第三层:安装在每个节点上的智能代理,监视Oracle Enterprise Manager服务并执行Management Server上的任务。

 

并非在所有情况都需要采用三层系统的Oracle Enterprise ManagerOracle Enterprise Manager也可以仅有两层体系结构,该结构直接连接至数据库。使用独立启动的控制台,一个用户可以使用一个或多个应用程序,而无需使用Oracle Management Server或智能代理。

如果要执行无需使用作业、事件或组系统的基本管理任务,可以使用独立控制台。

Oracle 9i DBA Fundamentals I 学习笔记(三)

Chapter 03—Mangagering an Oracle Instance

1  初始化参数文件

1)、初始化参数文件的种类:

          ·静态参数文件pfile,一般命名方式为initSID.ora

·永久参数文件spfile,一般命名方式为spfileSID.ora

        2)、两种类型的参数:

                  ·显式参数

                  ·隐式参数

3)、初始化参数文件内容:

例程参数列表

与该例程相关联的数据库的名称

系统全局区(SGA)的内存结构的分配

如何处理已满的联机重做日志文件

控制文件的名称和位置

有关撤消段的信息

为在各种不同情况下优化性能,一个例程可有多个初始化参数文件。

2  PFILE-initSID.ora(命名规则)

文本文件

可以手工修改,使用操作系统编辑器进行修改

修改成功后,在下一次启动实例后生效

仅在例程启动过程中打开,在打开过程中是只读的

默认路径为:$ORACLE_HOME/dbs

 

 1)、PFILE可以位于客户端

2)、创建一个PFILE(使用已经存在的pfile创建一个pfile

cp init.ora $ORACLE_HOME/dbs/initdba01.ora

3  SPFILE-spfileSID.ora

二进制文件

Oracle服务器进行维护,不能手动修改

始终驻留在服务器端

所做更改永久有效,不受关闭和启动的影响

可以自行调节参数值

使恢复管理器能够备份初始化参数文件

默认路径为:$ORACLE_HOME/dbs

 

1)、可以通过PFILE创建SPFLIE(必须具有sysdba权限)

CREATE SPFILE = ‘ $ORACLE_HOME/dbs/spfileDBA01.ora’

FROM PFILE = ‘$ORACLE_HOME/dba/initDBA01.ora’;

在实例启动前后都可以创建。

2)、修改SPFILE

alter system set parameter = value <comment =’text’>

<deferred> <scope=memory | spfile | both><sid=’sid|*’>

其中

parameter_name:要更改的参数的名称

parameter_value:要将参数更改为的值

COMMENT:添加在SPFILE中被更改的参数旁的注释

SCOPE:确定应在内存中、在SPFILE中还是同时在这两个位置进行更改,值缺省值是both

MEMORY:只能在当前运行的例程中更改参数值

SPFILE:只能在SPFILE中更改参数值

BOTH:在当前运行的例程和SPFILE中均可更改参数值

SID:标识要使用的SPFILEORACLE_SID

'sid':更改SPFILE时使用的特定SID

'*':使用缺省SPFILE

deferred:延迟修改,下一次登录时,才修改

4  SPFILEPFLIE的区别:

·SPFILE可以被备份

·SPFLIE减少人为错误,提高安全性

·SPFILE减少配置错误

·容易查找到

5  查看参数:

show parameter parametername;

6startup命令

        1)、startup命令默认读取参数文件的顺序:

·spfileSID.ora

·缺省SPFILE

·initSID.ora

·缺省PFILE

2)、使用startup命令时,可以显式指定要使用的pfile。但不可以指定spfile

        如:startup pfile=$ORACLE_HOME/dbs/init.ora

但是可用通过pfile,调用spfile。只需在pfile中追加以下相关语句,指定要使用的spfile文件:spfile=$ORACLE_HOME/dbs/spfileabc.ora

 3)、谁可以启动数据库:

有操作系统特权的用户、有sysdba或者有sysoper特权并通过验证的用户。

7  启动数据库的几个阶段:

1)、SHUTDOWN:未启动状态

2)、NOMOUNT:启动实例。在nomount状态,可以创建数据库和控制文件

--读取初始化参数文件

--分配SGA

--启动后台进程。(没有数据库和与之连接)

--打开报警日志和跟踪文件

3)、MOUNT:加载数据库,但没有打开数据库。

加载数据库包括以下任务:

--使数据库与以前启动的实例关联

--定位并打开参数文件中指定的控制文件

--读取控制文件以获取数据文件和重做日志文件的名称和状态。但是,在此时不进行数据文件和联机重做日志文件是否存在的检查。

 

mount状态,可以重命名数据文件、启用和禁用重做日志归档选项、执行完全数据库恢复。

把一个数据库和一个实例挂接起来。读取控制文件(alter database mount

4)、OPEN:打开数据库。读取数据文件和联机重做日志(alter database open)。

Oracle服务器验证所有数据文件和联机重做日志文件是否可以打开,并检查数据库的一致性。如果需要,系统监视(SMON)后台进程将启动例程恢复操作。

 *****************************************************************************************************************

[oracle@oracle9idemo ~]$ sqlplus /nolog

 

SQL*Plus: Release 9.2.0.4.0 - Production on Wed Dec 15 18:06:23 2010

 

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

        

SQL> conn /as sysdba

Connected to an idle instance.

SQL> startup nomount

ORACLE instance started.

 

Total System Global Area 236000356 bytes

Fixed Size                  451684 bytes

Variable Size            201326592 bytes

Database Buffers          33554432 bytes

Redo Buffers                667648 bytes

SQL> show parameter db_name;

 

NAME                                TYPE       VALUE

------------------------------------ ----------- ------------------------------

db_name                             string     denver

SQL> alter database mount;

 

Database altered.

 

SQL> alter database open;

 

Database altered.

 

SQL>

***************************************************************************************************************

8、设置只读模式

STARTUP MOUNT

ALTER DATABASE OPEN READ ONLY;

8  关闭数据库过程

·close a database

SGA数据写到磁盘上、连接数据文件和redolog文件关闭掉。控制文件仍然是打开的。

·unmount a database:关闭控制文件

·shutdown an instance

9  诊断文件

1)、文件类型:

·警告日志(alterSID.log file):记录数据库日常操作的信息

·后台跟踪文件(background trace files):

记录SMONPMONDBWn和其它后台进程失败时产生的重要信息

·用户跟踪文件(user trace files):

记录出现严重用户错误或用户强制执行跟踪文件时产生的重要信息

        2)、命名方式:

background trace files命名方式:SID_processname_PID.trc

user trace files命名方式:SID_ora_PID.trc

alert logdba来管理,位于background_dump_dest中。

3)、存储位置:

·警告日志(alterSID.log file):存储位置由BACKGROUND_DUMP_DEST定义

·后台跟踪文件(background trace files):存储位置由BACKGROUND_DUMP_DEST定义

·用户跟踪文件(user trace files):存储位置由USER_DUMP_DEST定义

10启用或禁用用户跟踪选项(可以在两种级别进行修改设置)

1)、会话级别:

使用ALTER SESSION命令:

ALTER SESSION SET SQL_TRACE = TRUE

执行DBMS过程:

dbms_system.SET_SQL_TRACE_IN_SESSION

2)、例程级别

设置初始化参数:

SQL_TRACE = TRUE

 11、查看用户

desc dba_users;

        

SQL> select username,account_status from dba_users;

        

USERNAME            ACCOUNT_STATUS

------------------------------ --------------------------------

SYS                           OPEN

SYSTEM                       OPEN

DBSNMP                      OPEN

SCOTT                        OPEN

HR                            OPEN

 

        

SQL>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值