oracle教程.docx
- 文档编号:6057379
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:49
- 大小:42.58KB
oracle教程.docx
《oracle教程.docx》由会员分享,可在线阅读,更多相关《oracle教程.docx(49页珍藏版)》请在冰点文库上搜索。
oracle教程
转载:
部分目录
安装篇1
oracle的体系结构1
第三章:
oracle实例的管理2
第四章:
数据字典3
控制文件:
3
第五章重做日志文件4
第六章控制文件5
第七章表空间和数据文件的管理6
第八章管理还原段9
第九章管理表10
第十章索引的管理与维护12
第十一章用户及系统资源和安全的管理13
第十二章管理权限14
第十三章管理角色(未完成)15
十四章非归档模式下的冷备和恢复18
第十五章数据库的归档模式19
第十六章数据库的联机热备份20
第十七章归档模式下的数据库完全恢复22
第十八章闪回24
第十九章配置网络环境28
第二十章ASM管理29
第二十一章安全30
安装篇
用户锁定及解锁:
在10G及以上的版本,所有oracle默认的用户都将被锁住,要以system,sys用户登录,并解锁
AlteruserScottidentifiedbytigeraccountunlock;
Alteruserhraccountunlock;
Alteruserhridentifiedbyw123创用户改口令
如果某用户及下属内容发生问题,
用系统登录,SQL>@E:
\oracle\product\10.2.0\db_1\RDBMS\ADMIN\scott.sql来重建
oracle的体系结构
1:
oracle服务器由oracle实例和oracle数据库两大部分组成
2:
oracle实例是一种访问数据库的机制,它由内存结构和一些后台进程组成。
内存结构-也称SGA系统全局区(systemglobalarea),
SGA包括sharepool(共享池),dbbuffercache(数据库高速缓冲区),redologbuffer(重做日志缓冲区)
后台进程有五个是必需的,任一个未能启动,该实例都将自动关闭。
五个进程分别是:
SMON、PMON、DBWR、LGWR、CKPT
实列一旦启动既分配系统全局区和启动所需的后台进程
3:
Oracle数据库也称物理结构(外存中),由三类文件组成:
控制文件,重做日志文件,数据文件
控制文件:
包含了维护和校验数据库一致性所需的信息
重做日志文件:
包含了当系统崩溃后进行恢复所需记录的变化信息
数据文件:
包含了数据库中真正的数据
4:
Oracle其他的关键文件:
初始化参数文件(parameterfiles),密码文件(passwordfiles),
归档重做日志文件(archivedredologfiles)-是重做日志文件的脱机备份
5:
建立与ORACLE实例的连接
Oracle实是用startup命令启动的,启动后,SGA内存结构都已生成,必须的后台进程都已在内存运行
6:
服务器进程
当oracle创建一个服务器进程的同时要为该服务器进程分配一个内存区,该区称为PGA,是一个私有的内存区,只属于一个进程。
它随进程的创建而被分配,随进程的终止而被回收。
7:
共享池
SGA中的共享池由库高速缓存和数据字典高速缓存组成,二者的修改大小只能间接设置共享池的大小来起作用,shared_pool_size
Altersystemsetshared_pool_size=32M;注意共享池的地址大小受限于SGA_MAX_SIZE
8:
数据库高速缓冲区:
用DB_BLOCK_SIZE,DB_BLOCK_BUFFERS来设置数据高速缓冲区的大小,为二者乘积
DB_BLOCK_SIZE为oracle数据块的大小。
DB_BLOCK_BUFFERS为内存缓存区的个数
一般通过设置DB_BLOCK_BUFFERS的值来调整数据库高速缓冲区的大小,且需要重启数据库
在9i或以后版本中,oracle引入了另一个参数DB_CACHE_SIZE
Altersystemsetdb_cache_size=48m
9:
几大进程
LGWR(重做日志写进程):
负责将重做日志缓冲区的记录顺序地写到重做日志文件中。
DBWR(数据写进程):
负责将数据库高速缓冲区中的脏缓冲区中的数据写到数据文件中
一个实例上最多启动10个数据写进程
SMON(系统监督进程):
数据库崩溃了,系统监督进程将自动地执行oralce实例的恢复工作
PMON(进程监督进程):
CKPT(效验点和效验点进程):
负责通知DBWR进程将脏数据写到数据文件中,更新数据文件头及控制文件上的检查点信息。
根本意义在于减少崩溃恢复时间。
ARCH(归档日志进程):
第三章:
oracle实例的管理
1:
初始化参数文件
9I之后有二种不同类型的初始化参数文件,
静态参数文件(PFILE),正文文件文件名-initSID.ora
动态服务器参数文件(SPFILE),二进制文件spfileSID.ora
修改SPFILE文件中的参数,最后使用altersystemset….
2:
启动数据库
Startup后spfileSID.ora,spfile.ora,initSID.ora
可用startuppfile=c:
\.....\initSID.ora改变执行次序
Startupnomount,startupmount,alterdatabaseopen
在liunx/unix上$file$ORACLE_HOME/bin/oracle查看oracle执行文件来判断oracle是64位或是32位
3:
三种常见的诊断文件
AlertSID.log,后台进程跟踪文件,用户进程跟踪文件
Showparameterdump_dest这个好一些
Selectname,valuefromv$parameterwherenamelike‘%_dest’;
第四章:
数据字典
1:
用户和DBA只能通过访问数据字典视图来得到数据库的相关信息,可用SQL的查询语句从数据字典中获取信息。
2:
DBA_*,ALL_*,USER_*,*可以为tables,indexes,objects等。
DBA_开头的视图包含了整个数据库范围的数据。
ALL_开头的视图包含了当前登陆用户有权看到的权限。
USER_开头的视图包含了当前登陆用户所拥有所有表的信息。
User_tables~~user_catalog
4:
数据字典非常多,dict视图记录了所有数据字典视图的名称,select*fromdictionary(dict)
例如:
selecttable_namefromdictwheretable_namelike‘%****%’
5:
动态性能视图:
实时反映数据库允许状态,讲内存里数据或控制文件中里的数据以表的形式展现出来。
系统运行时,则不断更新,与数据字典中数据不同。
v$fixed_table
Select*fromv$fixed_table
(1)Spoolc:
\*.txt,spooloff
(2)用WHERE来限制查询语句
5:
v$database,v$instance,v$version,v$controlfile,v$log,v$logfile,dba_tablespaces,dba_data_files,dba_users
核心二点:
dict,v$fixed_table;
控制文件:
使用数据字典v$parameter获取控制文件名
Sql>selectvaluefromv$parameterwherename=’controlfile_files’
Sql>select*fromv$controlfile;
控制文件备份:
alterdatabasebackupcontrolfileto‘u01/backup/control.bak’
移动控制文件步骤
Sql>showparameterspfile有值为spfile
以spfile为例
1)获取控制文件名和路径selectnamefromv$controlfile
2)建一个目录来存放控制文件在OS中mkdir/u01/backup
3)修改spfile,改变控制文件的位置
Sql>Altersystemsetcontrol_files=’/u01/backup/control01.ctl’;
4)shutdownimmediate
5)sql>!
cp/u01/app/…./control01.ctl/u01/backup/control01.ctl拷贝具体的控制文件到制定的位置
6)startup
7)验证新的控制文件selectnamefromv$controlfile
8)删除无用的控制文件rm
口令文件
口令文件位于$ORACLE_HOME/dbs目录下,缺省的名称为orapw
Sysdba/sysoper权限的用户通过v$pwfile_users查询
第五章重做日志文件
1:
日志切换和检查点:
强制产生重做日志切换—altersystemswitchlogfile
强制产生检查点—altersystemcheckpoint
Fast_start_mttr_target设置产生检查点
2:
获取重做日志的信息:
oracle提供了二个获取日志信息的数据字典v$log,v$logfile
Sequence#:
每个重做日志都有唯一的序列号以供日后数据恢复时使用
Status:
inactive-实例恢复不需要这组重组日志组了,如果在归档模式下,归档状态为NO,不可删除要则等待系统完成归档,若系统出现问题,可以通过手工归档。
Active-是活动的,但不是当前的,实例恢复需要这组。
Current—当前组
Unused—刚加入数据库中的状态
V$logfile中Status:
stale-表示文件的内容是不完全的
空白-该文件正在使用
Invalid—不可在使用了
3:
添加和删除联机重组日志文件组
Alterdatabaseaddlogfile‘\\*.log’size*m;
Alterdatabasedroplogfilegroup*,操作系统中的文件也要删除
4:
添加和删除联机重做日志成员
Alterdatabaseaddlogfilemember‘\\*.log‘togroup*
Alterdatabasedroplogfilemember‘文件名‘
当前的重做日志组不能删除,要删除,先使用切换命令,比较好的是对组来操作
重做日志组建议三个组及以上,成员三个。
5:
手工归档-altersystemarchivelogsequence*;
6:
切换命令-altersystemswitchlogfile;
7:
强制清除未完成归档日志组的内容:
alterdatabaseclearunarchivedlogfilegroup*;
Alterdatabaseclearlogfilegroup*;
8:
如何修改日志文件的大小
1)查看v$log,v$logfile状态,归档,地点
2)添加联机重组日志文件组,定义需要的日志文件大小
3)强制切换日志,使数据库使用新创建的日志组
4)将归档为yes,status为inactive的日志组删除,
如为NO—INACTIVE,则不能删除,要不等待归档完成,如果系统出现问题,可以手工归档。
5)删除os下的日志文件.
9:
丢失非活动日志的故障恢复
丢失是非活动日志组,由于非活动日志组已经完成检查点,数据不会丢失,
此时只需通过clear重建该日志组即可恢复。
1)切换到该组,报错
2)从告警日志中获得部分信息
3)Startup–只能到MOUNT
4)在mount下,查看v$log,v$logfile
5)清除该日志组alterdatabaseclearlogfilegroup*
6)启动数据库,alterdatabaseopen;
7)查看,切换,查看
(以下与恢复对应着来看)
10:
丢失活动或当前日志文件的恢复
损失当前日志时,数据库是正常关闭的
1)Startup–只能到MOUNT
2)清除该日志组
3)无法对当前日志clear时(alterdatabaseclearunarchivedlogfilegroup*),进行以下步骤
4)Recoverdatabaseuntilcancel
5)Alterdatabaseopenresetlogs;
损失当前日志时,数据库是异常关闭的
1)altersystemset“_allow_resetlogs_corruption“=truescope=spfile;强制启动数据库,跳过一致性检查,
2)shutdownimmediate
3)startupmount
4)recoverdatabaseusingbackupcontrolfileuntilcancel
5)alterdatabaseopneresetlogs
6)startup
7)导出数据,重建库,再导入
第六章控制文件
查看控制文件中全部记录的相关记录
用数据字典v$parameter,v$controlfile获取控制文件所在位置,名称。
移动控制文件
一:
用PFILE
1)用v$conftrolfile获取信息
2)关闭数据库
3)修改控制文件中的control_file
4)将现有的控制文件COPY到制定位置
5)重启数据库
6)用v$conftrolfile来验证
7)删除无用的旧控制文件
二:
用spfile
1)用v$conftrolfile获取信息
2)Altersystemsetcontrol_files=’\\.ctl’scope=spfile
3)关闭数据库
4)将现有的控制文件COPY到制定位置
5)重启数据库
6)用v$conftrolfile来验证
7)删除无用的旧控制文件
第七章表空间和数据文件的管理
1:
Oracle数据库中的存储机构
每个数据库有一或多个表空间组成
每个表空间存放一或多个段
每个表空间存放一或多个os的数据文件(对应物理结构)
每个段是由一个或多个区段组成
每个区段由一个或多个连续的oracle数据块组成
每个oracle数据块是由一或多个os数据块所组成(对应物理结构)
每个os数据文件是由一或多个区段所组成
每个os数据文件是由一个或多个os数据块所组成
2:
oracle一般有两类表空间
系统表空间,非系统表空间
系统表空间存有数据字典,系统还原段,从效率和管理考虑,系统表空间不存放任何用户数据
9i中默认使用本地管理的表空间
数据字典:
dba_tablespaces,dba_data_files
临时表空间-是作为排序操作使用的,当大规模的多重排序而内存排序区不够时,使用临时表空间就可改进数据库的效率。
为了优化某一临时表空间中排序的效率,还应将unifromsize设为sort_area_size参数的整数倍。
创建表空间及其数据
将某个临时表空间设为默认临时表空间-alterdatabasedefaulttemporarytablespace**.temp;
3:
表空间脱机
系统表空间,有还原段的表空间,默认临时表空间不可脱机,v$datafile
Altertablespace**offline/online;
4;只读表空间
Altertablespace**readonly
Altertablespace**readwrite
5:
改变表空间的存储设置
Altertablespace表空间名
Minimumextent正整数K/M
DEFAULT存储之句
6:
重置表空间的大小
1)改变数据文件的大小
在创建时使用autoextendon自动地改变数据文件的大小
在创建后使用带autoextendon选项的alterdatabase命令手动地改变数据文件的大小
例:
Alterdatabasedatafile‘‘autoextendon
2)使用altertablespace语句来增加数据文件,
例:
altertablespace**adddatafile‘‘size*m;
从dba_data_files中autoextensible项查看
7:
重置数据文件的大小
从dba_data_files中BYTES项查看
Alterdatabasedatafile‘‘resize*m;
8:
移动数据文件的方法
1)移动没有活动的还原数据或临时段的非系统表空间的数据文件
用数据字典dba_data_files获取表空间和数据文件的信息
将表空间脱机
移动数据文件到指定的位置
指定位置,altertablespace**renamedatafile‘‘to‘‘;
将表空间联机
2)移动系统表空间和不能置为脱机的表空间的数据文件
用数据字典dba_data_files获取表空间和数据文件的信息
关闭数据库
Startupmount
移动数据文件到指定的位置
指定位置,altertablespacerenamefile‘‘to‘‘;
Alterdatabaseopen
查看
9:
删除表空间
系统表空间和有活动段的表空间不可删除
Droptablespace表空间名
Droptablespace表空间名includingcontentsanddatafiles
10:
利用OMF来管理表空间
用OMF管理表空间简化了表空间和对应的数据文件的管理和维护
表空间被创建时,数据文件将自动地创建并存在db_create_file_dest参数所定义的目录中,文件默认大小100mb,autoextend参数被设置为unlimited.删除表空间时,数据文件自动删除。
以system,sys用户登录
Altersystemsetdb_create_file_dest=‘‘
Createtablespace表空间名
Createtablespace**
Datafile‘.dbf’size*m
Minimumextent*kextentmanagementdictionary(extentmanagementlocal)
Defaultstorage(initial50knext50kmaxextents100pctincrease0)
第八章管理还原段
在oracle9i之后提供了两种方法来管理还原数据
自动的还原数据管理:
oracle自动管理还原段的创建、分配和优化
手动的还原数据管理:
oracle手动管理还原段的创建、分配和优化
在oracle数据库中,当某个进程修改数据时,oracle首先将它的原始值存入到一个还原段中
Oracle使用还原段的目的有三个
事务回滚:
当操作了一些DML语句之后,要退回原有的情况,此时oracle就会将还原段中的原始数据回写到原来的数据行中
事务恢复:
当事务在运行期间实例崩溃了,则当数据库再次打开时就要还原所有没有提交的变化
保证数据的读的一致性:
当某些事务改变了未提交,其他用户看不到其变化
还原段的类型:
系统还原段-仅供系统表空间中的对象变化所有
非系统还原段-仅供其他表空间中的对象变化所有
自动管理还原数据二个参数
Undo_management–说明系统是使用auto还是manual
Undo_tablespace–说明系统使用那个还原表空间,altersystemsetundo_tablespace=undotbs1
用命令查看还原数据的管理
Colnamefora30,Colvaluefora50
Selectname,valuefromv$parameterwherenamelike‘%undo%’
还原表空间的创建与维护
Createundotablespacelc_undodatafile‘e:
\lc367\lc_undo.dbf’size20m
用此查看Selectname,value,contentsfromv$parameterwherenamelike‘%undo%’
动态修改还原表空间
修改:
另增,Altertablespacelc_undoadddatafile‘e:
\lc367\lc1_undo.dbf‘size25m
查看:
Setline120colfile_namefora40,coltablespace_namefora15
Selectfile_id,file_name,tablespace_name,bytes/1024/1024mbfromdba_data_fileswheretablespace_namelike‘lc%’
设置空间自动扩展Alterdatabasedatafile‘‘autoextendon;
查看Selectfile_id,file_name,tablespace_name,autoextensiblefromdba_data_fileswheretablespace_namelike‘lc%’
还原表空间之间的切换
Altersystemsetundo_tablespace=####切换成其他的表空间
切换后查看Selectname,valuefromv$parameterwherenamelike‘%undo%’
删除还原表空间
无法删除当前正在使用的还原表空间,删除方法:
切换到一个新的还原表空间,等所有当前事务完成后删除该还原表空间
参数介绍:
1)Undo_reten
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 教程