oracle+OCP培训笔记.docx

上传人:b****2 文档编号:23191139 上传时间:2023-05-15 格式:DOCX 页数:95 大小:61.73KB
下载 相关 举报
oracle+OCP培训笔记.docx_第1页
第1页 / 共95页
oracle+OCP培训笔记.docx_第2页
第2页 / 共95页
oracle+OCP培训笔记.docx_第3页
第3页 / 共95页
oracle+OCP培训笔记.docx_第4页
第4页 / 共95页
oracle+OCP培训笔记.docx_第5页
第5页 / 共95页
点击查看更多>>
下载资源
资源描述

oracle+OCP培训笔记.docx

《oracle+OCP培训笔记.docx》由会员分享,可在线阅读,更多相关《oracle+OCP培训笔记.docx(95页珍藏版)》请在冰豆网上搜索。

oracle+OCP培训笔记.docx

oracle+OCP培训笔记

体系结构及管理:

2.5-3天

备份与恢复:

5天-5.5天

性能调整:

5天-5.5天

OracleServer:

例程和数据库

用户进程:

客户应用程序(发出SQL语句)

服务器进程:

为用户进程所分配(默认:

一一对应)

执行SQL操作(影子进程)

ORA-1034:

例程未启动(特权用户:

STARTUP)

连接:

用户进程到服务器进程的物理通信通道

会话:

特定用户的连接

例程:

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

SGA(SystemGlobalArea):

数据高速缓存重做日志缓冲区共享池

后台进程:

隐含执行(SMONPMONDBWRLGWRCKPTARCH)

数据库:

由一组OS文件组成

数据文件:

存放数据(数据字典用户数据UNDO数据)

控制文件:

记录和维护数据库的物理结构(关联例程和数据库)

重做日志:

记录数据库变化(恢复数据库)

参数文件:

存放例程的初始化参数(PFILE和SPFILE)

口令文件:

验证特权用户(启动关闭备份和恢复)

归档日志:

非活动重做日志的备份(完全恢复数据库)

处理SELECT:

1解析:

生成执行计划(内部执行步骤)---库高速缓存

2执行:

数据-->数据高速缓存

3提取数据:

数据-->客户端

A:

SELECT*FROMempWHEREempno=7788--100字节

B:

SELECT*FROMempWHEREEMPNO=7788;

9I:

共享池尺寸可以动态修改

数据块:

Oracle在数据文件上执行IO操作的最小单位(8K)

9I:

1不同表空间可以使用不同数据块尺寸(不指定BLOCKSIZE:

标准数据块)

2不同数据块尺寸只能使用不同数据高速子缓存

3数据高速缓存尺寸可以动态修改

DB_nK_cache_size:

定义非标准的数据高速缓存

PGA(ProgramGlobalArea):

存放后台进程和服务器进程的数据和控制信息

1SGA:

共享,PGA:

私有

2pga_aggregate_target(9I):

PGA总计内存空间

排序区:

存放排序操作的临时数据(ORDERBY)

会话信息:

存放会话所具有的权限和角色

游标状态:

SQL语句所处的阶段

堆栈空间:

存放会话变量

处理DML语句:

解析和执行

执行步骤:

1数据-->数据高速缓存

2在被作用行上加锁

3数据变化-->重做日志缓冲区

4修改数据(数据段UNDO段)

UNDO段:

存放事务所修改数据的旧值

UPDATEempSETsal=1000WHEREempno=7788;

INSERT

重做日志缓冲区尺寸不能动态修改

脏缓冲区:

DML操作后的缓冲区

DBWR:

脏缓冲区写入到数据文件(DBWn)---db_writer_processes

--发出检查点

检查点:

用于同步数据库的数据文件控制文件和重做日志(当前SCN完全一致)

1关闭数据库(SHUTDOWNABORT例外)

2日志切换

3强制检查点

4初始化参数

SCN(SystemChangeNumber):

记录数据库变化的惟一标识号(顺序递增)

---备份和恢复

A:

UPDATE---100000

B:

DELETE---100100

LGWR:

重做日志缓冲区-->重做日志

13S

2COMMIT(快速提交)

31/3LOG_BUFFER

4在DBWR之前(先写日志后写数据)

UPDATE

处理COMMIT:

1服务器进程:

COMMIT和SCN-->重做日志缓冲区

2LGWR:

重做日志缓冲区-->重做日志

