Initialization Parameters

本文详细介绍了Struts2框架中的关键配置选项,包括config参数用于指定XML配置文件列表、actionPackages参数定义需加载的Action类所在包名列表、configProviders参数允许用户自定义配置提供者等。此外还涉及日志工厂配置及其它Struts2常量设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

config
表示要加载的XML配置文件的列表,多个文件名之间使用英文逗号(,)分隔。如果没有配置这个参数,struts2框架将默认加载struts.xml、struts-default.xml和struts-plugin.xml这三个文件。

actionPackages
表示要加载的Java包名的列表,多个包名之间使用英文逗号(,)分隔。Struts 2框架将加载这些包中的Act<wbr><span style="color:#112209">ion类。</span></wbr>

configProviders
表示实现了ConfigurationProvider接口的Java类的列表,多个类名之间使用英文逗号(,)分隔。ConfigurationProvider接口描述了框架的配置,默认情况下,Struts 2框架使用StrutsXmlConfigurationProvider从XML文档中加载它的配置。使用configProviders参数,可以用来指定自己的ConfigruationProvider接口实现类。

loggerFactory
指定LoggerFactory实现类的类名

*
任何其他参数都可以当做是Struts 2的常量。

<think>我们正在解决的是在Ubuntu上静默安装Oracle后,使用DBCA创建数据库时出现的两个问题: 1. ORACLE_BASE 不一致 2. SID已存在 根据引用[1][3][4]中的静默安装步骤,我们通常使用dbca命令并指定响应文件来创建数据库。出现这两个错误的原因可能是: - ORACLE_BASE不一致:在响应文件中指定的ORACLE_BASE与当前环境变量中设置的ORACLE_BASE不一致。 - SID已存在:在响应文件中指定的SID(数据库实例名)在系统中已经存在。 解决方法如下: ### 1. 解决ORACLE_BASE不一致问题 我们需要确保环境变量中的ORACLE_BASE与响应文件(如dbca.rsp)中指定的ORACLE_BASE一致。 **步骤:** 1. 检查当前环境变量ORACLE_BASE的值(以oracle用户身份): ```bash echo $ORACLE_BASE ``` 2. 编辑响应文件(例如:`/u01/app/oracle/product/19.3.0/assistants/dbca/dbca.rsp`),查找并修改以下参数: ``` gdbname=数据库全局名 sid=数据库实例名 oracleHome=ORACLE_HOME路径 systemPassword=系统密码 sysPassword=sys密码 # 特别注意以下两个参数: oracleBase=环境变量中设置的ORACLE_BASE路径 ``` 确保`oracleBase`的值与`echo $ORACLE_BASE`输出的值完全相同。 3. 保存响应文件。 ### 2. 解决SID已存在问题 如果响应文件中指定的SID已经被使用,我们需要更改SID或者清理已存在的SID。 **方法一:更改响应文件中的SID(推荐)** 1. 编辑响应文件,找到`sid`参数,修改为一个新的、未被使用的SID。 2. 同时,确保`gdbname`(全局数据库名)也相应修改(通常gdbname由sid和域名组成,但也可以只使用sid)。 **方法二:删除已存在的SID(谨慎使用)** 如果确定该SID对应的实例不再需要,可以删除它。 1. 停止与该SID相关的所有Oracle进程。 2. 删除以下目录和文件(假设原SID为`ORCL`): - `$ORACLE_BASE/admin/ORCL` 目录 - `$ORACLE_BASE/cfgtoollogs/dbca/ORCL` 目录 - `$ORACLE_BASE/oradata/ORCL` 目录(如果存在) - `$ORACLE_HOME/dbs/initORCL.ora`、`spfileORCL.ora`、`orapwORCL`等文件 3. 同时,检查`/etc/oratab`文件,删除与旧SID相关的行。 ### 3. 重新运行DBCA 在修改响应文件后,重新运行DBCA命令: ```bash dbca -silent -createDatabase -responseFile /path/to/your_modified_dbca.rsp ``` ### 4. 验证 1. 检查数据库是否创建成功: ```sql sqlplus / as sysdba SQL> select name, open_mode from v$database; ``` 2. 检查监听状态: ```bash lsnrctl status ``` ### 常见问题 - **权限问题**:确保以oracle用户运行dbca命令,并且对响应文件有读取权限。 - **路径错误**:确保响应文件中的路径(如oracleBase, oracleHome)都是正确的且具有写入权限。 ### 相关问题 1. 如何修改Oracle环境变量? 2. 如何彻底删除一个Oracle数据库实例? 3. 如何查看当前系统中存在的Oracle实例? 4. 在静默安装Oracle时如何正确配置响应文件? [^1]: Oracle19C静默安装教程中关于dbca命令的使用 [^3]: ubuntu静默安装oracle11g和oracle12c中dbca命令的使用 [^4]: Linux静默安装Oracle21C中运行安装程序的命令</think>针对Ubuntu上静默安装Oracle后使用DBCA创建数据库时出现的 **ORACLE_BASE不一致** 和 **SID已存在** 问题,以下是详细解决方法: --- ### **问题1:ORACLE_BASE不一致** #### 原因分析: - 环境变量中的`ORACLE_BASE`与响应文件(如`dbca.rsp`)中的定义不一致 - 多版本Oracle安装导致路径冲突 #### 解决步骤: 1. **检查当前环境变量**: ```bash su - oracle echo $ORACLE_BASE ``` 2. **修改响应文件**: 编辑DBCA响应文件(如`/u01/app/oracle/product/19.3.0/assistants/dbca/dbca.rsp`): ```ini # 确保以下参数与当前环境变量一致: oracleBase=/u01/app/oracle # 修改为实际路径 oracleHome=/u01/app/oracle/product/19.3.0 ``` 3. **验证路径所有权**: ```bash sudo chown -R oracle:oinstall /u01/app/oracle ``` 4. **重新执行DBCA**: ```bash dbca -silent -createDatabase -responseFile /path/to/dbca.rsp ``` --- ### **问题2:SID已存在** #### 原因分析: - 之前安装残留了相同SID的实例 - 环境变量`ORACLE_SID`未清除 #### 解决步骤: 1. **检查现有SID**: ```bash ps -ef | grep pmon # 查看运行中的实例 grep $ORACLE_SID $ORACLE_HOME/network/admin/listener.ora ``` 2. **清理残留文件**: ```bash # 删除旧实例文件 rm -rf $ORACLE_BASE/admin/<旧SID>* rm -rf $ORACLE_BASE/cfgtoollogs/dbca/<旧SID> rm -rf $ORACLE_BASE/oradata/<旧SID> rm $ORACLE_HOME/dbs/init<旧SID>.ora rm $ORACLE_HOME/dbs/spfile<旧SID>.ora ``` 3. **修改响应文件**: 编辑`dbca.rsp`: ```ini sid=NEWSID # 更改为新的唯一SID gdbname=global_NEWSID # 同步修改全局名 ``` 4. **更新环境变量**: ```bash vi ~oracle/.bashrc export ORACLE_SID=NEWSID # 与新SID一致 source ~oracle/.bashrc ``` 5. **重建数据库**: ```bash dbca -silent -createDatabase -responseFile /path/to/dbca.rsp ``` --- ### **验证步骤** 1. **检查数据库状态**: ```sql sqlplus / as sysdba SELECT name, open_mode FROM v$database; ``` 2. **查看监听状态**: ```bash lsnrctl status # 应显示新SID的服务 ``` 3. **日志检查**: ```bash tail -f $ORACLE_BASE/cfgtoollogs/dbca/<新SID>/trace.log ``` --- ### **预防措施** 1. **标准化响应文件**: ```ini # dbca.rsp 关键参数示例 responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0 gdbname=orcl.global sid=orcl databaseConfigType=SI templateName=General_Purpose.dbc ``` [^1] 2. **安装前环境检查**: ```bash # 检查SID冲突 grep -r "旧SID" $ORACLE_BASE $ORACLE_HOME ``` 3. **使用干净的用户环境**: ```bash mv ~oracle ~oracle_backup # 备份旧配置 useradd -m -g oinstall oracle ``` --- ### **相关问题** 1. 如何彻底卸载Oracle残留文件? 2. DBCA响应文件中哪些参数必须与环境变量匹配? 3. 如何查询当前系统中已存在的Oracle SID? 4. 静默安装时如何避免路径权限问题? [^1]: Oracle静默安装中响应文件的配置要点 [^2]: SID冲突的检测和清理方法 [^3]: ORACLE_BASE环境变量的作用域和优先级
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值