oracle 管理

查找ORACLE锁表 SELECT A.OWNER, A.OBJECT_NAME, B.XIDUSN, B.XIDSLOT, B.XIDSQN, B.SESSION_ID, B.ORACLE_USERNAME, B.OS_USER_NAME, B.PROCESS, B.LOCKED_MODE, C.MACHINE, C.STATUS, C.SERVER, C.SID, C.SERIAL#, C.PROGRAM FROM ALL_OBJECTS A, V$LOCKED_OBJECT B, SYS.GV_$SESSION C WHERE ( A.OBJECT_ID = B.OBJECT_ID ) AND (B.PROCESS = C.PROCESS ) ORDER BY 1,2

查询Oracle正在执行的SQL语句

select OSUSER,PROGRAM,USERNAME,SCHEMANAME,B.Cpu_Time,STATUS,B.SQL_TEXT
from V$SESSION A LEFT JOIN V$SQL B ON A.SQL_ADDRESS=B.ADDRESS AND A.SQL_HASH_VALUE=B.HASH_VALUE order by b.cpu_time desc
表空间及容量:

select tablespace_name,sum(bytes)/1024/1024/1024 from dba_data_files group by tablespace_name;

表空间的空闲容量:

select tablespace_name,sum(bytes) from dba_free_space group by tablespace_name;

系统表空间:

select tablespace_name from dba_tablespaces;

系统数据文件:

select file_name from dba_data_files;

系统控制文件:

select value from v$parameter where name=’control_files’;

系统重做日志文件:

select member from v$logfile;

归档日志文件:

select value from v$parameter where name=’log_archive_dest’;

 

 

 

 

清空临时表空间
create temporary tablespace  TEMP2 TEMPFILE 'e:/oradata/temp02.dbf' SIZE 512M REUSE AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED;   --创建中转临时表空间

3.alter database default  temporary tablespace  temp2; --改变缺省临时表空间 为刚刚创建的新临时表空间temp2

4.drop tablespace temp including contents and datafiles;--删除原来临时表空间

5.create temporary tablespace  TEMP TEMPFILE 'D:/oracle/product/10.2.0/oradata/orcl/temp01.dbf' SIZE 1024M REUSE AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED;   --重新创建临时表空间

6.alter database default  temporary tablespace  temp; --重置缺省临时表空间

drop tablespace temp2 including contents and datafiles;

清除undo空间

SQL>connsys/sms@smsdbas sysdba
SQL>create undo tablespace UNDOTBS2 datafile 'e:/oradata/UNDOTBS02.DBF'size 1024M extent management local;
SQL>alter system set undo_tablespace=UNDOTBS2;
SQL>drop tablespace UNDOTBS1 including contents;
SQL>shutdown immediate
SQL>host del C:/oracle/oradata/smsdb/UNDOTBS01.DBF;


删除一个undo表空间出错默认分类 2008-10-15 15:18:17 阅读32 评论0   字号:大中小 订阅
问题:删除一个undo表空间出错

错误信息:ORA-01548: 已找到活动回退段'_SYSSMU1$',终止删除表空间


问题重现:

1、创建一个新的undo表空间

SQL>Create undo tablespace undo2 datafile’ C:/oradata/jjfx/gajt_data/undo2.dbf’size 10000M;

2、切换undo表空间

SQL>Alter system set undo_tablespace=undo2;

3、删除原有的表空间

SQL>Drop tablespace undoTBS including contents;

ORA-01548: 已找到活动回退段'_SYSSMU1$',终止删除表空间

解决办法:

1、查看所有回滚段信息:

2、  select segment_name ,status,tablespace_name from dba_rollback_segs;

结果如下:

SEGMENT_NAME STATUS TABLESPACE_NAME
------------------------------ ---------------- ------------------------------
SYSTEM ONLINE SYSTEM
_SYSSMU1$ NEEDS RECOVERY UNDOTBS1
_SYSSMU2$ NEEDS RECOVERY UNDOTBS1
_SYSSMU3$ NEEDS RECOVERY UNDOTBS1
_SYSSMU4$ NEEDS RECOVERY UNDOTBS1
_SYSSMU5$ NEEDS RECOVERY UNDOTBS1
_SYSSMU6$ NEEDS RECOVERY UNDOTBS1
_SYSSMU7$ NEEDS RECOVERY UNDOTBS1
_SYSSMU8$ NEEDS RECOVERY UNDOTBS1
_SYSSMU9$ NEEDS RECOVERY UNDOTBS1
_SYSSMU10$ NEEDS RECOVERY UNDOTBS1

SEGMENT_NAME STATUS TABLESPACE_NAME
------------------------------ ---------------- ------------------------------
_SYSSMU11$ OFFLINE UNDO2
_SYSSMU12$ OFFLINE UNDO2
_SYSSMU13$ OFFLINE UNDO2
_SYSSMU14$ OFFLINE UNDO2
_SYSSMU15$ OFFLINE UNDO2
_SYSSMU16$ OFFLINE UNDO2
_SYSSMU17$ OFFLINE UNDO2
_SYSSMU18$ OFFLINE UNDO2
_SYSSMU19$ OFFLINE UNDO2
_SYSSMU20$ OFFLINE UNDO2

已选择21行。

这说明有前10条记录是在UNDOTBS1表空间回滚事务。这就是UNDOTBS1不能删除的原因。

3、创建pfile

由于spfile是一个二进制文件,不能在原文件上修改,因此可以根据它生成一个新的配置文件—pfile.

a)、查看系统是以pfile还是spfile启动
Select isspecified,count(*) from v$spparameter group by isspecified;

如果返回结果里有true,表明oracle使用spfile的配置启动。如果全为false,则表明使用pfile启动。

b)、查看spfile本地位置

show parameter spfile;

创建pfile过程如下:

SQL>Create pfile=’D:pfileSID.ora’from spfile;

所创建的文件可以在spfile同级目录下找到。我生成的是pfilejjfx.ora

4、添回过漏信息:

修改pfilejjfx.ora,在最后添加如下语句:

_CORRUPTED_ROLLBACK_SEGMENTS = (_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$,_SYSSMU12$,_SYSSMU13$,_SYSSMU14$,_SYSSMU15$,_SYSSMU16$,_SYSSMU17$,_SYSSMU18$,_SYSSMU19$,_SYSSMU20$,_SYSSMU21$,_SYSSMU22$,_SYSSMU23$,_SYSSMU24$,_SYSSMU25$,_SYSSMU26$,_SYSSMU27$,_SYSSMU28$,_SYSSMU29$,_SYSSMU30$,_SYSSMU31$,_SYSSMU32$,_SYSSMU33$,_SYSSMU34$,_SYSSMU35$,_SYSSMU36$,_SYSSMU37$,_SYSSMU38$,_SYSSMU39$,_SYSSMU40$,_SYSSMU84$,_SYSSMU85$,_SYSSMU86$)

5、关闭服务

Shutdown immediate;

6、使用pfile启动服务

Startup pfile=’ D:/oracle/product/10.2.0/db_1/database/pfilejjfx.ora’

7、删除旧的undow表空间

Drop tablespace undotbs01 including contents;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值