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安装主路径的目录。在做完这些工作之后电脑最好重启一下。