关于oracle的笔记
1、查看一个表暂用的表空间大小: SELECT bytes/1024/1024||'MB',a.*FROM user_segments a WHERE a.segment_name ='TL_SP_NONREAL_LIST_201505'; //103查询错单表空间 SELECT segment_name,sum(bytes)/1024/1024 FROM User_Segments a WHERE a.tablespace_name='ZHJS_LIST_ERROR' AND a.segment_type='TABLE PARTITION' AND a.BYTES<>'8388608' AND a.segment_name NOT LIKE '%200906' GROUP BY a.segment_name
2、查看一个表空间所占的实际大小: SELECT sum(bytes)/1024/1024||'MB' FROM user_segments a WHERE a.tablespace_name ='SETT_ANALYSE_LIST_201505';
3、查看一个表空间对应的数据文件: SELECT * FROM dba_data_files a WHERE a.tablespace_name ='SETT_ANALYSE_LIST_201505';
4、查询表空间的总大小以及使用大小 select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB", round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name order by ((a.bytes-b.bytes)/a.bytes) desc;
5、创建一个大数据量的表,占用表空间大小几个G,delete这张表的数据,此时只需查询发现很慢,查询的表数据为空, 其实就是其表空间没有释放的缘故。 执行alter table jk_test move 或 alter table jk_test move storage(initial 64k) 或alter table jk_test deallocate unused KEEP 0或 alter table jk_test shrink space. 这样操作后,会失去索引,这是可以将失效的索引重建 select index_name,table_name,tablespace_name,index_type,status from dba_indexes where table_owner='SETT_ANALYSE' ; 根据status的值,重建无效的就好了alter owner.index_name rebuild; ,再次查询就很小了 注意:drop...purge 和 truncate表时,其所占用的空间会得到释放,原因应该是不进入回收站,(单独drop会进入回收站的) 进回收站的数据可以通过flashback找回:具体方法如下: select original_name,dropscn from recyclebin where lower(original_name)='js_stat_sp_report_sec_1009'; flashback table jianbiao_beifen to before drop;
6、不管是delete还是truncate相应的数据文件大小都不会改变,如果想改变数据文件占用的空间大小可执行: alter database datafile 'filename' resize 8g,重定义文件大小 关于purge的补充: purge tablespace tablespace_name--清空表空间的recycle bin purge tablespace tablespace_name user username--指定表空间的recycle bin的指定对象 drop table table_name purge--永久删除,不能用flashback恢复
7、移动表空间 分区表:altrer table TL_Y_TOLL_XJJS_LIST_201603 move partition D_21 tablespace zhjs_dsyy; 非分区表:alter table TL_Y_TOLL_XJJS_LIST_201603 move tablespace zhjs_dsyy ;
8、查询哪张表被建索引:SELECT * FROM user_indexes; 判断哪张表的那个字段建了索引:select * from user_ind_columns;
9、如果是在已有的表空间中添加数据文件,则使用: alter tablespace 表空间名 add datafile '数据文件名称路径' size 50M; 如果是新建一个表空间则是: create tablespace 表空间名 datafile '数据文件名称路径' size 50M;
出库: P_EXPDB_COLLECT_LIST
move_list_data_to_szx
gdb跟踪命令: gdb 进程名 进程号 b *.cpp:行数 :打断点在哪一行 p 变量 :打印出变量的值 n :下一步 s :进方法 exit 退出
ppstdcdr--标准格式 wjjsct_ngn.h继承cdrbase.sh #include "cdrbase.h"
truncate table 后,有可能表空间仍没有释放,可以使用如下语句: alter table 表名称 deallocate UNUSED KEEP 0; 注意如果不加KEEP 0的话,表空间是不会释放的。 例如: alter table F_MINUTE_TD_NET_FHO_B7 deallocate UNUSED KEEP 0; 或者: TRUNCATE TABLE (schema)table_name DROP(REUSE) STORAGE才能释放表空间。 例如: truncate table test1 DROP STORAGE; 三、查询分区表存在哪些分区: 查询分区表的情况,可以在USER_TAB_PARTITIONS中查询。例如: select 'alter table '||t.table_name ||' truncate partition ' || t.partition_name from USER_TAB_PARTITIONS t where t.table_name like 'F_%' 查询各个分区暂用表空间
SELECT TABLESPACE_NAME,partition_name,TO_CHAR(SUM(BYTES)/(1024*1024),'999G999D999') FROM DBA_EXTENTS WHERE SEGMENT_NAME='TL_ERR_D_SMS' AND SEGMENT_TYPE LIKE 'TABLE%' GROUP BY TABLESPACE_NAME,partition_name;
清除指定某个分区表的分区数据: alter table 表名称 truncate partition 分区名称; 四、清除分区表占用的空间: alter table 表名称 DROP partition 分区名称; 例如: alter table F_HOUR_TD_NET_MPVOICE DROP partition P_09121913 ;
--查看单个表占用物理空间的大小 ---查询分区表 SELECT a.* FROM ( SELECT t.owner,t.tablespace_name,t.segment_name,sum(t.BYTES)/1024/1024/1024 total FROM sys.sys_dba_segs t WHERE t.partition_name IS NOT NULL AND t.segment_name NOT LIKE '%$%' /* AND lower(t.owner) = 'zhjs_app' */ AND UPPER(t.tablespace_name) = UPPER('ZHJS_ZDJS_0510') GROUP by t.owner,t.tablespace_name,t.segment_name ) a /*WHERE a.total >= 2.5 */ ORDER BY a.total DESC ; --查询非分区表 SELECT a.* FROM ( SELECT t.owner,t.tablespace_name,t.segment_name,sum(t.BYTES)/1024/1024/1024 total FROM sys.sys_dba_segs t WHERE t.partition_name IS NULL AND t.segment_name NOT LIKE '%$%' /* AND lower(t.owner) = 'zhjs_app' */ AND UPPER(t.tablespace_name) = UPPER('ZHJS_ZDJS_0510') GROUP by t.owner,t.tablespace_name,t.segment_name ) a /*WHERE a.total >= 2.5 */ ORDER BY a.total DESC ;
TRUNCATE TABLE ter_510.BSS_ZSZH_COUPON_BACKUP; TRUNCATE TABLE ter_510.TL_ERROR_LIST_ELSE; TRUNCATE TABLE ter_510.TL_SETT_LIST_HIS; TRUNCATE TABLE ter_510.BSS_TD_STORE_INOUT_CHANGE_BKP; TRUNCATE TABLE ter_510.BSS_CHANNEL_TEMP;
10、9i的版本都是现将所有的文件删除再增加
(1)、
--将一个以前的比较大的表空间置空,抢需要扩空间的表空间放到这个文件对应的表中 drop tablespace ZHJS_LIST_CWJJS_201511 including contents; update zhjs_param.TP_DATA_FILES_INFO t set t.tablespace_name = '' where t.tablespace_name = 'ZHJS_LIST_CWJJS_201511' ;
--drop tablespace ZHJS_LIST_CTJS_201509 including contents; SELECT t.rowid,t.* FROM zhjs_param.TP_DATA_FILES_INFO t WHERE t.tablespace_name IS NULL; where t.tablespace_name LIKE '%TEMP%' ;--更新表空间到文件对应的表中
(2)增加:
alter tablespace ZHJS_LIST_MYJS_201605 add datafile '/dev/vgjs4_03/rjs_03_046' size 7980M AUTOEXTEND OFF, '/dev/vgjs4_03/rjs_03_049' size 7980M AUTOEXTEND OFF, '/dev/vgjs4_03/rjs_03_075' size 7980M AUTOEXTEND OFF; alter tablespace ZHJS_LIST_MYJS_201605 add datafile '/dev/vgjs4_03/rjs_03_079' size 7980M AUTOEXTEND OFF, '/dev/vgjs4_05/rjs_05_080' size 7980M AUTOEXTEND OFF, '/dev/vgjs4_06/rjs_06_017' size 7980M AUTOEXTEND OFF;
alter tablespace ZHJS_LIST_MYJS_201605 add datafile '/dev/vgjs4_06/rjs_06_023' size 7980M AUTOEXTEND OFF, '/dev/vgjs4_06/rjs_06_034' size 7980M AUTOEXTEND OFF, '/dev/vgjs4_06/rjs_06_049' size 7980M AUTOEXTEND OFF; alter tablespace ZHJS_LIST_MYJS_201605 add datafile '/dev/vgjs4_14/rjs_14_024' size 7980M AUTOEXTEND OFF, '/dev/vgjs4_14/rjs_14_025' size 7980M AUTOEXTEND OFF, '/dev/vgjs4_14/rjs_14_026' size 7980M AUTOEXTEND OFF;
(3)查询:
select t1.tablespace_name "表空间名称",t1.flag "表空间类型",trunc(t1.bytes-nvl(t2.bytes,0),2) "使用空间(G)",
trunc(nvl(t2.bytes,0),2) "剩余空间(G)",trunc(t1.bytes,2) "总空间(G)",100-round(100*nvl(t2.bytes,0)/t1.bytes,2) "使用率",
round(100*nvl(t2.bytes,0)/t1.bytes,2) "剩余率",trunc(t1.maxbytes,2) "最大可扩展空间"
from (
SELECT tablespace_name,sum(d1.bytes)/1024/1024/1024bytes,'NORMAL' FLAG,
sum(decode(d1.autoextensible,'NO',d1.bytes,d1.maxbytes))/1024/1024/1024 maxbytes
FROM dba_data_files d1
GROUP BY tablespace_name
UNION all
SELECT tablespace_name,sum(d2.bytes)/1024/1024/1024bytes,'TEMP' FLAG,
sum(decode(d2.autoextensible,'NO',d2.bytes,d2.maxbytes))/1024/1024/1024 maxbytes
FROM dba_temp_files d2
GROUP BY tablespace_name ) t1,(
SELECT tablespace_name,sum(f.bytes)/1024/1024/1024 bytes
FROM dba_free_space f
GROUP BY tablespace_name ) t2
where t1.tablespace_name = t2.tablespace_name(+)
ORDER by t1.flag,t1.tablespace_name ;
10.2以后的版本增添了新功能 你可以通过执行以下命令,实现删除一个表空间中的一个数据文件的功能
alter tablespace drop datafile (除数据文件是表空间的第一个数据文件以外)
查看表是否被锁:
关于oracle的笔记的更多相关文章
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- ORACLE存储过程笔记3
ORACLE存储过程笔记3 流程控制 1.条件 if expression thenpl/sql or sqlend if; if expression thenpl/sql or sqlel ...
- ORACLE存储过程笔记2
ORACLE存储过程笔记2 运算符和表达式 关系运算 =等于<>,!=不等于<小于>大于<=小于等于>=大于等于 一般运算 +加-减*乘/除 ...
- ORACLE存储过程笔记1
ORACLE存储过程笔记1 一.基本语法(以及与informix的比较) create [or replace] procedure procedure_name (varible {IN|OUT ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Oracle学习笔记——点滴汇总
Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster
- Oracle学习笔记之四sp1,Oracle 11g的常用函数
从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i) 分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
- Oracle学习笔记—数据字典和常用命令(转载)
转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...
- 【oracle】Oracle整理笔记
原博主总结了很多技能和小技巧,本人觉的非常实用,转载记录下: Oracle学习笔记整理手册 作者:@smileNicky 链接:https://blog.csdn.net/u014427391/art ...
随机推荐
- CodeForces 710F 强制在线AC自动机
题目链接:http://codeforces.com/contest/710/problem/F 题意:维护一个集合,集合要求满足三种操作. 1 str:向集合插入字符串str(保证不会插入之前已经插 ...
- 用js刷题的一些坑
leecode可以用js刷题了,我大js越来越被认可了是吧.但是刷题中会因为忽略js的一些特性掉入坑里.我这里总结一下我掉过的坑. 坑1:js中数组对象是引用对象 js中除了object还有数组对象也 ...
- CocoaPods安装和使用教程
Code4App 原创文章.转载请注明出处:http://code4app.com/article/cocoapods-install-usage 目录 CocoaPods是什么? 如何下载和安装Co ...
- Redis 事务总结
特点: 对单个客户端可以执行连续性事务(在一个线程内): 执行命令要排队: mutil类似begin trans; exec 类似 commit; discard 用于放弃事务: watch ...
- Map.Entry用法示例
一般在HashMap中可以通过key值得到value值,以key作为检索项.Map.Entry<K,V>可以作为条目的检索项.HashMap中有entrySet()方法,返回值是Set&l ...
- oracle调试存储过程
跟着楼主一起来测试存储过程吧: 1.右键要测试的存储过程 出现如下提示框 2.填写参数 3.点击开始,如下操作 over,就是这么简单 -------------------------------- ...
- [笔记] Duke - 统计预测
Duke大学富卡商学院(Fuqua school of business)的高级选修课. 全名:Statistical forecasting: notes on regression and tim ...
- spring mvc流转控制说明
springMVC数据如何从后台再次传回前台,答案就是这里要说的Model,关于Model在写例子之前我特别先说明三点: 1.Model本身是一个接口,其实现类为ExtendedModelMap,除了 ...
- ubuntu下命令行禁用笔记本触摸板
机房电脑不好用,所以用笔记本,但是由于笔记本过分紧凑手经常让鼠标不知道跑哪里去.于是找到了这两个命令 禁用:sudo rmmod psmouse 启用:sudo modprobe psmouse 非常 ...
- 20145304 《Java程序设计》课程总结
每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 第八周读书笔记 第九周读书笔记 第十周读书笔记 实验报告链接汇总 ...