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

Oracle expdp:ORA-31634: job already exists

今天去服务器上拖备份文件的时候,发现备份文件没了,奇怪。然后就手工备份,结果Oracle就给了这个提示ORA-31634: job already exists。

这又是什么妖蛾子?按照网上提供的方法来一下:

PL/SQL或者Navicat连上去:

select ‘drop table ‘ || owner_name || ‘.’ || job_name || ‘;’

from dba_datapump_jobs

where state = ‘NOT RUNNING’

然后出现一大串,序号从1到99,这应该是job队列满了,清理吧,把所有列出来全干掉:

drop table YOURDATA.SYS_EXPORT_FULL_01 PURGE;

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的备份与恢复

这里oracle的备份与恢复使用的是exp和imp,现在已经有了expdp和impdp,而且也已经有了rman,所以本文只是转载了一下。

dba的职责:
1、安装和升级oracle数据库

2、建库、表空间、表、视图、索引…

3、制定并实施备份与恢复计划

4、数据库权限管理,调优,故障排除

5、对于高级dba,要求能参与项目开发,会编写sql语句、存储过程、触发器、规则、约束、包

管理数据库的用户主要是sys和system

他们的区别主要是:

阅读详细 »