解决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发生的一些常见错误以及解决方法和相应的代码示例。在实际应用中,我们应该经常注意这些错误,并且可以自己编写相应的代码去预防这些错误的产生。