Oracle11G日常维护手册簿Word文档格式.docx
- 文档编号:22478058
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:49
- 大小:42.97KB
Oracle11G日常维护手册簿Word文档格式.docx
《Oracle11G日常维护手册簿Word文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle11G日常维护手册簿Word文档格式.docx(49页珍藏版)》请在冰豆网上搜索。
(address=(protocol=tcp)(host=192.168.137.10)(port=1521))
(connect_data=
(service_name=racdb1)(ur=a)
这里的service_name=racdb1就是在服务器端的GLOBAL_DBNAME=racdb1
[oracle@racdb1~]$tnspingracdb1
TNSPingUtilityforLinux:
Version11.2.0.1.0-Productionon21-JAN-201514:
51:
49
Copyright(c)1997,2009,Oracle.Allrightsreserved.
TNS-03502:
Insufficientarguments.Usage:
tnsping<
address>
[<
count>
]
55
Usedparameterfiles:
UsedTNSNAMESadaptertoresolvethealias
Attemptingtocontact(description=(address_list=(address=(protocol=tcp)(host=racdb1)(port=1521)))(connect_data=(service_name=racdb1)(ur=a)))
OK(0msec)
1.3.检查OracleListener
lsnrctlstop
lsnrctlstart
lsnrctlstatus
lsnrctlservice
1.4.登陆数据库的方式
修改登陆oracle认证模式
默认情况下我们oracle安装好后是使用操作系统用户的验证,所以这里如果我们使用sys用户不用密码就可以登录,如果我们想使用oracle密码文件验证的话我们就要进入下列文件夹
cd/u01/app/oracle/product/11.2.0/dbhome_1/network/admin修改sqlnet.ora
增加下列命令
SQLNET.AUTHENTICATION_SERVICES=NONE
配置了tnsnames登录数据库方式
[oracle@racdb1~]$sqlplusscott/111111@racdb1
sqlplus/nolog
使用scott登陆到指定数据库racdb1
connsys/111111@racdb1ASSYSDBA;
察看登陆到了哪个数据库实例
selectinstance_namefromv$instance
使用sys用户登陆
connsys/change_on_installerassysdba
用sysdba登陆
conn/assysdba
使用sys用户登录
connsys/change_on_installassysdba;
conn/assysdba连接数据库
connscott/111111使用scott进行连接
1.5.数据库的启动
数据库启动方式
方式
含义
startup
启动实例、装载数据库、打开数据库
startupnomount
启动实例,不加载数据库
startupmount
启动实例,加载数据库但不打开数据库
startuprestrict
启动过程中限制访问数据库
startupforce
强制数据库启动
startuppfile=/oracle/app/oracle/product/10g/dbs/initminos.ora
使用非缺省参数文件启动数据库,以特定文件中指定参数启动数据库,本例为”/oracle/app/oracle/product/11g/dbs/initminos.ora
startupopenracdb1
startupnomount
启动数据库实例,该步骤只是启动了一个数据库实例.
在此状态下我们可以访问下列结构文件
Select*fromv$instance;
Select*fromv$bgprocess;
Select*fromv$sga;
利用以前读取的参数文件查找控制文件,这些控制文件包含数据文件名和重做日志名,然后将数据库装载.
alterdatabasemount
一旦这一步完成我们就可以看到下列状态
select*fromv$database;
select*fromv$tablespace;
select*fromv$log;
实例验证数据文件及日志文件并启动数据库
alterdatabaseopen;
打开数据库
startuprestrict
启动过程中限制访问数据库
altersystemenablerestrictedsession
grantrestrictsessiontoscott
上述命令是只有用户拥有restrict权限才可以连接
启动数据库后起的进程
selectname,DESCRIPTIONfromv$bgprocesswherepaddr<
>
'
00'
;
1.6.关闭数据库
shutdownnormal
等待用户完成工作然后关闭
Shutdowntransactional
等待用户完成工作但是强制关闭连接
shutdownimmediate
立即关闭,当前所有做工作回滚到一致状态,断开其连接
shutdownabort
强制关闭,非干净关闭,下次重起后要回滚日志
2.用户管理
2.1.检察用户profile
selectusername,profilefromdba_userswhereusername='
SCOTT'
2.2.查看用户profile参数
select*fromdba_profileswhereprofile='
DEFAULT'
3.检查数据库基本状况
3.1.检查数据库创建日期
SelectCreated,Log_ModeFromV$Database;
CREATEDLOG_MODE
-----------------------
2014/8/171NOARCHIVELOG
3.2.检查数据库版本信息
SelectversionfromProduct_component_versionwhereSUBSTR(PRODUCT,1,6)='
Oracle'
3.3.检查实例状态
SQL>
SELECTinst_id,instance_name,host_name,VERSION,TO_CHAR(startup_time,'
yyyy-mm-ddhh24:
mi:
ss'
)startup_time,status,archiver,database_statusFROMgv$instance;
SELECTinst_id,dbid,NAME,TO_CHAR(created,'
)created,log_mode,TO_CHAR(version_time,'
)version_time,open_modeFROMgv$database;
INST_IDDBIDNAMECREATEDLOG_MODEVERSION_TIMEOPEN_MODE
---------------------------------------------------------------------------------------------------
194264408RACDB12014-08-1716:
34:
32NOARCHIVELOG2014-08-1716:
32READWRITE
其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;
“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。
selectname,log_mode,open_modefromv$database;
NAMELOG_MODEOPEN_MODE
-----------------------------------------
RACDB1ARCHIVELOGREADWRITE
其中“LOG_MODE”表示Oracle当前的归档方式。
“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。
在我们的系统中数据库必须运行在归档方式下。
3.4.查看前台进程
ps-Coracle-o'
rsz,sid,cmd'
|grepLO
free-m|egrep-v'
total|buffers'
|awk'
{print$1,$3}'
Oracle的前台进程是操作系统进程,它和oraclesession一一对应,官方建议,oraclesesson
=1.5*process+20
3.5.查看数据库连接的session
selectcount(*)fromv$session;
3.6.查看连接到数据库的模式
selectprogramfromv$processorderbyprogram;
selectd.NAME,s.NAMEfromv$dispatcherd,v$shared_servers,v$circuitcwhered.PADDR=c.DISPATCHERands.PADDR=c.SERVER
(S012)以s001等就是共享模式连接
3.7.查看并发连接数
selectcount(*)fromv$sessionwherestatus='
ACTIVE'
3.8.查看最大的连接'
processes'
selectvaluefromv$parameterwherename='
3.9.监控系统后台进程
Selectname,DescriptionFromV$BGPROCESSWherePaddr<
3.10.查看数据库初始化参数
selectname,valuefromv$parameterwhereisbasic='
TRUE'
orderbyname;
这些参数是当前数据库已经应用的参数
3.11.检查PGA使用情况
selectname,valuefromv$pgastatwherenamein('
maximumPGAallocated'
'
totalPGAallocated'
);
3.12.检查SGA状态
SELECTrequest_misses,request_failuresFROMv$shared_pool_reserved;
Selectcomponent,current_size,min_size,max_sizefromv$sga_dynamic_components;
REQUEST_MISSESREQUEST_FAILURES
------------------------------
00
期望结果:
request_misses和request_failures应该接近于0。
巡检说明:
request_misses是保留列表没有满足请求的可用内存片从而开始利用LRU列表刷新对象的次数;
request_failures是未找到满足请求的内存次数。
3.13.检查Oracle服务进程
[oracle@racdb1~]$ps-ef|grepora_|grep-vgrep&
&
ps-ef|grepora_|grep-vgrep|wc?
l
oracle44591015:
53?
00:
00:
00ora_pmon_racdb1
oracle44611015:
17ora_vktm_racdb1
oracle44651015:
00ora_gen0_racdb1
oracle44671015:
00ora_diag_racdb1
oracle44691015:
00ora_dbrm_racdb1
oracle44711015:
00ora_psp0_racdb1
oracle44731015:
02ora_dia0_racdb1
oracle44751015:
00ora_mman_racdb1
oracle44771015:
00ora_dbw0_racdb1
oracle44791015:
01ora_lgwr_racdb1
oracle44811015:
05ora_ckpt_racdb1
oracle44831015:
00ora_smon_racdb1
oracle45271015:
00ora_arc0_racdb1
oracle44851015:
00ora_reco_racdb1
在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:
.Oracle写数据文件的进程,输出显示为:
“ora_dbw0_racdb1”
.Oracle写日志文件的进程,输出显示为:
“ora_lgwr_racdb1”
.Oracle监听实例状态的进程,输出显示为:
“ora_smon_racdb1”
.Oracle监听客户端连接进程状态的进程,输出显示为:
“ora_pmon_racdb1”
.Oracle进行归档的进程,输出显示为:
“ora_arc0_racdb1”
.Oracle进行检查点的进程,输出显示为:
“ora_ckpt_racdb1”
.Oracle进行恢复的进程,输出显示为:
“ora_reco_racdb1”
3.14.检查Oracle监听状态
[oracle@racdb1~]$lsnrctlstatus
LSNRCTLforLinux:
Version11.2.0.1.0-Productionon21-JAN-201517:
42
Copyright(c)1991,2009,Oracle.Allrightsreserved.
Connectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=racdb1)))
STATUSoftheLISTENER
------------------------
AliasLISTENER
VersionTNSLSNRforLinux:
Version11.2.0.1.0-Production
StartDate21-JAN-201512:
37:
48
Uptime0days4hr.22min.53sec
TraceLeveloff
SecurityON:
LocalOSAuthentication
SNMPOFF
ListenerParameterFile/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
ListenerLogFile/u01/app/oracle/diag/tnslsnr/racdb1/listener/alert/log.xml
ListeningEndpointsSummary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=racdb1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.137.10)(PORT=1521)))
ServicesSummary...
Service"
racdb1"
has1instance(s).
Instance"
statusUNKNOWN,has3handler(s)forthisservice...
"
statusREADY,has1handler(s)forthisservice...
racdb1XDB"
Thecommandcompletedsuccessfully
“ServicesSummary”项表示Oracle的监听进程正在监听哪些数据库实例,输出显示中至少应该有“racdb1XDB”这一项。
3.15.检查监听进程是否存在
[oracle@racdb1~]$ps-ef|greplsn|grep-vgrep
oracle21401012:
37?
01/u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnrLISTENER-inherit
3.16.检查操作系统日志文件
[root@racdb1~]#cat/var/log/messages|grepfailed
查看是否有与Oracle用户相关的出错信息。
3.17.检查oracle日志文件
selectvaluefromv$diag_infowherename='
DiagTrace'
VALUE
--------------------------------------------------------------------------------
/u01/app/oracle/diag/rdbms/racdb1/racdb1/trace
cat/u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/alert_racdb1.log|grepora-
cat/u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/alert_racdb1.log|greperr
[oracle@racdb1trace]$cat/u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/alert_racdb1.log|grepfail
Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:
数据库的启动、关闭,启动时的非缺省参数;
数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;
对数据库进行的某些操作,如创建或删除表空间、增加数据文件;
数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)等。
定期检查日志文件,根据日志中发现的问题及时进行处理:
问题
处理
启动参数不对
检查初始化参数文件
因为检查点操作或归档操作没有完成造重做日志不能切换
如果经常发生这样的情况,可以考虑增加重做日日志文件组;
想办法提高检查点或归档操作的效率;
有人XX删除了表空间
检查数据库的安全问题,是否密码太简单;
如有必要,撤消某些用户的系统权限
出现坏块
检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle11G 日常 维护 手册