oracle错误小结

1.Oralce 默认的用户为:SYS,SYSTEM,scott,安装时候要注意给他们解锁设置密码.

2.一般使用scott/tiger进入sqlplus或者isqlplus,因为命令行提示符下可以使用方向键来回切换修改 比较方便所以一般使用命令行提示符,即使用sqlplus而不使用isqlplus

3.切换用户使用 conn  sys/change_on_install as sysdba

 或者conn  system/manager as sysdba 

系统管理员登陆时红色标记为必须写,否则无法登陆

 普通用户 conn  scott/tiger

4.进入sqlplus后使用下面sql语句测试:

Select * from emp;

发现排版不正常使用:

Set linesize 150;每行显示300字符

Set pagesize 30 ;每页显示30行

5.isqlplus或者sqlplus下使用ed命令

SQL>ed 文件名

将调用系统的文本处理工具,选择保存,你可以在这里编辑自己的sql语句,然后使用

SQL>@ 文件名 来执行刚才编辑的sql脚本文件 如果文件为*.sql可不输入后缀.

还可以使用:
SQL>@ 绝对路径+文件名来执行sql脚本文件.

同理如果是*.sql可不写后缀名.

6.常见错误:

ORA-12541:TNS:没有监听器

$lsnrctl start 或者 C:lsnrctl start启动服务

ORA-12500:TNS:监听程序无法启动专用服务器进程

对于windows而言,没有启动oracle实例服务,启动实例服务:

C:oradim -startup -sid myoracle

ORA-12535:TNS:操作超时

出现这个问题原因很多,但是主要和网络有关,解决办法,检查客户端和服务端网络是否通畅,如果网络通畅检查防火墙

ORA-12154:TNS: 无法处理服务名;

检查输入的服务名与配置的服务名是否一致.另外注意生成本地服务名文件

Windows 下在D:\oracle\product\10.2.0\db_xinyuan_xiaok\NETWORK\ADMIN\tnsnames.ora

Linux$ORACLE_HOME/netword/admin/tnsnames.ora里没项服务的首行不能有空格

ORA-12514:TNS:

 监听进程不能解析在连接描述符合给出的SERVICE_NAME 打开Net Manager.选中服务名称,检查服务标识栏里的用户服务名输入是否正确,该服务名必须与服务器端监听配置的全局数据库名一致

Windows 下启动监听服务提示找不到路径

用命令或在服务窗口中启动监听提示找不到路径,或者监听服务器异常,打开注册表进

HKEY_LOCAL_MACHINE/SYSTEM/Current/ControlSet/Service/OracleOraHome/TNSListener

察看ImagePath 字符项是否存在,如果没有,设定值为D:/……oracle/……/BIN/TNSLSNR,不同的安装路径设定值做相应的更改.这种方法适合oracle实例服务,同上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/services/Oracle ServiceMYORACLE,查看ImagePath 字符串项是否存在,如果没有,新建设定值为D:/……oracle/……/bin/ORACLE.EXE  MYORACLE.

 

Oracle连接相关错误解决步骤以及清单(部分缺少截图,各位见谅)
1、        Ping
a)        网络
b)        防火墙
2、        Tnsping
a)        Tnsping正确只是告诉你至少监听是正常的。
b)        Tnsnames.ora配置问题
c)        Oracle环境变量(客户端)
d)        Sqlnet.ora
3、        Sqlplus “/as sysdba”
a)        报无权限,检查ORACLE_HOME,ORACLE_SID的设置,sqlnet.ora中的设置,用户是否在ora_dba组中。
4、        sqlplus username/password@orcl
a)        服务器是否启动
b)        监听是否启用
c)        Oracle服务器端连接
d)        查看服务器端的listener.log,sqlnet.log,确定客户端是否已经到达监听,如果没有就是完全错的,否则可能的oracle服务配置有问题。
5、        Sqlplus easy connect
a)        如果能连接就是oracle客户端环境有问题,否则按照上述方式处理
6、        ORA-12518 TNS:监听程序无法分发客户机连接
遇到过的一个情况就是客户端tnsnames.ora中的service_name在服务器端不存在,但是呢在listener.ora中呢又配置了到这个实例的侦听引起的。如下所示,服务器上不存在名为cjn的实例。


