解决Oracle10g发生的常见错误(oracle10g错误)

解决Oracle10g发生的常见错误

Oracle10g是目前比较常见的数据库管理系统之一,然而在日常使用中也会出现各种错误。在此,我们将介绍一些常见的Oracle10g错误,以及解决方法和相应的代码示例。

1. ORA-01017: invalid username/password; logon denied

这个错误意味着用户名或密码无效,通常是由于输错了用户名或密码导致的。在解决时,需要确认用户名和密码是否正确,并检查大小写是否正确。

代码示例:

SQL> connect sys as sysdba

Enter password: (enter password here)

ERROR:

ORA-01017: invalid username/password; logon denied

SQL> connect sys as sysdba

Enter password: (enter correct password here)

Connected.

2. ORA-12560: TNS:protocol adapter error

此错误是连接数据库时经常遇到的问题,通常是由于oracle服务未启动或者listener.ora文件的配置错误导致的。在解决时,需要检查listener.ora文件是否正确,并确认Oracle服务是否已启动。

代码示例:

C:\> lsnrctl start

LSNRCTL for 32-bit Windows: Version 10.1.0.4.0 – Production on 06-AUG-2019 09:13:34

Copyright (c) 1991, 2004, Oracle. All rights reserved.

Starting tnslsnr: please wt…

TNSLSNR for 32-bit Windows: Version 10.1.0.4.0 – Production

System parameter file is C:\oracle\product\10.1.0\db_1\network\admin\listener.ora

Log messages written to C:\oracle\product\10.1.0\db_1\network\log\listener.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=192.168,1.1)(PORT=1521))

STATUS of the LISTENER

————————

Alias LISTENER

Version TNSLSNR for 32-bit Windows: Version 10.1.0.4.0 – Production

Start Date 06-AUG-2019 09:13:44

Uptime 0 days 0 hr. 0 min. 0 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File C:\oracle\product\10.1.0\db_1\network\admin\listener.ora

Listener Log File C:\oracle\product\10.1.0\db_1\network\log\listener.log

Listening Endpoints Summary…

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=1521)))

The listener supports no services

The command completed successfully

3. ORA-12541: TNS:no listener

这个错误与第二个错误类似,都是由于listener的配置问题导致的,区别在于这个错误是没有找到listener。在解决时,需要检查listener.ora文件是否正确,并确认listener是否已经运行。

代码示例:

C:\oracle\product\10.1.0\db_1\BIN>lsnrctl start

LSNRCTL for 32-bit Windows: Version 10.1.0.4.0 – Production on 06-AUG-2019 09:14:39

Copyright (c) 1991, 2004, Oracle. All rights reserved.

TNS-01106: Listener using listener name LISTENER has already been started

TNS-12541: TNS:no listener

TNS-12560: TNS:protocol adapter error

TNS-00511: No listener

32-bit Windows Error: 61: Unknown error

Listener fled to start. See the error message(s) above…

4. ORA-01722: invalid number

这个错误意味着执行的SQL语句中存在非数字字符,例如把一个字符型的数据放入了一个数字型的列中。在解决时,需要检查列的数据类型是否匹配。

代码示例:

SQL> select ‘1234’ + ‘5678’ from dual;

select ‘1234’ + ‘5678’ from dual

*

ERROR at line 1:

ORA-01722: invalid number

SQL> select to_number(‘1234’) + to_number(‘5678’) from dual;

TO_NUMBER(‘1234’)+TO_NUMBER(‘5678’)

———————————–

6912

5. ORA-00942: table or view does not exist

这个错误意味着所引用的表或视图不存在,通常是因为没有正确地输入表或视图名称或者因为引用表的用户不正确。在解决时,需要确认表或视图的存在,并可能需要使用完整限定名或者修改权限。

代码示例:

SQL> select * from employees;

select * from employees

*

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> select * from hr.employees;

(selects data from the employees table under the hr schema)

以上就是Oracle10g发生的一些常见错误以及解决方法和相应的代码示例。在实际应用中,我们应该经常注意这些错误,并且可以自己编写相应的代码去预防这些错误的产生。


数据运维技术 » 解决Oracle10g发生的常见错误(oracle10g错误)