表空间

丢失控制文件恢复实验记录--6(实验4的基础上,如果luocs表空间为只读表空间的情况)...

岁酱吖の 提交于 2019-11-26 20:37:01
一、实验说明: 本文转载于Luocs的丢失控制文件恢复实验记录--6,此处属于转载+模拟。 操作系统:rhel 5.4 x32 数据库:oracle 11g r2 二、实验操作: ----先导出一个跟踪文件trace---- 1 SQL > alter database backup controlfile to trace; 2 3 Database altered. 4 5 SQL > select value from v$diag_info where name = ' Default Trace File ' ; 6 7 VALUE 8 -- ------------------------------------------------------------------------------ 9 / u01 / app / oracle / diag / rdbms / yft / yft / trace / yft_ora_3617.trc 10 ----查看---- 11 [oracle @yft ~ ]$ sed - n ' /CREATE CONTROLFILE.*NORESETLOGS/,/;/p ' / u01 / app / oracle / diag / rdbms / yft / yft / trace / yft_ora_3617.trc 12

Oracle 索引维护

大城市里の小女人 提交于 2019-11-26 20:35:31
一、本文说明 在浏览Dave的博客的时候发现有一篇关于索引维护的文章,感觉挺好的,自己对索引的维护了解甚少,因此在这里转载+模拟一下,如果想要看原文可以点击友情链接中的Dave在他的博客中可以找到。 二、查看系统表中的用户索引 在Oracle中,SYSTEM表空间是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。 一般来说,应该尽量避免在SYSTEM表空间中存储非SYSTEM用户的对象。因为这样会带来数据库维护和管理的很多问题。一旦SYSTEM表空间损坏了,只能重新生成数据库。我们可以用下面的语句来检查在SYSTEM表内有没有其他用户的索引存在。 1 SQL > select * from dba_indexes where tablespace_name = ' SYSTEM ' and owner not in ( ' SYS ' , ' SYSTEM ' ); 三、索引的存储情况检查 Oracle为数据库中的所有数据分配逻辑结构空间。数据库空间的单位是block、extent和segment。 Block:是Oracle使用和分配的最小存储单位。它是由数据库建立时设置的DB_BLOCK_SIZE决定的。一旦数据库生成了,数据块的大小不能改变。要想改变只能重新建立数据库。 Extent:是由一组连续的block组成的

Oracle ORA-01555(快照过旧)

不想你离开。 提交于 2019-11-26 20:34:36
一、引言: [ oracle@yft yft ] $ oerr ora 01555 01555 , 00000 , "snapshot too old: rollback segment number % s with name \" % s\" too small" // * Cause: rollback records needed by a reader for consistent read are // overwritten by other writers // * Action: If in Automatic Undo Management mode, increase undo_retention // setting. Otherwise, use larger rollback segments ORA-01555 快照过旧,是数据库中很常见的一个错误,比如当我们的事务需要使用undo来构建CR块的时候,而此时对应的undo已经不存在了,这个时候就会报ORA-01555的错误。 ORA-01555错误在Oracle 8i及之前的版本最多。从9i开始的undo自动管理,至现在的10g、11g中的undo auto tuning,使得ORA-01555的错误越来越少。但是这个错误,仍然不可避免。 二、出现ORA-01555错误,通常有2中情况: (1)

关于数据库insert是否一定开辟空间的研究

不羁的心 提交于 2019-11-26 17:57:08
之前就知道delete 属于DML 而 turncate属于DDL所以delete的时候不会清楚表空间而truncate会清除表空间。 现在比较好奇的是如果我数据库主键id自增我插入了3条数据,然后把第二条删了,在insert一个id=2的,那么是否会开辟新的空间。 查询表大小的语句 select DATA_LENGTH from information_schema.tables where table_schema="mydata"&&TABLE_NAME="test" 新增3条数据->查询 删除id=2数据->查询->表空间未发生变化 插入id=2数据->查询->表空间未发生变化 故这时并没有开辟新的空间 来源: https://blog.csdn.net/qq_43313769/article/details/98996140

oracle相关sql简记

徘徊边缘 提交于 2019-11-26 14:32:43
以下是自己使查询过的oracle库的一些情况,做下记录: 查询oracle库的查询sql的数量(即每执行一天sql就insert进入): select t.*, t.executions from v$sqlarea t oracle响应的性能(这个我不是太懂,可能是错的):select metric_name,value from v$sysmetric where metric_name in ('Database CPU Ratio','Database Wait Time Ratio') and intsize_csec =(select max(intsize_csec) from v$sysmetric) oracle字符集编码: select userenv('language') from dual 查看oracle可用的字符集参数设置: SELECT * FROM v$nls_valid_values ORDER BY parameter,VALUE; 数据库服务器字符集: select * from nls_database_parameters 客户端字符集环境:select * from nls_instance_parameters oracle tablespace的剩余空间: select a.TABLESPACE_NAME, a.BYTES

数据库 | Oracle数据库查表空间使用情况

徘徊边缘 提交于 2019-11-26 12:22:28
平时在使用Oracle的时候,你有去关注下Oracle的磁盘空间使用情况吗?如果业务中的数据量激增、数据量变大,很有可能就会有表空间不足的情况,需要重点关注。今天我们分享下如何查看表空间的使用情况。 一、如何查看使用状况 我们废话不说,先直接贴上可以查询表空间使用状况的SQL SELECT a.tablespace_name 表空间名称, total 总计, total - free 已使用, free 空闲, round((total - free) / total * 100, 2) 使用占比FROM ( SELECT tablespace_name , round(SUM(bytes) / 1024 / 1024) AS total FROM dba_data_files GROUP BY tablespace_name) a LEFT JOIN ( SELECT tablespace_name , round(SUM(bytes) / 1024 / 1024) AS free FROM dba_free_space GROUP BY tablespace_name ) b ON a.tablespace_name = b.tablespace_nameORDER BY (total - free) / total DESC; 查询结果如下