3提示用户进程:

提交完成

4释放锁

SQL*Plus:

管理数据库(启动例程关闭例程等)

SQL*Loader:

文本文件数据-->数据库

EXP:

数据库数据-->EXP文件(10G:

EXPDP)

IMP:

EXP文件-->数据库(10G:

IMPDP)

ORAPWD:

管理特权用户的口令

SYSDBA:

最高权限(启动和关闭建立数据库)--OS用户:

ORA_DBA组(OSDBA)

SYSOPER:

启动和关闭(不具备DBA角色的权限)--OS用户:

ORA_OPER组(OSOPER)

DBA:

在启动数据库之后执行各种管理操作(不能启动和关闭数据库)

特权用户登录:

ASSYSDBA或者ASSYSOPER

OS验证:

使用OS用户确保特权用户的安全性--不允许远程登录

sqlnet.ora:

ORACLE_HOME\network\admin

ORACLE_HOME:

Oracle数据库软件的安装目录

1修改参数

2重新启动Oracle服务

配置OS验证

口令文件验证:

指使用口令文件确保特权用户的安全性(建议)

--允许远程登录

口令文件默认位置:

ORACLE_HOME\database

口令文件名称:

PWDORACLE_SID.ORA

ORACLE_SID:

例程名(MS)

1删除原有口令文件

2建立口令文件

3修改初始化参数

4重新启动数据库

5修改SQLNET.ORA文件

修改特权用户口令为ADMIN

配置监听程序和网络服务名(NetManager)

监听程序:

用于监听客户端的连接请求(OracleServer端)

1配置监听位置

网络协议:

常用TCP/IP

主机:

机器名或者IP地址

端口:

IP端口号(未占用IP端口)

2配置数据库服务

全局数据库名:

应该设置为初始化参数service_names的值

Oracle主目录:

应该设置为环境变量ORACLE_HOME的值

SID:

应该设置为环境变量ORACLE_SID的值

3保存网络配置,重新启动监听程序

1删除原有监听程序LISTENER

2配置监听程序LISTENER并重新启动

网络服务名:

连接到目标数据库的网络别名(客户端)

NET服务名:

任意指定

协议:

与监听程序的协议必须完全一致

主机名:

监听程序所在机器名或者IP地址

端口:

监听程序所使用的IP端口

服务名:

监听程序所配置的全局数据库名

保存网络配置

1配置网络服务名S1(连接到本地数据库)

2以S1连接到本地数据库,然后检查主机名

3配置网络服务名S2(连接到其他机器数据库)

4以S2连接到其他机器数据库,然后检查主机名

OEM两层结构:

日常数据库管理(独立启动)

1OracleServer:

启动数据库启动监听程序

2客户端:

OEMConsole(配置网络服务名)

OEM三层结构:

日常数据库管理高级管理操作(监视事件运行作业等)

1OracleServer:

启动数据库启动监听程序启动Agent

2OracleManagementServer:

启动OMS服务--配置资料档案库

3客户端:

OEMConsole

InstanceManager:

启动例程关闭例程修改初始化参数--以特权用户登录

SecurityManager:

管理用户角色以及PROFILE(概要文件)

--特权用户或者DBA用户

1启动OEMConsole

2以SYS用户登录到本地数据库(MS),关闭并重新启动例程

3以SYSTEM用户登录到数据库,建立用户USER1并授予系统权限UNLIMITED

TABLESPACE

4运行SQL*Plus以USER1用户登录

StorageManager:

管理表空间数据文件和重做日志等--特权用户和DBA用户

SchemaManager:

管理数据库对象()

SQL*PlusWorksheet:

SQL*Plus图形化工具(独立工具)

1以SYSTEM用户登录,建立表空间TBS1(数据文件名:

TBS1.DBF,尺寸:

10M)

2以SYSTEM用户登录为SCOTT用户授予角色和权限,使该用户可以使用OEMConsole

3以SCOTT用户登录,在TBS1表空间上建立表T1

4以SCOTT用户运行SQL*PLUSWORKSHEET

参数文件:

用于存放启动例程所需要的初始化参数

1200多个初始化参数

2多数参数都有默认值

3参数文件:

非默认的初始化参数

PFILE:

文本格式存放参数--9I之前

SPFILE:

二进制格式存放参数--9I新特征(建议)

参数文件默认位置:

ORACLE_HOME\database

