oracle故障排查及维护

oracle故障排查及维护

故障排查是一个复杂且专业的过程,通常涉及以下步骤:

1.识别问题:检查系统日志、警告日志和跟踪文件,了解故障的具体表现。

2.诊断工具:使用Oracle提供的诊断工具如SQL*Plus、SQL Developer、AWR (Automatic Workload Repository) Report等。

3.检查系统资源:确认操作系统资源(如CPU、内存、磁盘空间)是否足够。

4.检查网络:如果数据库运行在网络环境中,确认网络连接是否正常。

5.检查Oracle进程:使用命令如ps -ef | grep ora查看Oracle进程状态。

6.检查数据库实例:使用SQL*Plus连接到数据库并执行SELECT查询,检查数据库实例状态。

7.检查连接:如果问题涉及客户端连接,检查监听器状态和网络配置。

8.查看参数文件:检查数据库的初始化参数文件,确认参数设置是否正确,(init.ora或spfile.ora)。

9.执行健康检查:使用Oracle提供的健康检查脚本,如dbca的健康检查选项。

10.查询性能:如果问题是性能相关,使用AWR报告分析系统瓶颈。

11.查询锁和等待:使用数据字典视图如V L O C K 、 V LOCK、V LOCKVSESSION、V$LATCH等查询锁定和等待情况。

12.查询系统统计:使用动态性能视图V$SYSSTAT查看系统统计信息。

13.查询故障转储:如果数据库崩溃,检查系统的core dump和Oracle的trace文件。

查询数据库的版本信息: SELECT * FROM v v e r s i o n ; 查询数据库的实例名称: S E L E C T i n s t a n c e n a m e F R O M v version; 查询数据库的实例名称:SELECT instance_name FROM v version;查询数据库的实例名称:SELECTinstancenameFROMvinstance;
查询数据库名称:SELECT name FROM v d a t a b a s e ; 查询数据库的启动时间: S E L E C T s t a r t e d u p F R O M v database; 查询数据库的启动时间:SELECT started_up FROM v database;查询数据库的启动时间:SELECTstartedupFROMvinstance;
查询所有的表空间:SELECT tablespace_name FROM dba_tablespaces;
查询表空间的大小:
SELECT
tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024), 2) total_space
FROM
dba_data_files
ORDER BY
tablespace_name;

查询表空间的使用情况:SELECT
df.tablespace_name,
total_space - NVL(used_space, 0) AS free_space
FROM
(SELECT
tablespace_name,
ROUND(SUM(bytes) / 1024 / 1024, 2) AS total_space
FROM
dba_data_files
GROUP BY
tablespace_name) df
LEFT JOIN
(SELECT
tablespace_name,
ROUND(SUM(bytes) / 1024 / 1024, 2) AS used_space
FROM
dba_segments
GROUP BY
tablespace_name) df1
ON
df.tablespace_name = df1.tablespace_name;
查询所有用户:SELECT username FROM dba_users;
查询用户的系统权限:SELECT * FROM dba_sys_privs;
查询用户的对象权限:SELECT * FROM dba_tab_privs;
查询当前活跃的会话:SELECT * FROM v s e s s i o n ; 查询当前锁定的对象: S E L E C T ∗ F R O M v session; 查询当前锁定的对象:SELECT * FROM v session;查询当前锁定的对象:SELECTFROMvlocked_object;
查询系统的资源限制:SELECT * FROM v p a r a m e t e r W H E R E n a m e L I K E ′ 查询系统的性能统计信息: S E L E C T ∗ F R O M v parameter WHERE name LIKE '%limit%'; 查询系统的性能统计信息:SELECT * FROM v parameterWHEREnameLIKE查询系统的性能统计信息:SELECTFROMvsysstat;
查询数据文件的路径:SELECT
file_name,
bytes / (1024 * 1024) as space
FROM
dba_data_files;

查询表的大小:SELECT
segment_name,
segment_type,
bytes / (1024 * 1024) as size_mb
FROM
dba_segments
WHERE
segment_type = ‘TABLE’;

查询正在运行的SQL语句:SELECT * FROM v$sql;

常用的修改命令主要包括以下几种:

修改表结构:

增加列:ALTER TABLE table_name ADD column_name column_datatype;

修改列:ALTER TABLE table_name MODIFY column_name new_column_datatype;

删除列:ALTER TABLE table_name DROP COLUMN column_name;

重命名列:ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;

修改数据:

插入数据:INSERT INTO table_name (column1, column2,…) VALUES (value1, value2,…);

更新数据:UPDATE table_name SET column1 = value1, column2 = value2,… WHERE condition;

删除数据:DELETE FROM table_name WHERE condition;

修改权限和角色:

授权:GRANT privilege TO user_name;

回收:REVOKE privilege FROM user_name;

创建角色:CREATE ROLE role_name;

授权角色:GRANT role_name TO user_name;

修改用户和密码:

创建用户:CREATE USER user_name IDENTIFIED BY password;

修改密码:ALTER USER user_name IDENTIFIED BY new_password;

修改表空间和配额:

创建表空间:CREATE TABLESPACE tablespace_name DATAFILE ‘filename.dbf’ SIZE size;

修改表空间大小:ALTER DATABASE DATAFILE ‘filename.dbf’ RESIZE new_size;

设置用户表空间配额:ALTER USER user_name QUOTA unlimited ON tablespace_name;

修改数据库参数:

查看参数:SELECT * FROM v$parameter;

修改参数:ALTER SYSTEM SET parameter_name = value SCOPE = BOTH;

1 由于ARCHIVE挂起导致数据库挂死 2 NIT文件中SGA区设置太大,导致内存不够用,数据库和系统都挂死 3 由于临时表空间无法扩展导致数据库被挂起 4由于未打补丁导致RMAN备份时将数据库挂起 5由于BLOB类型的表记录数太多操作又太频繁导致数据库效率急差 6由于未对特大表(达到或超过100万条记录)定期做表分析导致数据库操作特别慢 7由于空间不够导致插入数据时扩展索引失败 8由于REDOLOG破坏导致数据库异常 9由于控制文件被破坏导致数据库无法正常启动 10由于数据文件丢失或破坏导致数据库无法正常启动 11由于空间参数设置不合理导致扩展表空间、索引等失败 12由于时间格式的环境变量设置问题导致话单无法入库 13由于大事务未使用大回滚段导致事务挂起 14由于数据库连接数太多导致服务器进程数多或内存耗尽 15由于使用了MTS方式,导致数据库操作特别慢(包括备份) 16由于存在一个大事务操作,导致数据库性能特别差或产生频繁日志切换 17由于没有COMMIT,导致数据库表被锁住 18索引创建不合理,导致数据库查询特别慢 19 由于BUFFER参数设置不合理导致EXP失败 20由于EXP不向上兼容,语言不兼容,导致不同版本、不同字符集的数据库无法导入 21 由于创建表空间时误将其创建在以‘本地管理’,导致在表空间上的所有对象无法修改其存储参数 22 错误地在系统表空间上建无关的数据文件 23 ORACLE客户端在P4上安装不成功 24由于LISTENER.ORA或TNSNAMES.ORA配置问题导致网络问题 25由于环境变量设置问题导致VERSOIN版本启动问题 26用户数据、表破坏下的数据恢复 27 由于OS层问题导致数据库ORA-600错误 .....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值