【赵渝强老师】崖山数据库的数据库文件

b473

崖山数据库的物理存储结构就是指的YashanDB数据库在硬盘上存储的各种文件,包括:数据文件、联机日志文件、控制文件、归档日志文件、参数文件、告警日志文件、跟踪文件和备份文件等。视频讲解如下:

image.png
点击这里查看视频讲解:【赵渝强老师】崖山数据库的数据库文件

归档日志文件

归档日志文件是联机重做日志文件的副本,它也记录了对数据库改变的历史。下面的步骤将演示如何查看崖山数据库的归档日志文件。

# 通过查看参数ARCHIVE_LOCAL_DEST可以获取归档日志的存放路径。
SQL> SHOW PARAMETER ARCHIVE_LOCAL_DEST;

NAME                   VALUE        
---------------------- ------------ 
ARCHIVE_LOCAL_DEST     ?/archive   

1 row fetched.

# 通过查看动态性能视图V$ARCHIVED_LOG可以获取归档日志文件的信息
SQL> desc V$ARCHIVED_LOG;
NAME              NULL?     DATATYPE        
----------------- --------- --------------- 
NAME                        VARCHAR(255)    
SEQUENCE#                   INTEGER         
THREAD#                     TINYINT         
RESETLOGS_ID                INTEGER         
FIRST_CHANGE#               BIGINT          
FIRST_TIME                  TIMESTAMP       
NEXT_CHANGE#                BIGINT          
NEXT_TIME                   TIMESTAMP       
BLOCKS                      BIGINT          
BLOCK_SIZE                  INTEGER         
COMPLETION_TIME             DATE            
COMPRESSED                  VARCHAR(8)      
FAL                         VARCHAR(8)      
REGISTRAR                   VARCHAR(8)      
STATUS                      VARCHAR(3)      
ARCHIVED                    VARCHAR(3)      
DELETED                     VARCHAR(3)      

# 获取归档日志文件的编号和文件
SQL> select SEQUENCE#,name from V$ARCHIVED_LOG;

 SEQUENCE# NAME                                                        
---------- ----------------------------------------------------------- 
         1 /home/yashan/yasdb/yasdb_data/db-1-1/archive/arch_0_1.ARC  
         2 /home/yashan/yasdb/yasdb_data/db-1-1/archive/arch_0_2.ARC  

2 rows fetched.

YashanDB数据库默认是归档模式。在归档模式下,YashanDB可以执行数据库的联机备份,或者叫做数据库的热备份;而在非归档模式下,YashanDB只能执行数据库的离线备份,或者叫做数据库的冷备份。下面的语句将查看当前数据库的日志模式。

SQL> select log_mode from v$database;

# 输出的信息如下:
LOG_MODE          
----------------- 
ARCHIVELOG       

1 row fetched.

参数文件

配置参数文件是名为yasdb.ini的文本文件,存放在$YASDB_DATA/config路径下,产品安装时所指定的数据库初始配置参数将保存在此文件中,后续数据库运行过程中对配置参数的非memory修改也将持久化到此文件中。下面展示了参数文件的内容:

$ pwd
/home/yashan/yasdb/yasdb_data/db-1-1/config

$ cat yasdb.ini 

# 输出的信息如下:
_CLUSTER_ID=2fd38e8003d1f864a081f24c187d4b2e
NODE_ID=1-1:1
CONTROL_FILES=('?/dbfiles/ctrl1', '?/dbfiles/ctrl2', '?/dbfiles/ctrl3')
ARCH_CLEAN_IGNORE_MODE=BACKUP
CGROUP_ROOT_DIR=/sys/fs/cgroup
LISTEN_ADDR=192.168.79.10:1688
REPLICATION_ADDR=192.168.79.10:1689
RUN_LOG_FILE_PATH=/home/yashan/yasdb/log/db-1-1/run
RUN_LOG_LEVEL=INFO
SLOW_LOG_FILE_PATH=/home/yashan/yasdb/log/db-1-1/slow
CHARACTER_SET=UTF8
TIME_ZONE = +08:00
DATA_BUFFER_SIZE = 512M
CHECKPOINT_TIMEOUT = 300

密码文件

密码文件是名为yasdb.pwd的文本文件,不可直接进行编辑,其路径受PASSWORD_FILE参数控制。该文件用于存储SYS用户的密码。

SQL> show parameter PASSWORD_FILE;

# 输出的信息如下:
NAME              VALUE                   
----------------- ----------------------- 
PASSWORD_FILE     ?/instance/yasdb.pwd   

1 row fetched.

密码文件内容为加密后信息,虽然为文本文件,但不能直接修改里面的内容。

告警日志文件

告警日志文件按照时间的先后顺序,记录了数据库的重大活动和所发生的错误信息以及警告信息。因此,当YashanDB数据库出现任何问题的时候,首先就应当检查告警日志文件。警报文名字的格式是alert.log。警报文件的位置默认保存在了存放在$YASDB_DATA/log/alert目录下,如下所示:

$ pwd
/home/yashan/yasdb/yasdb_data/db-1-1/log/alert

$ tail alert.log 

# 输出的信息如下:
2026-09-03 15:35:11.569|12|Incident|0|0||the incident was controlled by flood, problem id=4, last incident id=77
2026-09-03 15:45:38.294|12|Incident|0|0||the incident was controlled by flood, problem id=6, last incident id=80
2026-09-03 15:54:53.672|12|Incident|0|0||the incident was controlled by flood, problem id=1, last incident id=82
2026-09-03 17:10:29.602|12|Incident|0|0||the incident was controlled by flood, problem id=1, last incident id=87
2026-09-03 17:58:03.305|12|Incident|0|0||the incident was controlled by flood, problem id=1, last incident id=90
2026-09-03 18:11:16.950|12|Incident|0|0||the incident was controlled by flood, problem id=1, last incident id=91
2026-09-04 15:00:03.294|12|Incident|0|0||the incident was controlled by flood, problem id=1, last incident id=96
2026-09-04 15:50:00.629|12|Incident|0|0||the incident was controlled by flood, problem id=3, last incident id=107
2026-09-04 15:52:31.697|12|Incident|0|0||the incident was controlled by flood, problem id=2, last incident id=116
2026-09-04 15:52:32.767|12|Incident|0|0||the incident was controlled by flood, problem id=5, last incident id=118

跟踪文件

跟踪文件是每个YashanDB数据库服务器进程都有的日志文件。当数据库运行中出现问题时,通过查看跟踪文件中的内容可以帮助诊断YashanDB数据库的问题。因为每个服务器进程都会将错误信息写到跟踪文件中。因此,数据库管理员DBA就可以根据跟踪文件的信息来查看进程中所发生的错误。在默认情况下,YashanDB数据库的跟踪文件的位置保存在
$YASDB_DATA/diag/trace/目录下。

posted @ 2026-10-02 10:43  赵渝强老师  阅读(4)  评论(0)    收藏  举报