PFILE默认名称:

initSID.ora(SID:

例程名)

SPFILE默认名称:

spfileSID.ora

常用参数:

db_name:

指定数据库名称

instance_name:

指定例程名=db_name

service_names:

指定数据库服务名=db_name.db_domain

control_files:

指定数据库的控制文件(关联例程和数据库)

undo_tablespace:

指定例程默认的UNDO表空间

PFILE:

直接编辑进行修改

SPFILE:

不能直接编辑

修改PFILE:

1参数存在--直接编辑

2参数不存在--在尾部增加一行

3每行只能设置一个参数

修改SPFILE:

SCOPE=SPFILE

db_namedispatchers:

不能使用SPFILE修改

1建立PFILE

2手工编辑PFILE修改参数

3重新启动例程(指定PFILE)

4建立SPFILE

启动和关闭:

SYSDBA或者SYSOPER身份

STARTUP选项:

1NOMOUNT:

启动例程

2MOUNT:

启动例程装载数据库

3OPEN(默认):

启动例程装载数据库打开数据库

4FORCE:

强制重新启动(SHUTDOWNABORTSTARTUPOPEN)

STARTUP或者SHUTDOWN:

确保已经启动例程服务(OracleServicems)

1确定当前例程正在使用的参数文件

2修改初始化参数timed_statistics的值为FALSE(SPFILE)

3使用SHUTDOWNIMMEDIATE命令关闭数据库

4使用STARTUP启动例程并打开数据库

5检查参数timed_statistics的值

6建立PFILE文件inittemp.ora

7依据inittemp.ora建立SPFILE文件spfileaa.ora

SHUTDOWN:

NORMAL(默认):

等待所有客户应用断开连接

TRANSACTIONAL:

不会等待断开连接等待事务结束

IMMEDIATE:

不会等待事务结束(自动回退未提交事务)

--发出检查点

ABORT:

快速终止例程和数据库--不会发出检查点(自动例程恢复)

--防止物理文件损坏

动态性能视图:

显示例程的相关信息(特权用户和DBA用户)

静态初始化参数:

指只能通过修改参数文件进行修改的参数

动态初始化参数:

指在数据库运行时可以动态修改的参数

ALTERSESSION:

只对当前会话生效

ALTERSYSTEM:

对所有会话都生效

ALTERSYSTEM(9i默认):

修改内存和SPFILE

ALTERSYSTEM..DEFERRED:

只对将来会话生效

终止会话:

终止阻塞会话

1以SYS用户建立会话一,以SCOTT用户建立会话二

2在会话二中更新雇员7788的工资为1000

3在会话一中使用SHUTDOWNTRANSACTIONAL关闭例程?

4在会话二中提交事务,然后在会话一中检查例程是否已经关闭

5启动例程并打开数据库,然后显示数据库所有物理文件

6显示例程名及其状态

7显示数据库名及日志操作模式

8修改当前会话的日期格式YYYY/MM/DD,然后显示当前系统日期

建立数据库:

1OS用户:

ORA_DBA组

2特权用户:

SYSDBA身份

3UNIX共享内存区>2*SGA

修改字符集:

只能在同民族的字符集之间进行修改(ZHS16GBK--ZHS16..)

WE8ISO..

ORACLE_SID:

设置例程标识符

ORACLE_BASE:

软件基目录

ORA_NLS33(指定字符集):

使用除US7ASCII之外的其他字符集

NLS_LANG=语言_地区.字符集

在Windows平台上建立数据库:

1建立例程服务(确定例程名特权用户口令)

2准备SPFILE:

基于默认例程建立PFILE文件

编辑PFILE文件

db_name=instance_name

control_filesdb_block_size

undo_tablespace

background_dump_dest:

指定ALERT文件和后台进程跟踪文件所在目录

user_dump_dest:

指定用户进程跟踪文件所在目录

建立SPFILE

3启动例程

4建立数据库

5安装数据字典PL/SQL包和PROFILE

6配置网络

1建立例程服务(例程名:

DEMO)

2建立SPFILE文件spfiledemo.ora,参数设置:

db_name=demo

instance_name=demo

db_block_size=2048

control_files=c:

\demo\control01.ctl

background_dump_dest=c:

\demo\bdump

user_dump_dest=c:

\demo\udump

undo_tablespace=undotbs1

3建立文件夹demoudumpbdump

三启动例程(以SYSDBA身份登录)

