Oracle 11g. 12505错误 已解决. 仔细看哦.

[quote]
2009-06-23 11:07最新修改.
虽然oracle 11g. 的12505错误 解决了.
第二天上班来了. 想把昨天新建的数据库实例删掉.
结果因为testdb数据库无法启动.无法删除.
当然无法启动了.. 哈哈..
没有解决不了的问题.
暂时的想法:
把配置文件改回新建的数据库示例的配置信息,主要还是修改tnsnames.ora文件.
把监听器配置成新的数据库实例 当然三个配置文件要在修改之前备份一下哦.
因为删除数据库会把数据库所有的信息都删掉. 因为之前的数据库已经修复 所有最好删除新的数据库之前把配置文件备份一下.
这样删除数据库就应该没有问题了.
删除成功之后. 在把备份好的配置文件 放到原来的目录$ORACLE_HOME$/NETWORK/ADMIN/下.
应该就没有问题了.
因为鄙人还没有测试. 只是想法. 呵呵..
不过应该是没有什么问题的.
如果有问题. 大家一起探讨啊.!十分欢迎!
小弟有礼了.
[/quote]
修复步骤.
[color=red]1->创建新的数据库示例.
2.修改tnsnames.ora. 把新建的数据库实例修改为出现异常的.
3.打开注册表修改oracle_sid
4.cmd->sqlplus /nolog->conn sys/change_on_install as sysdba->startup
5.等待数据库装载、启动..[/color]
等命令行出现数据库已启动.就大功告成了.
随便去测试吧..
功夫不负有心人啊..
大家膜拜吧!
2009-07-01 修改:
windows 事件查看器 看来要定期清除一下. 1M 几天就满了.. 大家都设置多大啊.!
转到正题 大家如果startup启动不了数据库。
可能是因为oracle实例还是开启着.
SQL>shutdown abort;
SQL>startup;


我现在用的是.Oracle 11g. 这两天做项目 又碰到棘手的问题了.ORA-12505错误.
也许是现在人们用的Oracle 11g的人和公司不多吧..
Oracle 11g. 的3个配置文件. 在出错以后. 发现跟网上人们所讲的3个配置文件完全不一样.
上一次出现错误. 几天无果. 新建数据库. 结果报windows记录事件错误. 卸载Oralce c重装.也不可以. 当时也没找到解决方案. 只好重装系统. 才算搞定.
今天找到windows记录事件Exception答案. 可以在. 开始->控制面板->管理工具->事件查看器
可以看到 应用程序、安全性、系统3个日志文件. 原来是应用程序的日志文件已经满了. 无奈只好手动把最大限制改到1024. 因为不敢清除. 所以只好改大.
关于ORA-12505错误 11G版本的数据库还是没有找到解决方案.
只有重新创建一个数据库. 凑活使用.
但问题暂时还没有解决.
现将没有问题的数据库的3个主要的配置文件源码贴出. 记录一下.等出问题的时候. 覆盖不知啊好使不好使.
[b]tnsnames.ora[/b]

# tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.1.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

TESTDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MICROSOF-CB7F22)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
)
)

[b]sqlnet.ora[/b]

# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES = (NTS)

[b]listener.ora[/b]

# listener.ora Network Configuration File: E:\app\Administrator\product\11.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MICROSOF-CB7F22)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)

..
另附.网络上.Oralce 10g. ORA-12505错误的解决办法.
因为本人装的是11g 所以也验证不了.
暂时代码贴出.

连接 jdbc Oracle10g 错误 ,JDBC代码无问题,服务也启动,连接字符串也是对的,但是在eclipse 下报错,错误信息如下:

java.sql.SQLException: Listener refused the connection with the following error:

ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

The Connection descriptor used by the client was:

localhost:1521:orcl


at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:279)

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:318)

at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)

at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)

at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)

at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at cn.com.db.DBAccess.getConnection(DBAccess.java:33)

at cn.com.db.DBAccess.main(DBAccess.java:95)

Null

在CMD下snrctl status ,tnsping orcl 显示都正常。

在pl/SQL下用

select open_mode from v$database;

show parameter instance;

select INSTANCE_NAME from v$instance;

sqlplus sys/oracle@orcl

查询都显示正常,就是用pl/sql 登录时 填“数据库名” orcl 就无法登陆,报ora -12514

l最后有效的解决方法:

修改listener.ora文件

原listener.ora文件:

# listener.ora Network Configuration File: D:\oracle\product\10.1.0\Db_4\network\admin\listener.ora

# Generated by Oracle configuration tools.


SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = D:\oracle\product\10.1.0\Db_4)

(PROGRAM = extproc)

)

)


LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

)

)

)


修改后的文件:

---------------------------------------------------------------------------------------

# listener.ora Network Configuration File: D:\oracle\product\10.1.0\Db_4\network\admin\listener.ora

# Generated by Oracle configuration tools.


SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = D:\oracle\product\10.1.0\Db_4)

(PROGRAM = extproc)


)


(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = D:\oracle\product\10.1.0\Db_4)

(SID_NAME = orcl)

)

)


LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

)

)

)

-----------------------------------------------------------------

如果错误还存在,也可以那试一下:
set oracle_sid=<sid_name>
sqlplus /nolog
connect sys/pwd as sysdba
startup




希望能对大家有所帮助..
Ps:
终于搞定了......
如上方法...
1.修改tnsnames吧Oracle_SID修改为坏掉的数据库名字.
2.cmd->regedit--找到Oracle 修改Oracle_SID=XXXXXX,自己的数据库示例.
或 cmd->set oracle_sid=XXXXXX;
3.conn sys/pwd as sysdba
4.startup.
等着启动吧.
哈哈..
终于搞定了...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值