Zabbix创建Oracle监控模板

大憨熊 提交于 2019-11-26 08:02:51
如何自定义一个Oracle的监控模板?以oracle11.2为例,首先来梳理下oracle需要监控哪些指标: 1.一些常见的基础指标,诸如:实例状态、会话数、登陆失败次数、 表空间使用率、asm磁盘组使用率等。 2.详细的oracle性能指标,诸如AWR Report Summary中列出来的很多指标,但其实很好获取的指标暂时可以想到的就是事务数和非Idle等待会话数。 所以总结下目前能轻易获取的指标只有以下几种: 数据库连通性 //暂时不建对应的监控项,懒 实例会话数 处于非空闲等待的会话数 --此指标可以扩散为处于不同种类等待的会话数,如library cache xxx,enq xxx等等。 当前事务数 登录失败次数 表空间使用率最高的表空间的使用率 //由于单独统计每个表空间的使用率需要带上表空间名,不适合作为numeric类型的返回值,因此我选择只统计使用率最高的那个,下一个指标同理 空余容量最少的表空间的空余容量 ASM磁盘组容量监控 如何获取这些指标值?其实zabbix官网已经提供了很多模板(参考 https://share.zabbix.com/databases/oracle ),但是很多模板要么是只提供了模板未提供对应的command命令,要么是功能虽然很强大,但是要装一系列的其他组件(诸如python及其第三方包),要么是不熟悉oracle的搞出来的

Oracle11g-linux安装

自闭症网瘾萝莉.ら 提交于 2019-11-26 03:14:52
1、检查交换空间 用fdisk命令(例:# fdisk /dev/sdb)对磁盘进行分区,添加swap分区,新建分区,在fdisk中用“t”命令将新添的分区id改为82(Linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)。 # mkswap /dev/xvde2 #格式化swap分区,这里的sdb2要看您加完后p命令显示的实际分区设备名 # swapon /dev/xvde2 #启动新的swap分区 为了让系统启动时能自动启用这个交换分区,可以编辑/etc/fstab,加入下面一行 /dev/xvde2 swap swap defaults 0 00 mkfs.ext4 /dev/tianyiyun/etfs 磁盘挂载: 磁盘使用fdisk 命令分区之后,选择需要使用的分区 通过 mkfs.ext4 /dev/xvde1 来格式化该分区, 然后使用命令 blkid 查看分区后的UUID 复制对应的UUID使用vim /etc/fstab 命令编辑 /etc/fstab 来加入下行设置磁盘的永久挂载点(本例挂载到 /app 目录) UUID=xxxxxxxxxxxxxxx /app ext4 defaults 00 2、修改主机名禁用防火墙 vim /etc/sysconfig/network vim /etc/hosts sed -i "s

oracle 数据库备份还原 EXPDP IMPDP

萝らか妹 提交于 2019-11-26 03:08:51
一、expdp/impdp和exp/imp的区别 1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 2、expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。 3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。 4、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。 二、expdp导出步骤 (1)创建逻辑目录:    第一步:在服务器上创建真实的目录;(注意:第三步创建逻辑目录的命令不会在OS上创建真正的目录,所以要先在服务器上创建真实的目录。如下图:)   第二步:用sys管理员登录sqlplus;   第三步:创建逻辑目录; SQL> create directory data_dir as '/home/oracle/dmp/user'; Directory created.   第四步:查看管理员目录,检查是否存在; SQL> select * from dba_directories; OWNER DIRECTORY_NAME DIRECTORY_PATH SYS DATA_DIR /home/oracle/dmp/user   第五步

DM(达梦)数据库简介

安稳与你 提交于 2019-11-26 00:41:56
前言: 达梦数据库作为已商业化的国产数据库代表,在政府及事业单位应用还是比较广泛。最近工作中有使用到达梦数据库,这里对已学习的相关内容作个简单记录,方便以后查阅。另外,网络上有关达梦数据库的资料甚少,且不够准确和系统,也希望这篇博文能帮助有需求的人员快速了解该数据库。 达梦数据库也属于关系型数据库大类,因此有相关经验将非常有利于理解该数据库,尤其是ORACLE数据库的使用经验。 一)基本概念介绍 这里主要简单介绍以下几个简单但重要的概念:数据库、实例、用户、表空间、模式、表、角色、数据文件。 数据库 :数据存储的物理介质。广义上讲任何存储数据的物理介质都可叫着数据库,例如一个word文档。但实际上,我们说数据库一般是指像MySQL,ORACLE, HBASE等之类的软件系统。这些系统除了提供数据的存储外,还提供一整套相关的工具或接口对存储的数据进行管理。达梦数据库就是这样的一种系统。 数据库实例 :已实例化可存储数据的仓库。达梦数据库与MySQL数据库有一个很大的差别就是:MySQL服务启动后通过create database语句创建N个数据库(数据库实例);而达梦数据库一个实例就只能挂一个数据库(即一个实例就是一个数据库),如果想建多个数据库,则需配置启动相应数量的实例。达梦的每个实例有一系列的后台进程和内存结构,这些是相互独立的。 用户 :达梦数据库用户是建在实例下的