- 浏览: 342058 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lovebegar:
很有价值,之前自己写都是第一种,学习了~
Oracle 多行合并一行 方法 -
zuodang:
我尝试在windows中搭环境编译 curl-java-mas ...
有强大的cURL,忘掉httpclient的吧! -
buildhappy:
同求http://www.gknw.de/mirror/cur ...
有强大的cURL,忘掉httpclient的吧! -
zgf_091:
好早的文章,现在才看到,就是这个链接http://www.gk ...
有强大的cURL,忘掉httpclient的吧! -
huchuhan:
LZ应该贴个例子出来, 网上这方面的东西太少了.
有强大的cURL,忘掉httpclient的吧!
--- 创建view --- 百分比 create view tablespace_used_percent as select useage from ( select a.tablespace_name, a.file_name, a.total "Total(MB)", round(a.total-b.Free_Space) "Used(MB)", round(((a.total-b.Free_Space)/a.total)*100,2) as useage, a.auto_extend from (select FILE_ID, tablespace_name, file_name, bytes/(1024*1024) Total, AUTOEXTENSIBLE auto_extend from dba_data_files ddf) a, (select file_id, sum(bytes)/(1024*1024) Free_Space from dba_free_space group by file_id) b where a.file_id=b.file_id ) where tablespace_name = 'YOUR TABLESPACE NAME'; --- deails create view TABLESPACE_USAGE as select a.tablespace_name, a.file_name, a.total "Total(MB)", round(a.total-b.Free_Space) "Used(MB)", round(((a.total-b.Free_Space)/a.total)*100,2) "Used(%)", a.auto_extend from (select FILE_ID, tablespace_name, file_name, bytes/(1024*1024) Total, AUTOEXTENSIBLE auto_extend from dba_data_files ddf) a, (select file_id, sum(bytes)/(1024*1024) Free_Space from dba_free_space group by file_id) b where a.file_id=b.file_id;
Linux 脚本
##################################################################### ## checkTabsp.sh ## ## This Script will add the new datafile if Tablespace's data ## file, which is greater than the 80% of one datafiles size ##################################################################### #!/bin/bash usedPercentNO=(`sqlplus -s '/as sysdba' <<\EOF SET heading OFF; SET verify OFF; SELECT * FROM tablespace_used_percent; EOF` ) #get the length of array len=${#usedPercentNO[*]} echo "The array has $len members." i=0 while [ $i -lt $len ]; do echo "$i: ${usedPercentNO[$i]}" arrNo=`echo "${usedPercentNO[$i]}" | awk -F. '{print $1}'` if [ -z $arrNo ] then arrNo=1 fi # if usedPercentNo >= 80 then we add new data file,which will have 8G size if [ $arrNo -gt 80 ] then let sigNo=$i+1 sqlplus -s "/ as sysdba" <<EOF ALTER TABLESPACE DB_TABLESPACE ADD DATAFILE '/opt/oracle/oradata/DB/DB_DATA$sigNo.dbf' SIZE 2G AUTOEXTEND ON MAXSIZE 8G; EOF # we need send email to report the tablespace stats info sqlplus -s "/as sysdba" <<\EOF col tablespace_name for a30 col file_name for a60 col auto_extend for a12 col tablespace_name justify center col file_name justify center col autoextend justify right set linesize 200 set pagesize 500 SPOOL tablespace.alert SELECT * FROM TABLESPACE_USAGE; SPOOL OFF; EXIT EOF fi let i++ done #we needn't send email from there the crontab will do if [ `cat tablespace.alert|wc -l` -gt 0 ] then cat tablespace.alert >tablespace.tmp mailx -s "TABLESPACE ALERT for DB" EMAIL-ADDRESS < tablespace.alert fi
上面这个脚本会导致如果有一个文件超过80%的话,脚本会不停添加数据文件....
更新修改后的,而且把sql直接用文本文件来代替了以前使用的view
#!/bin/bash # Managed by Puppet ##################################################################### ## checkTabsp.sh ## ## This Script will add the new datafile if BOCC Tablespace's data ## file, which is greater than the 80% of one datafiles size ##################################################################### # Avoid have the script run if already running source /opt/app/inc/some_functions.sh pgrpfile=/tmp/checkTabsp.pgrp check_if_running # end source /home/oracle/.profile usedDatafileNO=(`sqlplus -s '/as sysdba' <<\EOF SET heading OFF; SET verify OFF; @/opt/app/sql/chktabspused.sql EOF` ) # check whether it needs add data file if [ $usedDatafileNO -eq 0 ] then usedDatNO=(`sqlplus -s '/as sysdba' <<\EOF SET heading OFF; SET verify OFF; @/opt/app/sql/chkdatno.sql EOF` ) let sigNO=$usedDatNO+1 sigNO=`printf "%03d" $sigNO` sqlplus -s "/ as sysdba" <<EOF ALTER TABLESPACE DB_TABLESPACE ADD DATAFILE '/opt/oracle/oradata/DB/DB_DATA$sigNO.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M; EOF # we need send email to report the tablespace stats info to check whether add data file successful sqlplus -s "/as sysdba" <<\EOF col tablespace_name for a30 col file_name for a60 col auto_extend for a12 col tablespace_name justify center col file_name justify center col autoextend justify right set linesize 200 set pagesize 500 @/opt/bocc/sql/chktabspstats.sql EXIT EOF # out put the disk space useage df -h fi #we will don't send email from there the crontab will do # if [ `cat tablespace.alert|wc -l` -gt 0 ] # then # cat tablespace.alert >tablespace.tmp # mailx -s "TABLESPACE ALERT for DB" YOUR_EMAIL_ADDRESS t < tablespace.alert # fi
发表评论
-
PostgreSQL函数:用以查询某表的详细 包含表字段的注释信息
2011-09-07 15:24 15515感谢PostgreSQL论坛阿弟 CREATE OR RE ... -
PostgreSQL 系统表查看系统信息
2011-09-07 15:21 7623摘自http://www.alberton.info/post ... -
Postgresql SQL 使用变量
2010-12-23 17:33 2284begin; select 5::int as var ... -
h2数据库timestamp格式化
2010-10-09 16:17 2616select * from foo2 where FORM ... -
关于设置Postgresql Increment的备份方式
2009-10-19 17:26 1530参考链接: http://hi.baidu.com/top2 ... -
Oracle drop user
2009-09-02 15:26 2534SQL> drop user test cascad ... -
再说Oracle long字段的恢复
2009-09-01 11:38 1571维护的客户系统因为误操作删除了数据,立即进行rman恢复数据到 ... -
Oracle expdp/impdp 导出导出<二>
2009-08-26 16:03 2653由于需要在本地做一下测试,但是由于本地创建oracle和服务器 ... -
Oracle RMAN 增量备份
2009-07-22 10:15 2503在rman增量备份中,有差异增量和累积增量的概念 1、概念 ... -
Oracle执行SQL时遭遇特殊字符&
2009-07-20 14:53 2082转自http://blog.csdn.net/sfdev/ar ... -
Oracle 多行合并一行 方法
2009-06-23 17:59 26493NOTE:特别声明一下内容转自网络 http://www.ni ... -
Oracle Data Dump 导出 --- 很快,很强大
2009-06-23 10:32 8704--- 创建目录,这是必须的 CREATE DIRE ... -
Oracle 10.2.0.1 升级 10.2.0.4失败后处理
2009-06-23 09:21 2298今天将由Oracle 10.2.0.1.0升级为10.2.0. ... -
Oracle查询long字段
2009-06-15 12:49 3612仅供对一些历史表中的long字段的 查询,生成应用还是像ORA ... -
Oracle 函数返回calendar
2009-05-26 17:44 910转自:http://www.planet-source-cod ... -
简单的Postgresql RETURN NEXT 应用
2009-05-26 17:26 2232一个简单的Postgresql的函数,只是简单的列出用户输入时 ... -
Oracle 归档日志
2009-04-28 16:51 1899-- if it cann't be startup norm ... -
Oracle CPU 占用
2009-04-28 16:38 14291. top PID USER PR ... -
Postgresql 更新备忘
2009-02-26 10:52 1001关于Postgresql很好用的联合查询更新 BEGIN; ... -
Oracle sqlplus 和 Linux Shell的相互传值
2009-02-04 09:28 3244首先,写一个简单的PLSQL函数,就是简单返回一个拼凑的URL ...
相关推荐
1. **Oracle 表空间(Tablespaces)**:表空间是Oracle数据库中存储数据的基本单位,它由一个或多个数据文件组成。每个表、索引和其他对象都会被分配到特定的表空间中。理解表空间的工作原理对于管理数据库空间至关...
- 空间管理包括数据库表空间、数据文件、临时表空间等的监视和调整,以确保空间的有效利用。 - 监控数据文件的大小和使用情况,当需要扩展或创建新数据文件时,可以使用脚本操作,如:`alter database datafile '/...
- 数据库(Database):由数据文件、控制文件、重做日志文件等组成,存储实际的数据。 - 后台进程(Background Processes):负责维护数据库的正常运行。 - **Oracle DB Server 体系结构概览**: - **内存结构**...
下面的脚本可以帮助自动清理这些文件: ```bash #!/bin/bash ARCHIVE_DIR="/u01/app/oracle/archived" CUTOFF_DAYS=30 # 清理超过30天的归档文件 find "${ARCHIVE_DIR}" -name "*.arc" -mtime +${CUTOFF_DAYS} -...
在Oracle 11g中,数据库由多个表空间组成,每个表空间包含多个数据文件。数据文件用于存储实际的数据,而控制文件则记录数据库的物理结构,重做日志文件用于记录事务的更改历史。 ### SQL语言基础 SQL(Structured...
3. **数据库实例与表空间**:数据库实例是Oracle内存结构和后台进程的集合,而表空间是数据存储的逻辑单位,由一个或多个数据文件组成。管理表空间是数据库管理员的日常工作,包括创建、扩展和删除表空间。 4. **...
一个数据库实例可以包含多个数据文件,但每个数据文件仅能属于一个表空间。 - **日志文件**: 日志文件记录了对数据库的所有更改,这对于故障恢复至关重要。这些文件通常命名为`Log*.dbf`。根据是否将日志信息归档,...
2. 学习数据库的逻辑与物理存储结构,包括数据文件、控制文件、重做日志文件等。 3. 掌握数据库实例的管理,包括启动、关闭、监控等操作,并管理日志、控制文件、表空间、用户、权限、角色等。 4. 学习Oracle ...
你可以创建多个表空间以组织数据,并通过数据文件在磁盘上存储这些表空间。 4. **备份与恢复**:Oracle 9i提供了多种备份策略,如完整备份、增量备份和差异备份。恢复技术包括简单恢复、归档日志模式恢复和介质恢复...
§1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §1.2.4 其它支持文件 26 §1.3 数据块、区间和段 28 §...
在学习Oracle 9i企业管理器时,建议先了解基本的Oracle数据库概念,如表空间、用户、权限和SQL语法。然后,逐步探索企业管理器的各项功能,通过实际操作来熟悉其工作流程。《Oracle9i企业管理器详解》这份资料应会...
- **物理备份与逻辑备份**:理解全库备份、表空间备份和数据文件备份的概念,以及使用RMAN(恢复管理器)进行备份的优势。 - **增量备份与差异备份**:如何进行增量备份以节省存储空间,并理解差异备份的工作原理...
学习使用恢复管理器(RMAN)和数据恢复顾问(DataRecoveryAdvisor)进行控制文件、重做日志文件和数据文件的恢复。 15. 移动数据 数据迁移是数据库管理员经常需要进行的操作,包括使用SQL*Loader程序加载数据,利用...
- **表空间**:是Oracle数据库中的逻辑存储单元,可以包含多个数据文件。 - **段**:表空间内用于存储特定类型数据的空间分配单位,例如表段、索引段等。 - **区**:一个段内的连续存储空间,由多个块组成。 - **块*...
这包括表空间、数据文件、控制文件、重做日志文件、实例与服务等概念,以及它们如何协同工作以保证数据的存储和恢复。 2. **SQL语言**:作为DBA,你需要精通SQL,包括查询、插入、更新和删除数据,以及创建和管理表...