ORACLE数据库日常维护手册.docx

上传人:b****1 文档编号:748445 上传时间:2023-04-30 格式:DOCX 页数:66 大小:149.87KB
下载 相关 举报
ORACLE数据库日常维护手册.docx_第1页
第1页 / 共66页
ORACLE数据库日常维护手册.docx_第2页
第2页 / 共66页
ORACLE数据库日常维护手册.docx_第3页
第3页 / 共66页
ORACLE数据库日常维护手册.docx_第4页
第4页 / 共66页
ORACLE数据库日常维护手册.docx_第5页
第5页 / 共66页
ORACLE数据库日常维护手册.docx_第6页
第6页 / 共66页
ORACLE数据库日常维护手册.docx_第7页
第7页 / 共66页
ORACLE数据库日常维护手册.docx_第8页
第8页 / 共66页
ORACLE数据库日常维护手册.docx_第9页
第9页 / 共66页
ORACLE数据库日常维护手册.docx_第10页
第10页 / 共66页
ORACLE数据库日常维护手册.docx_第11页
第11页 / 共66页
ORACLE数据库日常维护手册.docx_第12页
第12页 / 共66页
ORACLE数据库日常维护手册.docx_第13页
第13页 / 共66页
ORACLE数据库日常维护手册.docx_第14页
第14页 / 共66页
ORACLE数据库日常维护手册.docx_第15页
第15页 / 共66页
ORACLE数据库日常维护手册.docx_第16页
第16页 / 共66页
ORACLE数据库日常维护手册.docx_第17页
第17页 / 共66页
ORACLE数据库日常维护手册.docx_第18页
第18页 / 共66页
ORACLE数据库日常维护手册.docx_第19页
第19页 / 共66页
ORACLE数据库日常维护手册.docx_第20页
第20页 / 共66页
亲,该文档总共66页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ORACLE数据库日常维护手册.docx

《ORACLE数据库日常维护手册.docx》由会员分享,可在线阅读,更多相关《ORACLE数据库日常维护手册.docx(66页珍藏版)》请在冰点文库上搜索。

ORACLE数据库日常维护手册.docx

ORACLE数据库日常维护手册

数据库日常维护手册

1.1数据库的安装

1.1.1操作系统的准备工作

Oracle数据库的基本软件安装在oradb1和oradb2上。

数据文件,日志文件,控制文件通过手工建库时,指定在共享的阵列上。

Oradb1与Oradb2的安装配置方法相同,以Oradb1为例说明。

1.内核参数的修改

编辑修改/etc/system文件

setshmsys:

shminfo_shmmax=0x200000000

setshmsys:

shminfo_shmmin=1

setshmsys:

shminfo_shmmni=100

setshmsys:

shminfo_shmseg=10

setsemsys:

seminfo_semmni=100

setsemsys:

seminfo_semmsl=600

setsemsys:

seminfo_semmns=1200

setsemsys:

seminfo_semopm=100

setsemsys:

seminfo_semvmx=32767

扩大共享内存和信号量参数。

2.检查需要的操作系统patch

通过上下载特定版本(Solaris8)的patch集并安装,可以满足Oracle的安装需要。

3.操作系统用户/组的添加

●groupadddba

●groupaddoinstall

●useradd-c"OracleDBA"-d/home/oracle-goinstall-Gdba

●修改/etc/passwd文件,更改用户登陆shell或其他信息

oracle:

x:

102:

101:

:

/export/home/oracle:

/bin/ksh

4.Oracle用户环境变量的设定

在oracle用户的初始化环境变量文件中(/export/home/oracle/.profile),增加如下内容。

ORACLE_BASE=/opt/app/oracle

ORACLE_HOME=/opt/app/oracle/product/8.1.7

ORACLE_TERM=vt100

ORACLE_OWNER=oracle

NLS_LANG="SIMPLIFIEDCHINESE_china".ZHS16CGB231280

ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