在一台服务器上安装了多个数据库实例的时候,发生这种情况的概率大很多。
数据库实例没有启动也是可能的。
7、        TNS-12519
ORA-12519: no appropriate service handler found
alter system set processes = 300 scope = spfile;
startup force
8、        ORA-12500
ORA-12500: TNS:listener failed to start a dedicated server process
客户端tnsnames.ora中的service_name在服务器端不存在,但是呢在listener.ora中呢又配置了到这个实例的侦听引起的。
9、        已使用 HOSTNAME 适配器来解析别名,TNS-12541: TNS: 无监听程序
a)        检查oracle_home是不是有多个,比如同时安装了10g和11g
10、        ORA-12152: TNS:unable to send break message
用sql*plus连接即可。也有可能服务器那边进程已经被kill干掉了。
11、        TNS-12541:TNS: 无监听程序
客户端使用sqlplus usename/password@tns连接的时候报TNS-12541:TNS: 无监听程序,而服务器上监听是开着的,应该是客户端tns配置有问题(如应该使用ip而非localhost),可以先使用easy connect测试一下
10、12560: 协议适配器错误
        一般是服务器没有起来,尝试sqlplus “/as sysdba”还是抱ora-12560。尝试设置oracle_sid,oracle_home为正确的值,再尝试连接看看。在oracle 9i&8i中遇到这个错误还有一种可能就是sga设置的问题,看报错的原因是sga太大,但实际上一定要调整到自动初始化的大小才能启动oracle。当使用sysdba连接的时候会报”共享内存已存在”,但是无法正常shutdown(包括abort),这是因为设置了Oracle通过服务自动启动,但是环境变量中的oracle_sid又没有被windows服务识别,导致sid有一块sga一直被windows认为已经在了,但是它的sid却又不知道。因此会出现该问题。解决方法为:将oracle改为手工启动,重启windows服务器,然后通过sqlplus “/as sysdba”,startup pfile=’init.ora’来启动,启动后手工调整sga,pga等参数的大小。

ORA-12638: 身份证明检索失败 的解决办法 
C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\ sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES = (NTS)改为NONE即可。

ORA-01031: 权限不足
C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\ sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES = (NONE)改为NTS即可。


Jdbc Get minus one from a read call解决办法

原因:应该是服务器端session紧张,尝试加大看看能否解决掉。还有一种可能就是它消失之后,可能伴随着SQLException: Io exception: The Network Adapter could not establish。后一个问题的原因是配置不正确,可能是客户端,也可能是服务器端。把jdbc的ip部分更改为主机名,后台的监听从原来的侦听ip调整为侦听主机名,同时主机名一定要在hosts文件中。否则可能会报ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exist。

 

7.PLSQL developer 连接Oracle以及常用操作

怎么连都连接不上,提示什么狗屁……oracle\……\network\ADMIN下面的二个文件tnsnames.ora,listener.ora文件拒绝访问,我都郁闷了,oracle安装目录下的所有文件都修改了权限也不行.

最后使用命令行提示符连接后不关闭,然后再连接就能成功.这是什么狗屁.进入后PLSQL Developer 自己新建用户Test,然后关闭所有.再次登陆就能成功登陆很让人费解.

这样操作过后,Test删除,再次使用scott便可以正常登陆.纠结的工具.

后来经研究发现就是系统权限问题,当前用户无法修改访问超级管理员创建的oracle安装目录下的文件,设置oracle安装目录,当前用户有读写权限.右键oracle文件夹.便可正常使用,如果仍然不行建议重装oracle.

PL/SQL DEV 中

新建用户

以管理员sysdba登陆--Users--右键--新建--设置用户名密码,默认表空间一般设置为Users,临时表空间为Temp,概要文件选择default--角色权限设置dba--系统权限unlimited tablespace--应用。

导入导出表

以普通用户Normal登陆--工具--导入表--选择文件sql/dmp或者其他--点击导入,导出同理。

导入是记得重新编译存储过程 Procedures  右边的按钮,编译无效的存储过程。

 

8.首先要卸载干净再安装.卸载步骤:

1、控制面板\所有控制面板项\管理工具\服务 停止所有Oracle的服务项 
2、开始->所有程序->Oracle - OraDb10g_home1->Oracle Installation Products->Universal Installer   点击卸载产品,让后将你之前所安装的组件选择删除 
3、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。 
4、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口  
5、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标  
6、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录
7、手动删除你之前的Oracle安装主路径的目录。在做完这些工作之后电脑最好重启一下。  

然后重装不要关闭任何服务,在次连接,测试.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值