标签: oracle

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

公司的测试数据库,开发的在上面跑脚本,把库资源全占完了,要我把库重启,我懒得去重启,就直接杀了oracle的进程,结果还是不行,就只能去重启库了:

$sqlplus / as sysdba

SQL>shutdown abort

SQL>startup

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORA-03113:end-of-file on communication channel

ORA-32004的错误,按照老外的方法:

sql>alter system reset log_archive_start scope=spfile;

完美解决,也有说是直接清理干净日志系统就可以,反正这里也是要清理的,不然ORA-03113错误没法解决。

ORA-03113:end-of-file on communication channel,去alert.xml里看,有关于闪回区日志占满的情况,这里就直接清理好了。

$rman target /

DELETE force archivelog ALL completed before ‘SYSDATE’;

然后再startup,这里就成功启动了。

ORA-01187: cannot read from file because it failed verification tests

今天去DG备库上生成报告,然后给了一段提示:

ORA-01187: cannot read from file  because it failed verification tests
ORA-01110: data file 201: ‘/oradata/seven/temp01.dbf’

临时表空间坏了?查看一下大小,跟主库不一样,主库6G,备库只有50M,真是怪了。

SQL>SELECT FILE_ID,FILE_NAME, STATUS FROM DBA_TEMP_FILES;

ERROR at line 1:
ORA-01187: cannot read from file 201 because it failed verification tests
ORA-01110: data file 201: ‘/u03/oradata/AGX/temp01.dbf’

SQL> select name,bytes/1024/1024,status from v$tempfile;

NAME                           BYTES/1024/1024 STATUS


/oradata/seven/temp01.dbf                   30 ONLINE

直接开干吧,老外说可以让系统检查一下,我试了一下,没用:

SQL>ALTER SYSTEM CHECK DATAFILES;

删除临时文件:

SQL> alter database  tempfile ‘/oradata/seven/temp01.dbf’ drop;

Database altered.

SQL> select name,bytes/1024/1024,status from v$tempfile;

no rows selected

重新添加临时数据文件:

SQL> alter tablespace temp add tempfile ‘/oradata/seven/temp01.dbf’ size 30M reuse autoextend on;

Tablespace altered.

SQL> select name,bytes/1024/1024,status from v$tempfile;

NAME                           BYTES/1024/1024 STATUS


/oradata/seven/temp01.dbf                   30 ONLINE

ORA-01102: cannot mount database in EXCLUSIVE mode

今天测试服务器的Oracle突然关闭了,测试组跟我说的时候我就直接上去startup了一下,结果Oracle的提示有点不对劲。

SQL> startup mount
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size 2260088 bytes
Variable Size 331350920 bytes
Database Buffers 729808896 bytes
Redo Buffers 5517312 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

这可让我觉得有点奇怪了。

逐网上找了下资料,发现有人的解决办法比较简单粗暴,直接删除/u01/app/oracle/product/10.2.0/db_1/dbs/lkEPPS文件,但是后来又出现其它错误。

有个老外写的方法比较靠谱,我这里使用的就是老外的方法,都是些简单的英语,记录下来备用。

阅读详细 »

centos7安装oracle11gR2

最近频繁在centos7下安装oracle11gR2,网上各种文章,找到了这篇比较靠谱,其中有在安装过程中遇到的两个问题,比如error in invoking target install of makefile和error in invoking target agent nmhs,这篇里面都提到了解决办法。

地址: https://www.jianshu.com/p/2fda26a7edf1

图文安装地址: https://blog.csdn.net/qq_32786873/article/details/82110235

oracle 11g字符集编码查询和修改

注意:如果你的实例里面已经有了数据,那么修改过字符集后库里的数据会变成乱码。

查询修改oracle服务器端和客服端字符集

首先查看oracle数据库的编码

SQL> select * from nls_database_parameters where parameter =’NLS_CHARACTERSET’;

PARAMETER VALUE

NLS_CHARACTERSET AL32UTF8

这其来源于props$,这是表示数据库的字符集。

阅读详细 »

oracle rman常用删除日志命令

crosscheck archivelog all;                             —>校验日志的可用性
          list expired archivelog all;                           —>列出所有失效的归档日志
          delete archivelog until sequence 16;                   —>删除log sequence为16及16之前的所有归档日志
          delete archivelog all completed before ‘sysdate-7’;    —>删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志
          delete archivelog all completed before ‘sysdate – 1’;  —>同上,1天以前的
          delete archivelog from time ‘sysdate-1’;               —>注意这个命令,删除系统时间1天以内到现在的归档日志
          delete noprompt archivelog all completed before ‘sysdate’;   —>该命令清除所有的归档日志
          delete noprompt archivelog all;                              —>同上一命令

范例:

robin@SZDB:~> export ORACLE_SID=GOBO1
robin@SZDB:~> rman target /

阅读详细 »

RMAN备份保留策略设置相关命令zt

不管有没有用,先转过来再说。

转自 http://blog.sina.com.cn/s/blog_7c5a82970101g4s7.html

策略有两种,一种是基于恢复窗口策略的,一种是基于冗余策略的。

基于恢复窗口策略:

定义的是保留的备份文件必须要能保证恢复到近N天的任意时间点。

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;

让恢复窗口成为14天大小。

阅读详细 »