10
plsql快捷键的问题,重置plsql快捷键即可解决。
plsql -> -菜单栏(工具)-> 首选项 -> 用户界面栏目下的键配置 -> 界面右下角 -> 复位到默认即可解决。
1.查看服务器的监听状态是否打开
在CMD下运行如下命令就可以:
lsnrctl status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:无监听器
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error
打开监听器:
C:\Users\Administrator>LSNRCTL START
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 05-11月-2012 15:5
0:53
Copyright (c) 1991, 2005, Oracle. All rights reserved.
TNS-01106: 使用名称LISTENER的监听程序已经启动
2.尝试登录本地数据库看是否成功
C:\Users\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 11月 5 15:53:36 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL>
如上所示表示正确连接,且tnsnames.ora文件没有问题,如果连接失败请检查服务是否开启,并且检查tnsnames.ora文件内容是否有误,如下:
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)在orcl前面是不允许出现空格的,并且最好将自己添加的内容放置在原有内容之后。
个人认为上面两项足可以解决该问题了,至于网上其他网友的论述不予评论,本人在检查完上述所有信息后就可以登录了。
这里顺便贴出网友给出的另外的解决方案以便大家参考:
3.如果确保你的tnsnames.ora内容没有错误,那请将%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN目录下的所有文件删了,然后重新连接,一般就能解决了。 说明一下:那个目录里的文件是在你建立连接的时候动态生成的,不要怕删了会有问题
4.进入PLSQL Developer的主界面,在登录界面选择取消即不登录进入主界面,然后选择菜单Tools(工具)-Preferences(首选项),在设置窗口中,选择Oracle-Connection(连接),对应设置窗口中,找到Oracle Home(Oracle主目录),选择你本地所安装客户端的版本,保存设置,然后重新启动PLSQL Developer,这时就可以正常登录了。
最近买了新电脑,装了64位新系统,突然间又遇到了上面的问题,奇怪了就上面的所有的我都已经验证,到底为什么还是报这个错呢,搞了半天是因为plsql装的位置不对,原来64位win7会把32位应用程序安装到Program Files (x86)目录下,安装的时候我觉得吧这也没什么,结果偏偏是它出问题了,奶奶的,重新装了并且换到C:\Program Files目录下,结果链接正常了,太让人纠结了,还有,为了避免这种问题再度出现,建议oracle客户端也要注意安装路径(转)
5 卸载oralce :
1)、开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。
(3)、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。
(4)、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口。
(5)、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标
(6)、重新启动计算机,重起后才能完全删除Oracle所在目录
(7)、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从Windows 2000目录(一般为C:\WINNT)下删除以下文件:ORACLE.INI、oradim80.INI
6 oracle的字段自加1
已经或者创建表tom_table
创建序列tom_sequence :create sequence tom_sequence increment by 1
start with 1
nomaxvalue
nocycle;
创建触发器tom_trigger(每次执行insert都触发触发器):create or replace trigger tom_trigger before insert
on tom_table for each row begin
SELECT tom_sequence.NEXTVAL INTO :NEW.ID FROM DUAL;
end tom_tirgger;