当前位置:朝夕网 » 数码科技 » oracle数据库常见问题处理总结1

oracle数据库常见问题处理总结1

1、数据库密码被锁定 su -l oracle $ sqlplus /nolog SQL> connect / as sysdba; --删除用户 SQL> drop user 用户名 casca

1、数据库密码被锁定

su -l oracle
$ sqlplus /nolog
SQL> connect / as sysdba;
–删除用户
SQL> drop user 用户名 cascade;
–删除表空间
SQL> drop tablespace 表空间名称 including contents and datafiles cascade constraint;

3、解琐

SQL> select username,sid,serial39;SDE&39;532,4562&39;/home/oracle/oradata/orcltar_index.dbf&39;/home/oracle/oradata/orcltar.dbf&39;/home/oracle/oradata/orcltar.dbf&39;/home/oracle/oradata/orcl_data01.dfg&39;(ADDRESS =(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)(SID=orcl))&39;/u01/oracle/backup&授权给要使用expdp的用户
SQL> select * from dba_directories; 39;SYS/cuc2009@cucf as sysdba& ldconfig

9、glicb缺失

rpm -Uvh glibc-*.i686.rpm glibc-devel-*.i386.rpm
或安装依赖包yum install -y glibc glibc-devel
$ $ORACLE_HOME/bin/relink all

10、统计报错 ora-39126 ora-06502 LPX-00225

添加参数EXCLUDE=STATISTICS

$ impdp srmsfcs/srmsfcs2018@srmsfcs DUMPFILE=srmsf20181014.dmp DIRECTORY=dir_dump remap_schema=srmsf:srmsfcs remap_tablespace=srmsf_data:srmsfcs_data EXCLUDE=STATISTICS
sqlplus / as sysdba
SQL> exec dbms_stats.gather_schema_stats(ownname=>&39;,estimate_percent=>10,degree=>8,cascade=>true,granularity=>&39;);

11、ORA-01102 的解决办法

安装完oracle 数据库后启时,遇到ora-01102错误。

$ sqlplus &34;
SQL> startup
ORACLE instance started.
Total System Global Area 1.7103E+10 bytes
Fixed Size 2243608 bytes
Variable Size 8455717864 bytes
Database Buffers 8623489024 bytes
Redo Buffers 21712896 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

了解ORA-1102 错误原因:

(1) 在ORACLE_HOME/dbs/存在 “sgadef.dbf” 文件或者lk 文件。这两个文件是用来用于锁内存的。

(2 )oracle的 pmon, smon, lgwr and dbwr等进程未正常关闭。

(3) 数据库关闭后,共享内存或者信号量依然被占用。

说明DATABASE 已经是MOUNT状态了,不用再次MOUNT.当 DATABASE 被UNMOUNT 后会被自动删除,如果DATABASE没有MOUNT,却依然存在这个问题,只有手工将其删除。

具体解决ORA-01102问题的步骤:

$ pwd
/apsarapangu/disk1/opt/oracle/products/11.2.0
$ cd dbs
$ ll lk*
-rw-r—– 1 oracle oinstall 24 Apr 15 15:43 lkORCL
使用 fuser -k lkORCL 杀死这些正在访问lkORCL的进程 -k 杀死这些正在访问这些文件的进程。
$ /sbin/fuser -k lkORCL
lkORCL: 21007 21009 21015 21019 21023 21025 21027 21029 21031 21033 21035 21037 21039 21041
确认:相关进程全被终止。
$ /sbin/fuser -u lkORCL
重新启动:
$ sqlplus &34;
SQL> startup
ORACLE instance started.
Total System Global Area 1.7103E+10 bytes
Fixed Size 2243608 bytes
Variable Size 8455717864 bytes
Database Buffers 8623489024 bytes
Redo Buffers 21712896 bytes
Database mounted.
Database opened.

12、ORA-39346: data loss in character set conversion for object PACKAGE_BODY

