Oracle运维详细手册(2)

2019-06-17 12:26

2、打开侦听

lsnrctl start

3、查看侦听

Lsnrctl status

4、关闭侦听

lsnrctl stop

3. ORACLE的启动和关闭

3.1 在单机环境下

要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下

su - oracle

启动oracle 数据库命令:

$sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 7月 16 16:09:40 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn / as sysdba 已连接到空闲例程。 SQL> startup

ORACLE 例程已经启动。

Total System Global Area 369098752 bytes Fixed Size 1249080 bytes Variable Size 201326792 bytes Database Buffers 159383552 bytes Redo Buffers 7139328 bytes 数据库装载完毕。 数据库已经打开。

关闭 oracle 数据库命令:

$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 7月 16 16:08:10 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn / as sysdba 已连接。

SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。

ORACLE 例程已经关闭。 SQL>

3.2 在双机环境下

要想启动或关闭crs服务必须首先切换到root用户,如下

su - root

启动crs 服务: ? 启动CRS

#$CRS_HOME/crs/bin/crsctl start crs

? 查看CRS状态

#$CRS_HOME/crs/bin/crsctl check crs

? 关闭CRS

#$CRS_HOME/crs/bin/crsctl stop crs

? 查看CRS内部各资源状态

#$CRS_HOME/crs/bin/crs_stat –t

启动数据库服务

# srvctl start database -d tdb

#tdb为数据库名

4. 数据库管理员日常工作

4.1 检查alterSID.log

这个日志文件位于参数BACKGROUND_DUMP_DEST指定的目录,可能通过以下命令来查看。

SQL> SHOW PARAMETER background_dump_dest

在出现大故障前,数据库有可能会报一些警告或错误信息,应该充分重视这些信息,未雨绸缪,避免更大错误的发生。

检查alterSID.log 的什么内容。

? 检查数据库是否出现过宕机(可能在晚间重启而维护人员不知道) ? Oracle 出错信息,通过$grep ORA- alterSID.log查找 ? 产品有关的问题:ORA-00600/ORA-07445等错误 ? 相应的TRACE文件

4.2 环境确认

数据库实例是否正常工作

SQL > select status from v$instance;

数据库监听器是否正常工作

-

$ lsnrctl status

是否存在故障表空间

-

SQL> select tablespace_name,status from dba_tablespace;

控制文件、日志文件是否正常

SQL> select * from v$controlfile; SQL> select * from v$log;

SQL> select * from v$logfile;

性能监测

? 每天按业务峰值情况,对数据库性能数据进行定时采集 ? 每天检查数据库的主要性能指标

? 每天检查最消耗资源的SQL语句变化情况。 ? 每天检查是否有足够的资源 ? 检查所有表空间的剩余情况 ? 识别出一些异常的增长

? 检查CPU、内存、网络等是否异常

5. 数据库日常操作SQL

5.1 查看表空间物理文件的名称及大小

select tablespace_name, file_id, file_name,

round(bytes / (1024 * 1024), 0) filesize from dba_data_files

order by tablespace_name;

5.2 查询表空间使用情况

select a.tablespace_name \表空间名称\

100 - round((nvl(b.bytes_free, 0) / a.bytes_alloc) * 100, 2) \占用率(%)\

round(a.bytes_alloc / 1024 / 1024, 2) \容量(M)\

round(nvl(b.bytes_free, 0) / 1024 / 1024, 2) \空闲(M)\

round((a.bytes_alloc - nvl(b.bytes_free, 0)) / 1024 / 1024, 2) \使用(M)\

to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') \采样时间\ from (select f.tablespace_name,

sum(f.bytes) bytes_alloc,

sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes

from dba_data_files f

group by tablespace_name) a,

(select f.tablespace_name, sum(f.bytes) bytes_free from dba_free_space f

group by tablespace_name) b

where a.tablespace_name = b.tablespace_name order by 2 desc;

5.3 查询表空间的碎片程度

select tablespace_name, count(tablespace_name) from dba_free_space

group by tablespace_name

having count(tablespace_name) > 10;

alter tablespace HS_USER_DATA coalesce; alter table name deallocate unused;

5.4 碎片程度

select tablespace_name, count(tablespace_name) from dba_free_space

group by tablespace_name

having count(tablespace_name) > 10; alter tablespace name coalesce;

alter table name deallocate unused; create or replace view ts_blocks_v as

select tablespace_name, block_id, bytes, blocks, segment_name from dba_free_space union all

select tablespace_name, block_id, bytes, blocks, segment_name from dba_extents;

select * from ts_blocks_v;

select tablespace_name, sum(bytes), max(bytes), count(block_id) from dba_free_space

group by tablespace_name;

查看碎片程度高的表

SELECT segment_name table_name, COUNT(*) extents FROM dba_segments

WHERE owner NOT IN ('SYS', 'SYSTEM') GROUP BY segment_name

HAVING COUNT(*) = (SELECT MAX(COUNT(*))


Oracle运维详细手册(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:校舍加固工程施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: