ORACLE问题解决集合(持续更新)[亲测有效]

ORACLE问题解决集合(持续更新)[亲测有效]一.如何导出空表 先执行此语句: select 'alter table '||table_name||' allocate extent;' from us…

ORACLE问题解决集合(持续更新)

再执行此语句查询出来的SQL语句:例如alter table 表名 allocate extent;

二.oracle用localhost连接数据库能连上,用ip连接不上

解决方法1:打开”开始”菜单->oracle…->配置和移植工具–>Net Configuration Assistant;删除安装或者建库时默认创建的listener;然后重新添加一个新的Listener;
解决办法2:
1、修改配置文件listener.ora将HOST=你自己的主机名
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = sweetboy_pc)(PORT = 1521))
)
)
文件所在路径:
C:oracleproduct10.2.0db_1NETWORKADMIN
2、检查监听设置,重新启动监听服务。
原因:原来的Listener中host是localhost; 不兼容机器名;新添加的Listener中host用的是机器名; 兼容localhost;

三..net连接ORACLE问题合集

问题1:提示OraOps10.dll无法找到。

解决办法:将client_1文件夹的属性中,点击安全,将Authenticated Users的权限设置为全部。

问题2:获取模型后,发现获取到的二进制文件为空。

解决办法:经多方对比,发现保存模型文件的二进制为long raw型,而普通二进制为BLOB型,而经过网上查找,发现long raw是一种老的数据模式,逐渐被BLOB取代,遂直接将long raw改为BLOB,数据下载正常。

问题3:oracle中一个字段可能是null那样的话 假如一个字段类型是整形 null+整数还是null这样的话写sql就出问题了
解决办法:可以用nvl(ATTR_10041001,0)把字段中是null的替换成0 ,这个时候所有的null就变成0了 当然你也可以nvl(ATTR_10041001,1),这样所有的null就替换成1了 。
问题4: 
ora-12514:TNS:listener does not currently know of service requested in connect descriptor
解决办法:检查监听是否配置正确,检查web.config中连接串信息中 (CONNECT_DATA=(SERVICE_NAME=ORCL))中是否正确,确保vs引用的dll是正确的版本,小版本也要注意。

问题5:调试时能正常链接,发布到ISS却无法链接。

解决办法:将10.2.0文件夹的属性中,点击安全,将Authenticated Users的权限设置为全部
 ,并点击高级,在高级安全设置中,将最下面的两个复选框全部选中,尤其是最后一项,括号标识为(P)的项,然后重启电脑。
问题6:win7 64位VS2013连接ORACLE时,需要修改注册表
HKEY_CURRENT_USER/Software/Microsoft/VisualStudio/12.0/WebProjects /v Use64BitIISExpress /t REG_DWORD /d 1 

问题7:win2008 r2发布不上
 1安装oracle 10g 32位客户端,地址:
C:发布文件oracle 10g 32位客户端

2安装oracle 11g  64位 服务端,地址:
C:发布文件oeacle 11g 64位服务端
服务端安装地址最好在客户端安装地址之前(未测试服务端安装地址在客户端安装地址之后的情况),服务端密码不能以数字开头。



3配置iis。

4安装framework4.0,地址:

C:发布文件framework4.0

Windows server 2008 r2版本不同,对应安装软件不同,可在微软官网下载不同版本。

5发布BS程序。


问题8:PLSQL连接正确,但程序连接报用户名和密码错误
解决办法:检查用户名和密码大小写,ORACEL会自动 将小写转换为大写。

四.ORACLE解锁

1. 查找锁定的详细信息 库以及当前用户以及其他信息。LOCK_LEVEL表示那个表被锁定,同时锁定的是行还是表,当解除行锁定后,所有的表锁定可能都解除。
 select   s.username,  
  decode(l.type,”TM”,”TABLE   LOCK”,  
                              “TX”,”ROW   LOCK”,  
                              NULL)   LOCK_LEVEL,  
  o.owner,o.object_name,o.object_type,  
  s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser  
  from   v$session   s,v$lock   l,dba_objects   o  
  where   s.sid=l.sid  
  and   o.object_id=l.id1  
  and   s.username   is   not   null  
2. 对锁定的数据解锁
  alter   system   kill   session   “200,6339”;”200’表示1.中的SID,’6339″表示1.中的SERIAL#。
3. 锁定表的查询
SELECT a.object_id, a.session_id, b.object_name
FROM v$locked_object a, dba_objects b
WHERE a.object_id = b.object_id

五.ORACLE 客户端与服务端版本不同时系统访问问题

问题描述:

ORACLE服务端数据库版本:ORACLE 11gR2

ORACLE客户端版本:ORACLE 10gR2

WEB服务端:IIS 6.0

应用程序:精致MES信息管理系统2.0

客户端B/S访问错误提示:数据库名或密码错误

 

原因:

Oracle.DataAccess.dll文件的的版本号引起。

在B/S程序的目录下bin目录中Oracle.DataAccess.dll文件的版本为10.2.0.100,当数据库的版本与客户端的版本不一致时,出现上述报错。

 

 

解决方法:

在web.config中修改,在 configSections节点结束之后增加如下内容:

 

<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>

        <dependentAssembly>

            <assemblyIdentity name=”Oracle.DataAccess”

            publicKeyToken=”89B483F429C47342″

            culture=”neutral” />

            <bindingRedirect

              oldVersion=”10.2.0.100″

              newVersion=”2.112.1.0″/>

        </dependentAssembly>

</assemblyBinding>

以上数据库服务端的版本为ORACLE 11gR2,版本号:2.112.1.0

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9865.html

(0)
上一篇 2023-01-30
下一篇 2023-01-30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注