四建立数据库

出错处理:

1语法错误:

编辑SQL脚本

2要建立的文件已经存在(SHUTDOWN删除已建立的所有文件

STARTUPNOMOUNT重新建立)

1登录到DEMO例程,并启动该例程

setoracle_sid=demo

2查询V$INSTANCE确定例程名及其状态

3建立DEMO数据库

日志组一:

c:

\demo\redo1a.logSIZE10M

日志组二:

c:

\demo\redo2a.logSIZE10M

SYSTEM表空间数据文件:

c:

\demo\system01.dbfSIZE150M

默认临时表空间:

TEMP(临时文件:

c:

\demo\temp.dbfSIZE20M)

UNDO表空间:

undotbs1(数据文件:

c:

\demo\undotbs1.dbfSIZE30M)

SYS口令:

admin

SYSTEM口令:

manager

字符集:

ZHS16GBK

4查询V$INSTANCE确定例程状态

5安装数据字典PL/SQL包和PROFILE

安装以前检查:

SELECTinstance_name,statusFROMv$instance;

安装数据字典:

catalog.sql(必须以SYS用户运行)

@%oracle_home%\rdbms\admin\catalog

安装PL/SQL包:

catproc.sql(必须以SYS用户运行)

@%oracle_home%\rdbms\admin\catproc

安装PROFILE:

pupbld.sql(必须以SYSTEM用户运行)

@%oracle_home%\sqlplus\admin\pupbld

6配置网络

配置监听程序:

配置数据库服务重新启动监听程序

配置网络服务名

1配置监听程序(增加DEMO数据库),然后重新启动监听程序

2配置网络服务名DEMO

3以SYS用户使用不同网络服务名分别连接到MS和DEMO

数据库,并查询V$INSTANCE确定例程名

数据字典:

Oracle系统的最重要组成部分

--存放着数据库的系统信息

数据字典存放位置:

SYSTEM表空间

数据字典所有者:

SYS用户

SELECT

SYS.AUD$:

内容可以被删除(DELETE)

数据字典组成:

数据字典基表:

存放着基本信息(..$)--建立数据库时自动

建立(sql.bsq)

数据字典视图:

基于基表所建立的视图(catalog.sql)

--取得数据库系统信息

数据字典视图分类:

USER_XXX:

当前用户所拥有的对象

ALL_XXX:

当前用户可访问的所有对象

DBA_XXX:

数据库的所有对象

1USER_XXXALL_XXX:

所有用户可以直接访问

2DBA_XXX:

DBA角色或者SELECT_CATALOG_ROLE角色

DICT:

显示当前用户可访问的所有数据字典和动态性能视图

DICT_COLUMNS:

显示字典列的作用

DBA_SEGMENTS:

显示数据库所有段的详细信息

DBA_DATA_FILES:

显示所有数据文件的详细信息

DBA_TABLESPACES:

显示表空间的详细信息

1以SYSTEM用户登录到MS数据库,显示DBA_TABLES列

table_name和owner的作用

2查询数据字典显示SCOTT用户的所有索引及惟一性

DBA_INDEXES

3显示数据库的所有用户以及默认表空间(DBA_USERS)

4查询DBA_SEGMENTS显示SCOTT用户EMP段所在的表空间

段类型及尺寸

5显示当前数据库的所有表空间名

6显示表空间SYSTEM所包含的数据文件及尺寸(dba_data_files)

控制文件:

用于维护和记录数据库的物理结构

V$XXX:

SGA和控制文件(物理结构相关)

V$DATABASEV$DATAFILE等

多元化控制文件:

防止控制文件损坏

--分布控制文件到不同磁盘

1修改初始化参数control_files

2关闭数据库

3复制控制文件(关闭之后复制)

4重新启动数据库

V$CONTROLFILE:

显示数据库包含的所有控制文件

V$CONTROLFILE_RECORD_SECTION:

显示控制文件所记载

各记录部分的详细信息

1列出DEMO数据库所有控制文件

2为DEMO数据库增加两个控制文件

C:

\DEMO\CONTROL02.CTL

C:

\DEMO\CONTROL03.CTL

3列出DEMO数据库控制文件,以及控制文件所记载数据

文件部分的信息

4关闭数据库,删除CONTROL03.CTL文件,然后启动数据库

查看显示信息

5解决控制文件CONTROL03.CTL的损坏