ORACLE_SID=actdb

TMP=/tmp

PATH=$ORACLE_HOME/bin:

/usr/ccs/bin:

$PATH

LD_LIBRARY_PATH=/opt/oracle/app/oracle/product/8.1.7/lib:

/usr/lib

exportORACLE_BASEORACLE_HOMEORACLE_TERMORACLE_OWNERNLS_LANGORA_NLS33ORACLE_SIDTMPPATHLD_LIBRARY_PATH

LANG=zh

exportLANG

umask022

sttyerase^H

EDITOR=vi

exportEDITOR

文件主要设定数据库的基本目录,数据库的SID名称和数据库的中文语言环境。

增加可执行文件的路径和操作系统的语言环境设置。

最后设置vi为常用编辑器。

1.1.2数据库的安装

1.用root用户取消显示设置#xhost+

2.将Oracle安装光盘插入光驱。

通过df–k察看光驱是否已mount上。

3.以下由Oracle用户执行$cd/cdrom/cdrom0,$./runInstaller。

出现ORACLEUniversalInstaller的安装窗口,按Next键继续。

4.在Unixuser/group对话框中填入oracle/dba,点击Next按钮。

5.Destination框输入将要安装oracle的目录($ORACLE_HOME),接着出现弹出窗口要求用root运行orainstRoot.sh(它创建oraInventory的安装目录)接着选择要安装的产品ORACLE8I8.1.7EnterpriseEdition。

6.选择Customer安装方式,将来可以手工建库。

7.选择安装产品对话框中,建议选择所有产品。

8.点击确认安装的按钮,安装正式开始。

9.安装成功100%后又回到开始的选项菜单,建议察看安装日志。

10.由于使用双机做HA,因此数据库的基本软件需要安装在两台服务器上,而数据库在阵列上创建。

数据库基本软件在两台服务器安装完成后。

通过dbassist手工建库。

指定数据文件,控制文件,日志文件的路径为共享阵列。

11.建库完成后通过oracle用户执行svrmgrl,启动数据库。

并检查数据库基本信息。

$svrmgrl

SVRMGR>connectinternal

SVRMGR>startup

SVRMGR>select*fromv$version;

SVRMGR>select*fromv$database;

执行$lsnrctlstart启动监听程序。

1.1.3数据库patch安装

1.Patch下载:

Oracle数据库的patch从Oracle的metalink网站下载,登录成功后,在patch页面中的ProductFamily下拉框中选择”OracleDatabse”,Product下拉框中选择”RDBMSServer”;Release下拉框中选择”Oracle8.1.7.4”;Platform下拉框中选择”SunSolarisOS(SPARC)64-bit”,Language下拉框中选择”AmericanEnglish(US)”,LimitSearchto下拉框中选择”LatestProductPatchesorMinipacks”,点击Submit提交。

在随后出现的页面中点击Download下载patch。

2.Patch安装:

Patch下载后首先需要解压缩,安装与数据库安装方法类似,启动runInstaller安装程序,选择解压缩完成后patch目录下的product文件进行安装。

特别注意patch安装时,数据库必须处于正常关闭状态。

3.安装完成后检查:

select*fromv$version;检查各个产品的版本号是否从8.1.7.0升级成为8.1.7.4。

1.2现场数据库工作方法

1.2.1现场表空间的规划

ACT01,ACTX01是enus用户的数据表空间以及索引表空间。

ACT02,ACTX02是page,race用户的数据表空间以及索引表空间。

ACT03,ACT04,ACTX03,ACTX04是rap用户的数据表空间以及索引表空间。

1.2.2现场数据文件的添加

1)数据库磁盘规划

表空间名称

磁盘数据文件规划

ACT01

/disk/data1

ACTX01

/disk/index1

ACT02

/disk/data2

ACTX02

/disk/index2

ACT03

/disk/data3/disk/data4

ACTX03

/disk/index3/disk/index4

ACT04

/disk/data4