导出与导入时均设置全局字符集变量:

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

13、impdp实施数据导入时遭遇ORA-31631、ORA-39122报错:

SQL> grant imp_full_database to 用户名;

14、ORA-28547:连接服务器失败:

在listener.ora 文件中把(PROGRAM = extproc)删除# extproc是一个扩展的程序调用接口协议, 连接和调用外部的操作系统程序或进程用时会用到。

15、ora-12514 tns 监听程序当前无法识别:

修改listener.ora文件中的SID、host、key值

16、更新到同一库时,使用 table_exists_action=replace参数

impdp orcl/orclpwd@sid DUMPFILE=orcl158demo_201811051847.dmp schemas=orcl DIRECTORY=dir_dump EXCLUDE=STATISTICS table_exists_action=replace

17、ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file

‘/u01/oracle/product/11.2.0/dbhome_1/dbs/initsorcl.ora’

解决方法:

$ cd /u01/oracle/admin/srmhdl/pfile/
$ cp init.ora.1092018133743 /u01/oracle/product/11.2.0/dbhome_1/dbs/initsorcl.ora
$ sqlplus / as sysdba
SQL> create spfile from pfile;
SQL> exit
sqlplus / as sysdba
SQL> startup
ORACLE instance started.
Total System Global Area 1.7103E+10 bytes
Fixed Size 2243608 bytes
Variable Size 8455717864 bytes
Database Buffers 8623489024 bytes
Redo Buffers 21712896 bytes
Database mounted.
Database opened.

18、ORA-00821: Specified value of sga_target 512M is too small, needs to be at least 700M

SQL> create spfile from pfile;
SQL> exit
$ sqlplus / as sysdba
SQL> startup
ORACLE instance started.
Total System Global Area 1.7103E+10 bytes
Fixed Size 2243608 bytes
Variable Size 8455717864 bytes
Database Buffers 8623489024 bytes
Redo Buffers 21712896 bytes
Database mounted.
Database opened.

19、Fatal NI connect error 12170

解决思路:

(1)查看oracle的告警日志

巡检数据库alert log路径:

cd /u01/oracle/diag/rdbms/gongniu/gongniu/trace

(2)查看监听器日志路径

cat /u01/oracle/diag/tnslsnr/localhost/listener/trace/listener.log |grep 192.168.154.11 > /tmp/error.log

记一次该问题的处理方法:

(1),在sqlnet.ora 中末增加以下参数: (建议操作前先备份原文件)

SQLNET.INBOUND_CONNECT_TIMEOUT = 30
SQLNET.RECV_TIMEOUT = 30
SQLNET.SEND_TIMEOUT = 30

(2),在 listener.ora 末增加以下参数:

INBOUND_CONNECT_TIMEOUT_LISTENER = 30

(3),重读监听器配置文件:

lsnrctl reload

再查看alter log警报日志

二、告警日志文件大小过大处理:诊断追踪信息不再写入到告警日志文件中

(路径cd $ORACLE_HOME/network/admin)

(1). 在服务端的sqlnet.ora文件中增加一行

DIAG_ADR_ENABLED=OFF

(2). 在服务端的listener.ora中增加一行(其中listenername替换为你自己的监听器名称)

DIAG_ADR_ENABLED_<listenername>=OFF

(3). 使用lsnrctl命令使以上配置生效(业务不会中断,如果业务不是很紧张,最好使用lsnrctl restart确保参数生效)

lsnrctl reload;

20、 用pl/sql developer 调试存储过程报错

错误信息:debugging requires the debug connect session system privilege.

原因:用户权限不够,使用以下命令授予权限:

GRANT debug any procedure, debug connect session TO scott

以上就是朝夕生活(www.30zx.com)关于“oracle数据库常见问题处理总结1”的详细内容,希望对大家有所帮助!

免责声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。朝夕网 » oracle数据库常见问题处理总结1