ALTERSYSTEMSETCONTROL_FILES='',''

SCOPE=SPFILE;

STARTUPFORCE

重做日志:

记录数据库变化(DDLDML)--恢复数据库

1每个数据库至少包含两个日志组

2日志组循环使用

3建议:

每个日志组应该包含多个日志成员(镜像)

--防止日志成员损坏

DBWR:

脏缓冲区-->数据文件(发出检查点)

LGWR:

重做日志缓冲区-->重做日志(COMMIT在DBWR之前)

CKPT:

发出检查点(同步所有物理文件)--基于SCN

关闭数据库(ABORT例外)日志切换

ARCH:

重做日志-->归档日志(ARCHIVELOG模式)

日志切换

10:

00检查点SCN=100000

AUPDATESCN=100100

BDELETESCN=100200

ACOMMITSCN=100300

断电

启动(例程恢复)

1比较SCN

2REDO

3打开数据库

4UNDO--取消未提交事务

日志序列号:

重做日志的使用标识号(顺序递增)

日志组一:

1357911--数据文件损坏

日志组二:

246810

6---备份

NOARCHIVELOG:

不保留重做日志内容的日志操作模式

恢复--只能恢复到完全备份点的状态

ARCHIVELOG:

将重做日志内容复制到归档日志的日志操作模式

ARC6ARC7..ARC10

恢复--恢复到失败点状态

V$LOG:

显示日志组的详细信息

V$LOGFILE:

显示日志成员的信息

日志切换:

LGWR停止写一个日志组,开始写另一个日志组

的事件

手工日志切换:

自动日志切换:

日志组写满

检查点:

手工检查点:

初始化参数fast_start_mttr_target:

控制例程恢复

的最大时间(单位:

秒)=600

1检查当前日志操作模式

2显示DEMO数据库的日志组信息(组号状态尺寸)

3显示日志组2所包含的日志成员

4手工切换日志,确定当前正在使用的日志组及日志序列号

增加日志组:

ALERT文件:

Checkpointnotcomplete或者

Groupnotarchived

增加日志成员:

防止日志成员损坏(镜像)

默认:

每个日志组最多2个日志成员

STALE:

很长时间未使用(太大)

重定位重做日志:

不能移动当前日志组的日志成员

1移动到速度最快的硬盘上

2移动日志成员到不同磁盘上

删除日志组:

1日志组所有成员全部损坏

2改变日志组尺寸(建议:

20分钟--30分钟之间切换日志组)

建立大日志组

删除小日志组

1当前正在使用的日志组不能删除

2逻辑删除(物理文件需要手工删除)

删除日志成员:

删除损坏的日志成员

--当前正在使用日志组的日志成员不能删除

清除重做日志:

(UNIX)在OPEN状态误删除了当前日志组的

所有成员

--先建立后删除日志组(组号不会改变)

OMF(OracleManagedFile):

9I新特征

1建立日志组和数据文件时不需要指定文件名

2删除日志组和表空间时会自动删除相应文件

db_create_online_log_dest_n(n=1..5):

指定OMF日志成员所在目录

db_create_file_dest:

指定OMF数据文件所在目录

1增加一个新日志组,日志成员(尺寸:

10M):

C:

\DEMO\REDO3A.LOG

C:

\DEMO\REDO3B.LOG

2为日志组一和日志组二分别增加一个日志成员

日志组一:

C:

\DEMO\REDO1B.LOG

日志组二:

C:

\DEMO\REDO2B.LOG

3显示所有日志成员信息

4手工切换日志三次,然后显示所有日志成员信息

5关闭数据库,手工删除日志文件C:

\DEMO\REDO1B.LOG

6重新启动数据库

7确定损坏的日志成员,并删除该日志成员

逻辑:

数据库由一个或多个表空间组成

表空间:

由一个或多个数据文件组成

数据文件不能被删除

段:

用于存放特定逻辑对象的所有数据,由一个或多个区组成

表段:

存放表的数据(段名=表名)

索引段:

存放索引的数据(段名=索引名)

临时段:

存放排序操作的临时数据

UNDO段:

存放UNDO数据

区:

Oracle分配空间的逻辑单位,由连续的数据块组成

每次扩展:

一个区

Oracle块(数据块):

Oracle在数据文件上执行IO操作的最小

单位

1以SYSTEM用户连接到MS数据库,显示该数据库的所有

表空间

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1