ACTX04

/disk/index4

2)添加数据文件

A.添加规则

现场建议每次出帐前,为表空间使用率接近80%的表空间添加数据文件。

原则上现场不要存在超过80%的表空间。

目前建议每次添加的数据文件大小为4096M.

B.添加前,检查表空间原有数据文件(保证数据文件命名的连续性)

例如:

准备为ACTX04添加表空间

selectfile_namefromdba_data_fileswheretablespace_name=’ACTX04’

/disk/index4/actx04_01.dbf

/disk/index4/actx04_02.dbf

/disk/index4/actx04_03.dbf

/disk/index4/actx04_04.dbf

C.添加数据文件

现场添加数据文件,目前原则上大小为4096M.

以为actx04添加表空间为例

altertablespaceactx04adddatafile‘/disk/index4/actx04_05.dbf’size4096M;

1.2.3现场索引的添加

1)索引添加规则

enus用户索引:

ACTX01表空间

rap用户索引:

ACTX03,ACTX04表空间

blues用户索引:

ACTX02表空间

race用户索引:

ACTX02表空间

2)常规表索引的建立

CREATEINDEXI_ACCOUNT_FEE_PHONEON

ACCOUNT_T(FEE_PHONE)

TABLESPACEACTX03nologging;

3)分区表索引的建立

◆注意事项:

现场针对分区建立的索引必须都是local类型的索引。

◆建立脚本:

(针对enus的time_t分区表为例)

CREATEINDEXI_TIME__ACCTIDNEWONTIME_T(ACCOUNT_ID)LOCALTABLESPACEACTX01nologging;

4)察看索引对应的表空间

user_indexes;

5)创建索引的用途以及维护要点

⏹考虑用nologging创建索引

可以在createindex语句中指定nologging来创建索引并产生最少的重作日志记录.

注意:

因为用nologging创建索引时不存档,建议现场添加索引在凌晨左右进行,便于创建索引后,数据库尽快完成备份.

用nologging创建索引有如下好处:

a)节省了重作日志文件的空间

b)缩短了创建索引的时间

c)改善了并行创建大索引时的性能

1.2.4数据库用户的建立

注:

以建立rap用户为例

createuserrapidentifiedbyrap;

grantresource,connecttorap;

alteruserrapdefaulttablespaceact03;

alteruserraptemporarytablespacetemp;

1.2.5数据库数据的导入方法(探讨,针对测试环境数据的搭建)

1)exp要进行测试的用户数据

2)删除原先表数据(truncate)

select'truncatetable'||table_name||';'fromtabs;

形成文件,批truncate表

3)删除表

select'droptable'||table_name||'cascadeconstraints;'fromtabs;

形成文件,批删除

4)导入数据

imprap/rapparfile=li.txt

li.txt文件的内容

buffer=409600

file=expdat_rap_0630.dmp

IGNORE=y

grants=y

indexes=y

rows=y

commit=y

CONSTRAINTS=y

log=likqrap.log

1.2.6把数据库设置成为非归档模式的方法(针对traffic上面的数据库)

startupmount;

alterdatabasenoarchivelog;

alterdatabaseopen;

1.2.7检查表的创建模式

selectdegreefromuser_tables;

1.3数据库优化及主要参数调整

1.3.1调整原则

Oracle数据库在启动时会读取命名规则为init.ora的初始化参数文件。

这个配置文件中的各个参数设定对整个Oracle数据库性能起决定作用,先简单介绍各个参数的含义,然后给出建议配置。

除特殊说明外,介绍参数的更改都需进行数据库的重启操作。

根据数据库系统规模,Oracle提供小,中,大(small,medium,large)三个建议建议配置档,配置时做为参考。

通过在sqlplus中输入SQL>showparameterparameter_name显示参数名称和相应的值。

●db_block_size:

实际值:

4096。

数据块大小,数据存储的最小单位,这个参数在Oracle9i以前各个版本中,数据库创建完成后是不可改变的。

