ORACLE常见问题以及解决方法4

1.   DBA 常用用到SQL

select * from dba_tables where wner='CCARE';    --查询用户ccare所有表

select * from dba_tables t where wner='CCARE' and t.NUM_ROWS > 0; --查询用户ccare下所有非空表;

2.   rman: can't open target

oracle连接rman 报如上错误;

处理办法:检查oracle用户的环境变量,vi .profile

PATH路径中的$ORACLE_HOME/bin写到最前面;

3.   查看某用户所有表占用的空间大小

select distinct bytes, t.segment_name aaa,t.segment_type

from sys.dba_segments t

where  segment_name in (select a.table_name

                          from sys.all_all_tables a

                         where a.owner = 'CCARE') and t.segment_type = 'TABLE PARTITION' order by bytes desc  --查看CCARE用下,段类型为TABLEPARTITION的占用的空间大小;

select 65536/1024/1024 from dual

4.   ORA-01683问题的解释以及处理方法

导致出现该oracle错误的关键是表空间满了,而这里的满是在可以自由扩展容量和MAXSIZE UNLIMITED在情况下出现的情况;虽然MAXSIZE UNLIMITED(最大不限制),但oracle表空间的一个物理数据文件最大为32.8G,所以如果一个表空间只有一个数据文件,那么它的最大容量为32.8G

处理方法:alter tablespace ccare_d01 add datafile ‘/opt/oradata/dbname/ccare_d01.dbf’ size 10M maxsize unlimited;

5.   ORA-00119ORA-00132错误解决

错误导致可能存在的原因:改了主机/etc/hosts

解决步骤:1.指定ORACLE_SID,登录sqlplus

2.通过spfile文件创建pfile文件;

3.修改pfile,将$ORACLE_HOME/dbs/ init.ora中的*.local_listener修改$ORACLE_HOME/network/admin/listener.ora中的监听地址;

4.通过pfile启动数据库,再通过pfile创建新的spfile文件,再次重启就OK了;

6.   ORA-01552错误解决

cannot use system rollback segment for non-system tablespace;

回滚表空间undotbs出错,需要重新建一个新的回滚表空间;

步骤:

1.创建一个撤销表空间

create undo tablespace undotbs2 datafile '/home/oracle/app/oracle/oradata/qianbase/undotbs02.dbf' size 10m autoextend on next 10m maxsize unlimited;

2.切换撤销表空间为新建的undotbs2

alter system set undo_tablespace=undotbs2;

3.通过查看撤销表空间的使用状态确认切换成功与否

select name,value from v$parameter where name like '%undo%';

删除原来使用的撤销表空间undotbs1

Drop tablespace undotbs1 INCLUDING CONTENTS AND DATAFILES;

7.   ORA-00845错误解决

今天修改Oracle 11gMEMORY_TARGET后,重新启动报ORA-00845Oracle 11gLinux版本在修改了MEMORY_TARGET或者SGA_TARGET后启动可能会报错:

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

这个问题是由于设置SGA的大小超过了操作系统/dev/shm的大小:

[root@enterprice64 ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 4089416 0 4089416 0% /dev/shm

Oraclemetalink的文档:Doc ID: Note:460506.1中进行了说明。解决这个问题只有两个方法,一种是修改初始化参数,使得初始化参数中SGA的设置小于/dev/shm的大小,另一种方法就是调整/dev/shm的大小。

修改/dev/shm的大小可以通过修改/etc/fstab来实现:

[root@enterprice64 ~]# vi /etc/fstab

LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
LABEL=/data /data ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
#tmpfs /dev/shm tmpfs defaults 0 0
tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
LABEL=/home /home ext3 defaults 1 2
LABEL=/opt /opt ext3 defaults 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
LABEL=SWAP-sda8 swap swap defaults 0 0
~
~
"/etc/fstab" 13L, 965C written
[root@enterprice64 ~]# umount /dev/shm
[root@enterprice64 ~]# mount /dev/shm
[root@enterprice64 ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 10485760 0 10485760 0% /dev/shm
[root@enterprice64 ~]# su - oracle
[oracle@enterprice64 ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Tue Oct 23 15:42:42 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 4743446528 bytes
Fixed Size 2143824 bytes
Variable Size 3892316592 bytes
Database Buffers 805306368 bytes
Redo Buffers 43679744 bytes
Database mounted.
Database opened.

修改/etc/fstab,重新mount /dev/shm,然后就可以启动数据库了。

参考:

http://yangtingkun.itpub.net/post/468/408235

查看/dev/shm下有很多ora开头的文件,那/dev/shmoracle的关系是什么呢:

1)什么是/dev/shm

它就是所谓的tmpfs,从名字可以看出是一个临时的文件系统,有人说跟ramdisk(虚拟磁盘),但不一样。使用/dev/shm的好处就是读取数据相当快,因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。同时,要注意的是,在/dev/shm中的文件在系统重启后会被清除掉。

tmpfs默认大小一般为物理内存的一半,当然可以修改tmpfs的大小。一般在fstab上可以看到

tmpfs /dev/shm tmpfs defaults 0 0

如果要将tmpfs的大小修改为4G,可以对上面的做适当的修改即可,如:

tmpfs /dev/shm tmpfs defaults,size=4096M 0 0

2/dev/shmoracle 11g的影响

ORACLE 11g版本开始,引入了一个自动内存管理(Automatic Memory Management)特性,该特性需要更多的共享内存(/dev/shm),因此如果决定应用该特性的话, 必须要确保共享内存大于ORACLE 中初始化参数MEMORY_MAX_TARGET MEMORY_TARGET(特别提示,这两个参数即自动内存管理特性对应的初始化参数)的值。

如果在初始化参数中设置了MEMORY_MAX_TARGET MEMORY_TARGET 两参数为非0 值,并且不符合系统共享内存,则ORACLE 数据库启动时,就会触发ORA-00845:MEMORY_TARGET not supported on this system 错误。

8.    LinuxCRM3.3脚本

./run.sh ccsys=sys/sys@eplus chmsys=sys/sys@eplus ecare=ecare/ecare ccare=ccare/ccare isap=isap/isap inventory=inventory/inventory sms=osms/osms channel=channel/channel crmpub=crmpub/crmpub settle=settle/settle

Eplus

./run.sh ccsys=sys/sys@eplus  crmpub=crmpub/crmpub isap=isap/isap ccare=ccare/ccare inventory=inventory/inventory datafilepath=/opt/oradata file_storage_for_oracle=FileSystem environment_type=test_environment

9.   SVN改变用户名和密码

svn --username pRT26264 info -- "https://172.19.49.186:3690/svn/CCBU_CRM_DOC_SVN/Project_DOC/trunk/CRM V300R003C01L00008SPC001T/EPLUS/5.Release/TestDoc"

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28588485/viewspace-755232/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28588485/viewspace-755232/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值