本文摘自:http://blog.csdn.net/pw_windgod/article/details/6058384
SQL> startup;
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'
网上找了很多资料,都没解决问题,后来看了一位达人的文章,主要意思是先用spfile产生pfile,再修改local_listener的参数,再重新产生spfile,步骤如下:
第一步:复制一份pfile参数文件(注意:oracle中的pfile指的就是init<sid>.ora文件)
$ ./sqlplus / as sysdba;
SQL> create pfile from spfile='/u01/oracle/product/10.2.0/db_1/dbs/spfileorcl.ora';
第二步:修改pfile参数文件(也即修改init<sid>.ora文件)
经过第一步以后,你就会在$ORACLE_HOME/dbs目录下发现有这么一个文件init<sid>.ora,这就是你第一步创建的文件。由于我的oracle实例名为orcl,所以我的pfile文件为initorcl.ora。
用gedit打开,找到local_listener这一行,然后将其值修改为:
(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))
其中的your_hostname为你的主机名,其实导致ORA-00119和ORA-00132错误的原因就很可能是你修改了你的 hostname,但是我看了一下我的tnsname.ora文件里面的那个LISTENER_ORCL(可能你不是这个名字)和后面修改的 your_hostname一致,我做的只是将tnsname.ora文件中的(ADDRESS_LIST=(Address= (Protocol=tcp) (Host=your_hostname)(Port=1521)))复制到pfile文件的“local_listener=”后面,然后就顺利启动了 数据库,我也不知道为什么直接用*.local_listener='LISTENER_ORCL'就找不到,而一定 要*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))'才可以,这个问题以后研究一下。
以下是我的一个修改样例:
修改之前可能是这样
*.local_listener='LISTENER_ORCL'
修改后的值大概就是这个样子了
*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))'
然后保存退出
第三步:以pfile创建spfile
使用以下命令创建spfile
SQL> create spfile from pfile='/u01/oracle/product/10.2.0/db_1/dbs/initorcl.ora';
第四步:启动数据库
SQL> startup;
ORACLE instance started.
Total System Global Area *** bytes
Fixed Size *** bytes
Variable Size *** bytes
Database Buffers *** bytes
Redo Buffers *** bytes
Database mounted.
Database opened.
相关推荐
一种简单有效的解决方案是在`listener.ora`文件中显式指定监听的服务名。这样即使数据库关闭或PMON进程未启动,客户端也能成功连接到数据库。 以下是一个具体的示例,展示了如何在`listener.ora`文件中添加必要的...
以下是对"ORA-01033: ORACLE initialization or shutdown in progress"错误的详细分析及可能的解决方案。 **错误解释:** ORA-01033错误表示Oracle正在启动或关闭过程中,这可能是由于多种原因导致的,如数据库实例...
#### 解决方案 基于上述分析,如果在尝试连接到`ORCL`服务时出现ORA-15414错误,可能存在以下几种情况: 1. **服务名称不匹配**: - 确认客户端和服务端使用的全局数据库名(`GLOBAL_DBNAME`)是否一致。 - 检查...
#### 解决方案 ##### 1. 检查监听服务 首先需要确保服务器端的监听服务已开启。可以通过以下命令检查监听状态和启动监听服务: - **客户端验证**:使用 `tnsping <tns_name>` 命令检查监听器是否可用。 - **服务器...
##### ORA-00058: DB_BLOCK_SIZE必须为...才可安装此数据库 - **描述**:数据库块大小不符合要求。 - **解决方法**: - 调整`DB_BLOCK_SIZE`参数以符合要求。 - 重新创建数据库。 ##### ORA-00059: 超出DB_FILES...
- **解决方案**:确保没有进程正在使用该会话,或者强制终止进程后重试。 - **ORA-00022:无效的会话ID;访问被拒绝** - **描述**:使用无效会话ID尝试访问数据库时出现。 - **解决方案**:确保使用的会话ID有效...
### Oracle错误代码详解 在Oracle数据库管理与维护过程中,遇到各种错误代码是在所难免的。...然而,每个错误的具体原因和解决方案可能因具体环境和配置而异,因此在实际操作中还需要结合具体的场景进行分析和处理。
#### 解决方案 针对ORA-12154错误,可以从以下几个方面着手解决: 1. **检查监听服务** - **客户端验证**: - 使用`tnsping <tns_name>`命令验证客户端能否成功ping通目标数据库的监听服务。 - **服务器端...
- **解决方法**: 关闭会话后再尝试删除。 #### 13. ORA-00028: 您的会话已被删去 - **描述**: 用户会话已经被删除。 - **解决方法**: 重新建立连接。 #### 14. ORA-00029: 会话不是用户会话 - **描述**: 当尝试...
#### ORA-00058: DB_BLOCK_SIZE必须为才可安装此数据库(非) **描述**: 数据库块大小不符合安装要求。 **解决方法**: - 设置正确的`DB_BLOCK_SIZE`值。 - 确认硬件环境支持所需块大小。 #### ORA-00059: 超过DB_...
解决方案可能涉及购买额外的许可证或优化现有会话使用,减少不必要的连接。 #### ORA-00020:超出最大进程数 这表明数据库实例的进程数超过了配置的最大值。可以通过调整`MAX_PROCESSES`参数来增加允许的最大进程数...
**解决方案**: - 如果是监听器未启动,可以通过命令行启动监听器: ```bash net start OracleOraHome81TNSListener ``` 其中`OracleOraHome81TNSListener`可能因环境不同而略有差异。 - 如果监听器存在问题,可以...
- 修改`listener.ora`后,请重启监听器服务使更改生效。 - 使用`lsnrctl status`命令检查监听器状态是否正常。 - 确保`tnsnames.ora`文件中的服务名与`listener.ora`文件中的`SID_NAME`保持一致。 通过以上步骤,...
Oracle 19C RAC(Real Application Clusters)是一种高可用性和可伸缩性的数据库解决方案,它允许多个实例共享同一个物理数据库。在本场景中,我们探讨的是如何在Oracle 19C RAC环境中通过Oracle数据库网关(Gateway...
### Oracle修改机器名后不能启动Console的解决方案 在Oracle数据库管理过程中,有时为了方便记忆或出于其他考虑,可能会更改服务器的主机名。然而,在Oracle环境中修改主机名后,可能会遇到Oracle Database Console...
- `ora.eons` 和 `ora.gsd` 也是RAC环境中的组件,前者是扩展的ONS服务,后者是Grid Services Daemon,可能处于离线状态,这可能意味着它们未被当前配置使用或者因为维护原因而关闭。 6. **维护和故障排查**: ...
本文详细介绍了Oracle 9i全备份导入Oracle 11g过程中因`db_block_size`不一致而导致的问题,并提供了解决方案。通过调整目标数据库的相关参数以及手动创建匹配的临时表空间,可以有效避免导入过程中出现的错误。此外...
### Oracle透明网关跨库查询SQLServer #### 环境搭建与配置 在实际的生产环境中,常常会遇到需要跨数据库查询的...对于需要跨数据库平台进行数据交换的应用场景来说,Oracle透明网关提供了一种高效且简便的解决方案。