可选范围是2K,4K,8K,16k,32k单位是byte。

应用系统中,部分数据表字段较多,db_block_size设定偏小造成记录不能在单一数据块中存储,因此访问一条用户记录不能在一次物理I/O操作中完成,需要多次I/O,导致性能下降;另外较多的varchar2类型字段和数据更新可能造成行链接和行迁移,除设定pctfree较大外,db_block_size也要设定大一些。

,创建数据库时指定。

●db_block_buffers:

实际值:

1000000。

数据高速块的多少,存放从硬盘中读出的数据块。

db_block_buffers决定内存中可存放的大小为db_block_size的Oracle数据块的数量。

应用程序第一次访问数据时从硬盘中读取,然后数据存储在内存中,直到数据长时间不被访问,同时内存中不能容纳更多数据时,数据被写回硬盘,下次需要访问时,再从硬盘中读取。

该参数越大,Oracle在内存中找到所需数据的可能性就越大。

相同数据内存读取速度要比硬盘快几十倍,因此响应速度也会大大提高。

db_block_size与db_block_buffers乘积确定Oracle数据库所占内存的90%左右。

如果服务器专用运行数据库,建议两个参数的乘积占服务器物理内存的40%,通过对数据缓存的命中率进行监控后,做进一步调整。

●shared_pool_size:

实际值:

500000000。

内存中存放sql语句访问路径,相关访问权限,表结构信息的位置,单位是字节。

建议在内存允许的情况下配置的大一些,但通常不超过500m。

通过sql语句监控生产机缓存命中率后进行相应调整。

●sort_area_size:

实际值:

4000000。

可在内存中进行排序的最大字节数。

应用程序向数据库发出类似orderby,groupby或创建索引时,需要进行排序操作。

排序在内存中完成的速度同样快于硬盘中速度。

sort_area_size越大,排序完成在内存中的可能也越大。

通过对动态视图的监控进行进一步的调整。

●log_buffer:

实际值:

8388608。

日志缓存大小,对于数据库的dml/ddl等语句首先写入log_buffer,然后写入日志文件。

建议初始配置为512k,如果日志缓存等待明显,再加大,一般不超过为1M。

●processes:

实际值:

500。

同时访问Oracle数据库的进程数,包括后台进程(dbwr,lgwr,chpt)和Enus,Cnus,Rap各个模块建立的到数据库的长连接数,设定大一点不会造成负面影响,如果偏小则会造成不能进行数据库连接的错误。

●dml_locks:

实际值:

988。

它表示任何时间所有用户在所有表中放置锁定的最大数量。

缺省值是事务最大数量的四倍。

同样可以设定较大一点,不会有负面影响。

●open_cursors:

实际值:

2500。

用户可以同时打开的游标数。

设定大一点不会造成负面影响,如果偏小则会出现不能打开游表的错误。

●db_files:

实际值:

200。

数据库数据文件的数目。

●rollback_segments:

实际值:

ACTROLL00~ACTROLL29,共30个回滚段。

回滚段的名称,用户自己创建完回滚段后将名称添加在此处。

在OLTP环境下,回滚段的数目为最大并发交易数的1/3~1/4。

●db_file_multiblock_read_count:

实际值:

32。

数据库一次从硬盘中读取的数据块的数目。

设定DB_FILE_MULTIBLOCK_READ_COUNT可以在进行全表扫描时减少I/O的次数。

●log_checkpoints_to_alert:

实际值:

true。

设置成true的时候,每次检查点的信息写入alert.log文件。

●log_archive_start/log_archive_dest_1:

实际值:

true//disk/archive/arch决定数据库采用归档方式,指定归档日志存放的路径。

●log_archive_max_processes:

实际值:

1,确定后台归档进程(ArcN)的启动数目。

目前100M日志文件在交易高峰期,每8分钟就切换一次。

建议将此值扩大。

