暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle--常见问题处理

云户 2021-08-05
355

oracle--常见问题处理


oracle是我们生产环境使用最频繁的数据库之一,因此将之前日常使用的相关操作记录下,备忘和方便使用。

本章内容主要是为了帮助快速解决相关oracle的报错问题,其实这些信息在搜索引擎中都可以找到,只不过以下这些问题经常发生,而且以下列出的解决方法是经过检验的,免去了在搜索引擎中筛选和验证解决方案的过程。

1、ORA-01031

无法使用 conn as sysdba连接

1)ora-dba权限是否分配系统用户

我的电脑--》管理--》本地用户和组:查看用户是否存在于组的ora_dba当中,如下图:

将当前用户添加上去

2)SQLNET.AUTHENTICATION_SERVICES = (NTS)

查看oracle_home的sqlnet.ora文件

SQLNET.AUTHENTICATION_SERVICES = (NTS)这句话添加上去

2、ORA-00604

此问题是system表空间不足导致的,出现这样问题的原因有两个,一个是system的空间不足,另一个是磁盘空间不足。

其实一般情况下system除了系统相关权限、用户外,最大可能占用空间的就是审计日志,但是该表空间一般还是够用的,在实际项目中出现system表空间不足情况的原因应该是存在大量业务数据在创建表、用户的时候没有定义表空间,而使用了系统表空间。

首先应该新增对应表空间物理文件(详见第一部分表空间使用情况管理及扩展)

针对审计日志或业务数据占用系统表空间的情况,需要迁移表空间。

-- 通过以下脚本确认占用系统表空间的情况
SELECT * FROM (SELECT SEGMENT_NAME, SUM(BYTES) 1024 1024 MB FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = 'SYSTEM' GROUP BY SEGMENT_NAME ORDER BY 2 DESC) WHERE ROWNUM < 10;
--迁移
alter table aud$ move tablespace aud_space;

3、ORA-12541

TNS:无监听程序问题

详见附件ora-12541.docx

4、ORA-12514

TNS: 监听程序当前无法识别连接描述符中请求的服务

打开 "/network/admin/listener.ora":

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)

添加如下内容到第七行

(SID_DESC =
(GLOBAL_DBNAME = ORACLE)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORACLE)
)

修改后的内容如下:

 SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORACLE)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORACLE)
)
)

重启监听器。

    lsnrctl stop   / 关闭

lsnrctl start // 启动

5、ora-00942

表或视图不存在。

如果看到表确实存在,但是用表名查询提示以上信息,应该是表名带着双引号。

oracle表名、字段尽量使用大写。


文章转载自云户,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论