oracle数据库连接不上

oracle数据库连接不上,第1张

sqlplus "/ as sysdba" 连不上,报ora-01031:insufficient privileges解决方法

注意多个数据库实例时候,set ORACLE_SID='',

1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上

2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。

3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .

4. 看看是否需要使用orapassw生成口令文件 .

一种解决方法案例:

1、检查系统参数:SQL>show parameter password

NAME TYPEVALUE------------------------------------ ----------- ------------------------------

remote_login_passwordfilestring EXCLUSIVE

2、

select * from v$pwfile_users

SQL>

为空

3、SQL>grant sysdba to sys

grant sysdba to sys

*

ERROR at line 1:

ORA-01994: GRANT failed: password file missing or disabled

4、建立password文件

D:/>orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp

oswong entries=10

5、

SQL>select * from v$pwfile_users

USERNAME SYSDB SYSOP------------------------------ ----- -----

SYSTRUE TRUE

SYS正常显示出来。

6、重新在远程以SYSDBA登录,可正常使用。

如果口令文件创建的有问题,也是会报如下的错误:

ora-01031:insufficient privileges

口令文件的命名格式应为orapwsid,并且sid是区分大小写的。由于Target Database连接Auxiliary Database时需要验证口令,如果违反了以上规则,将会提示ORA-01031: insufficient privileges。

我在用linux创建duplicate数据库的时候 就是因为口令文件创建的路径和名称不对才遇到这个错误

-----end-------

我说下我遇到的情况

数据库字符集是

ZHS16GBK

错误的情况是

UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 12: illegal multibyte sequence经过检查,在fetchall()获取记录时,查询到的记录里面有乱码(应该是不包含在数据库现有字符集下的字符)

临时的一个解决办法是

db=cx_Oracle.connect(dblink,encoding='UTF-8')这样可以读取了,读取到的内容为

广州市\ue738同泰路其中

'\ue738'应该是之前不可被读取的字符,希望对各位有帮助

一、首先下载驱动:(cx_Oracle)

http://www.python.net/crew/atuining/cx_Oracle/

不过要注意一下版本,根据你的情况加以选择。

二、安装:

首先配置oracle_home环境变量

执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到Libsite-packages目录下。

如果是linux,执行

代码如下:

python setup.py build

python setup.py

install


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9260830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存