1.3.2现场数据库参数设置-配置文件initactdb.ora

db_name="actdb"

instance_name=actdb

service_names=actdb

control_files=("/disk/data4/system/control01.ctl","/disk/data3/system/control02.ctl","/disk/data

2/system/control03.ctl")

open_cursors=2500

max_enabled_roles=20

db_block_buffers=1000000

shared_pool_size=367001600

large_pool_size=12582912

java_pool_size=10485760

db_file_multiblock_read_count=32

log_checkpoint_interval=819200

log_checkpoint_timeout=4800

cpu_count=8

processes=500

log_buffer=1048576

log_archive_start=true

log_archive_dest_1="location=/disk/archive/arch"

log_archive_format=arch_%t_%s.arc

log_checkpoints_to_alert=TRUE

rollback_segments=(ACTROLL00ACTROLL01ACTROLL02ACTROLL03ACTROLL04ACTROLL05ACTROLL06ACTROLL07

ACTROLL08ACTROLL09ACTROLL10ACTROLL11ACTROLL12ACTROLL13ACTROLL14ACTROLL15ACTROLL16ACTROLL17

ACTROLL18ACTROLL19ACTROLL20ACTROLL21ACTROLL22ACTROLL23ACTROLL24ACTROLL25ACTROLL26ACTROLL27

ACTROLL28ACTROLL29)

background_dump_dest=/opt/app/oracle/admin/actdb/bdump

core_dump_dest=/opt/app/oracle/admin/actdb/cdump

user_dump_dest=/opt/app/oracle/admin/actdb/udump

db_block_size=4096

remote_login_passwordfile=exclusive

os_authent_prefix=""

job_queue_processes=4

job_queue_interval=60

distributed_transactions=10

open_links=4

optimizer_mode=CHOOSE

dml_locks=988

compatible="8.1.0"

sort_area_size=4000000

sort_area_retained_size=4000000

#db_writer_processes=4

#db_block_lru_latches=36#cpu*2*3

 

1.3.3数据库用户信息

用户是数据库的使用和访问者。

同一用户名(通常也就是schema名称)下的表共同完成相同的功能,如:

在我们系统中的Enus用户下的表完成接入功能,Rap用户下的表完成计费,帐务功能。

●用户名称,临时/默认表空间。

用户创建日期。

检查是否有用户的默认或临时表空间为system表空间。

SQL>colusernameformata12;

SQL>col"DefaultTBS"formata12

SQL>col"TemporaryTBS"formata12

SQL>col"CreateDate"formata12

SQL>selectsubstr(username,1,12)UserName,

substr(DEFAULT_TABLESPACE,1,12)"DefaultTBS",

substr(TEMPORARY_TABLESPACE,1,12)"TemporaryTBS",

to_char(CREATED,’yyyy/mm/dd’)"CreateDate"

fromsys.dba_usersorderbyusername;

USERNAMEDefaultTBSTemporaryTBCreateDate

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

DBSNMPSYSTEMSYSTEM2002/08/17

ENUSACT01TEMP2002/08/17

OUTLNSYSTEMSYSTEM2002/07/01

PAGEACT02TEMP2002/07/04

RACEACT02SYSTEM2003/05/06

RAPACT03TEMP2002/08/17

RAP00RAP00TEMP2002/10/22

RAPTESTACTTESTTEMP2002/09/10

SPOTLIGHTUSERSTEMP2003/04/24

SSPOTUSERSTEMP2002/07/01

SYSSYSTEMTEMP2002/07/01

SYSTEMTOOLSTEMP2002/07/01

TRACESVRSYSTEMSYSTEM2002/07/01

●察看数据库用户的权限/角色。

创建用户时,会给用户用户一些权限/角色,使用户可以进行相应的操作。

SQL>colgranteeformata20;

SQL>selectGRANTEE,GRANTED_ROLE,ADMIN_OPTIONfromdba_role_privswheregranteein(‘ENU

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2