工作中经常会用到oracle中的ora文件,比如tnsnames.ora等,看的多了,就像整理出ora的BNF定义。以前整理过一些BNF,用lex/yacc或者javacc可以很快的做出一个简单的解释器,所以对这些东西很感兴趣。好了,我们来看看ora的BNF吧:
config : ( parameter )*;
parameter : keyword EQ
( value
| '(' value_list ')'
| ( '(' parameter ')' )+
);
keyword : WORD;
value : WORD | QSTRING;
value_list : value ( COMMA value )*;
QSTRING : \' [~\']* \'
| \" [~\"]* \";
WORD : [a-zA-Z0-9];
COMMENT : '#' [~\n]*;
WHITESPACE : [\t ]+;
当然,这个只是简单的BNF,做成解释器还需要加入相应的动作解释。
仔细看了看自己的blog,发现之前也整理过类似的定义,比如:Lisp的BNF,还有dot语言的BNF。只有dot的做了一部分,Lisp的根本没有做,需要抽时间专门做一下,不然自己的手也生了。其实,如果掌握了正则表达式和上下文无关文法这两个部分,借助lex/yacc,javacc/anltr等工具很容易做出来,不过时间长了又忘了。
分享到:
相关推荐
### Oracle Init.ora 文件位置详解 #### 一、引言 在Oracle数据库管理与维护过程中,正确理解并掌握`init.ora`文件的位置至关重要。该文件是Oracle实例启动时读取的重要配置文件之一,用于设置数据库运行所需的...
### Oracle 错误 ORA-00132 和 ORA-00214 解析及处理 #### 一、错误概述 在Oracle数据库管理过程中,遇到ORA-00132和ORA-00214这类错误时,往往意味着数据库配置或启动过程中出现了问题。下面将对这两个错误进行...
对于添加数据用户连接的配置文件,常用于外部工具对与oracle的操作比如plsql工具等等
Oracle 配置 TNSNAMES.ORA 文件详解 oracle 配置 TNSNAMES.ORA 文件是 Oracle 网络配置的关键步骤。正确配置 TNSNAMES.ORA 文件可以确保 Oracle 客户端与服务器端之间的顺畅连接。本文将详细介绍如何正确配置 ...
ORACLE配置tnsnames.ora文件实例 客户机为了和服务器连接,必须先和服务器上的监听进程联络。ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息。 一般tnsnames.ora 是建立在客户机上的。如果是客户机/服务器...
oracle数据库的配置文件,用于进行连接配置
oracle ORA-01033问题怎么解决 !! 能修复文件出错问题
在Oracle 19c的配置文件中,有三个主要的配置文件需要注意:listener.ora、sqlnet.ora和tnsnames.ora。这些文件定义了Oracle数据库服务端的监听器配置、网络访问和服务名称解析设置。 - **listener.ora**文件配置了...
在Oracle数据库管理中,`init.ora`文件扮演着极其重要的角色,它主要用于存储数据库实例级别的参数配置。这些参数对于数据库的启动、运行及性能优化至关重要。下面我们将对init.ora文件中的关键参数进行详细解析。 ...
### 认识Oracle中的sqlnet.ora、tnsnames.ora与listener.ora三个关键配置文件 #### 一、概述 在Oracle安装过程中,我们常常会在安装目录下的`$HOME/network/admin`文件夹中发现三个重要的配置文件:`sqlnet.ora`、...
- 进一步检查`$ORACLE_HOME/admin/SID/bdump`目录下的`alert_SID.log`文件,发现日志记录了大量的ORA-1654和ORA-1653错误,表明表空间已满且无法扩展。 3. **表空间配置问题**: - 创建表空间时人为设置了最大...
如果仍然遇到问题,检查你的tnsnames.ora文件是否正确配置,确保其中包含了你要连接的Oracle服务名的定义。 6. 如果以上步骤无法解决问题,还应检查其他可能的原因,比如网络连接、数据库服务器状态、用户权限等。...
Oracle数据库发生ORA-04031错误原因浅析及处理 Oracle数据库是甲骨文公司提供的一种分布式数据库管理系统,以分布式数据库为核心的软件产品。它具有完整的数据管理功能,作为一个关系数据库,它是一个非常实用的...
- **日志文件**: Oracle数据库的日志文件中也会记录ORA错误信息,包括alert日志、trace文件等。 #### 错误解析 下面我们将详细解析部分ORA错误代码及其含义: 1. **ORA-00001: unique constraint (owner....
### Oracle ORA-12518 故障处理 #### 概述 在Oracle数据库管理过程中,遇到ORA-12518错误是较为常见的问题之一。此错误通常发生在客户端试图连接到数据库服务器的过程中,当监听器无法将客户端连接顺利地移交给...
Oracle ORA 异常处理详解 Oracle 是一个强大的关系数据库管理系统,然而,在使用 Oracle 时,总是会遇到各种错误信息,这些错误信息是Oracle抛出的异常信息,用于提示开发者出现了什么问题。了解这些错误信息是...
在Oracle数据库的运行过程中,`listener.ora`和`tnsnames.ora`是两个至关重要的配置文件,它们负责管理和通信数据库实例与客户端应用程序之间的连接。 `listener.ora`文件是Oracle监听器的配置文件,它定义了监听器...
这导致Oracle在启动时未能找到必要的配置文件,从而触发了ora-01033错误。 具体来说,Oracle在启动时会尝试加载现有的数据库配置信息。如果在这个过程中找不到所需的文件(如控制文件、数据文件等),就会引发错误...
2. **配置环境变量**:安装完Instant Client后,你需要设置一些环境变量,例如`ORACLE_HOME`指向Instant Client的安装目录,`TNS_ADMIN`指向包含tnsnames.ora文件的目录。tnsnames.ora文件定义了数据库服务名与网络...
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...