我的oracle 9i学习日志(7)—诊断文件与练习3

简介:

诊断文件:包括数据库发生的重大事件的信息;用来帮助解决问题和更好的维护数据库。

类型:alertSID.log;后台跟踪文件(Background trace files);用户跟踪文件(User trace files)。

1、以下操作或事件将被记录在alertSID.log文件:

    数据库启动或关闭;

    非默认值的参数列表(包括参数名称和参数值,在spfile或pfile损坏时可以借助这些信息从新构造spfile或pfile);

    启动后台进程;

    被instance所用的线程;

    The log sequence number LGWR is writing to;

    有关log调整的信息;

    创建表空间和undo segment;

    已经提交的alter语句;

    错误信息,如:ORA-600;

alter_SID.log所在位置由参数BACKGROUND_DUMP_DEST值定义。

 

2、后台跟踪文件(Background trace files):

记录当后台程序出现重大错误时的信息。一般命名为sid_processname_PID.trc。所在位置由参数

BACKGROUND_DUMP_DEST值定义。

实验:

SQL> show parameter background_dump_dest

NAME                                 TYPE        VALUE 
------------------------------------ ----------- ------------------------------ 
background_dump_dest                 string      /u01/admin/lty/bdump

$ cd /u01/admin/lty/bdump 
[oracle@localhost bdump]$ ls -l 
total 828 
-rw-r--r-- 1 oracle oinstall 142968 Mar  6 23:38 alert_lty.log 
-rw-r----- 1 oracle oinstall 660699 Mar  3 17:11 lty_d000_3303.trc 
-rw-r----- 1 oracle oinstall    779 Feb 23 09:59 lty_qmn0_3324.trc 
-rw-r----- 1 oracle oinstall    802 Feb 23 10:05 lty_qmn0_3338.trc 
-rw-r----- 1 oracle oinstall    803 Feb 23 10:10 lty_qmn0_3350.trc

 

3、用户跟踪文件(User trace files):

由用户进程产生,也可以被server进程生成,包含跟踪SQL语句的统计信息和记录用户会话错误信息。可以用来对SQL的调优和排错。

命名规则一般为:sid_ora_PID.trc(如:db01_ora_23845.trc),所处位置由参数USER_DUMP_DEST决定,文件大小由参数MAX_DUMP_FILE_SIZE决定。

启用和关闭用户跟踪

用户级别:ALTER SESSION SET SQL_TRACE = TRUE启用(注意:要在当前session设定)。也可以使用DBMS程序dbms_system.SET_SQL_TRACE_IN_SESSION。

instance级别:SQL_TRACE = TRUE启用(会产生大量信息记录,需谨慎)。

实验:

客户端:

sqlplus system/oracle@xxxx

SQL> alter session set sql_trace = true;

服务器:

$ ps -ef |grep oracle

oracle    3575  3574  0 00:57 ?        00:00:00 oraclelty (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

$cd /u01/admin/lty/udump

$ls –l

total 0

客户端:

SQL> select * from dual;

服务器:

$ls –l

total 4 
-rw-r----- 1 oracle oinstall 1383 Mar  7 00:58 lty_ora_3575.trc

 

4、Practice 3: Managing an Oracle Instance 
1 Connect to the database as user SYS and shut down the database. 
2 With the database shut down, create an SPFILE from the PFILE. The SPFILE will be created in $ORACLE_HOME/dbs.

  解析:SQL> create pfile from spfile;

    
3 From the operating system, view the SPFILE.

解析:

[oracle@localhost ~]$ cd dbs 
[oracle@localhost dbs]$ ls -l 
total 48 
-rw-r--r-- 1 oracle oinstall 12920 Feb 22 20:14 initdw.ora 
-rw-r--r-- 1 oracle oinstall  8475 Feb 22 20:14 init.ora 
-rw-r----- 1 oracle oinstall    24 Mar  7 02:07 lkLTY 
drwxr-xr-x 2 oracle oinstall  4096 Feb 22 16:29 old 
-rwSr----- 1 oracle oinstall  1536 Feb 22 20:14 orapwlty 
-rw-r----- 1 oracle oinstall  3584 Feb 22 20:14 spfilelty.ora

$strings spfilelty.ora


4 Connect as user SYS, and start the database using the SPFILE. 
5 a Shut down the database and open it in read-only mode.

解析:SQL> startup mount

        SQL> alter database open read only;


b Connect as user HR password HR and insert a row into the REGIONS table as 
follows: 
INSERT INTO regions VALUES (5, 'Mars'); 
What happens?

解析:HR默认为锁定状态,SQL> select username, user_id, account_status from dba_users;

         USERNAME                          USER_ID ACCOUNT_STATUS 
        ------------------------------ ---------- -------------------------------- 
         HR                                     47 EXPIRED & LOCKED

        解锁,SQL> select  username, account_status from dba_users;

        USERNAME                       ACCOUNT_STATUS 
       ------------------------------ -------------------------------- 
        HR                             EXPIRED

       设置密码,SQL> alter user hr identified by hr;

       查看状态,SQL> select username, account_status from dba_users;

       USERNAME                       ACCOUNT_STATUS 
       ------------------------------ -------------------------------- 
        HR                             OPEN

       

        另创建用户lll密码lll,SQL> create user lll identified by lll;

        以HR登陆后创建表lll,SQL> create table lll(num integer, name char(10));

       插入行,SQL> insert into lll values(0, 'lll');

                   ERROR 位于第 1 行: 
                  ORA-00604: error occurred at recursive SQL level 1 
                  ORA-16000: database open for read-only access

c Put the database back in read-write mode. 
6 a Connect as user HR password HR and insert the following row into the REGIONS 
table; do not commit or exit. 
INSERT INTO regions VALUES (5, 'Mars'); 
b In a new telnet session start SQL*Plus. Connect user SYS and perform 
a SHUTDOWN TRANSACTIONAL. 
c Roll back the insert in the HR session and exit. 
What happens to the HR session? 
What happens to the SYS session? 
7 a In the user SYS session start the database. 
b In the open telnet session start SQL*Plus and connect as user HR. 
Note: Keep the two SQL*Plus sessions open, one session as user SYS and one as 
user HR. 
c As user SYS enable a restricted session. 
d As user HR, SELECT from the REGIONS table. Is the SELECT successful? 
e Exit the session, then reconnect as HR. What happens? The user HR does not have 
RESTRICTED SESSION privilege, and therefore, cannot log in. 
f As user SYS disable the restricted session. 
g Exit the HR telnet session

解析:SQL> alter system enable restricted session;

在数据库置于restricted状态时,不会中断已连接用户的会话。










本文转自 d185740815 51CTO博客,原文链接:http://blog.51cto.com/luotaoyang/281590,如需转载请自行联系原作者
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
11月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
330 2
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
2959 28
|
SQL Oracle 关系型数据库
Oracle 从 DMP 文件中恢复指定表的步骤
Oracle 从 DMP 文件中恢复指定表的步骤
1695 7
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
655 3
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的全量日志文件
MySQL全量日志记录所有操作的SQL语句,默认禁用。启用后,可通过`show variables like %general_log%检查状态,使用`set global general_log=ON`临时开启,执行查询并查看日志文件以追踪SQL执行详情。
454 4
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
5246 32
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
694 9
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
1532 55

推荐镜像

更多