LINUX-磁盘加载-实际应用
1:关闭服务器之前先一定要关闭数据库$export ORACLE_SID=mis$sqlplus /nologsql>conn /as sysdba;sql>shutdown immediate;2:关闭服务器#init 0或者#shutdown 3:插入磁盘将插槽灰尘擦干净,插入磁盘4:启动服务器5:查看磁盘信息检查磁盘是否检测到,命令用fdisk,而df -lh 是检测已经MOUNT的磁盘 [root@DELL root]# fdisk -lDisk /dev/sda: 293.3 GB, 293391564800 bytes255 heads, 63 sectors/track, 35669 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/
AIX filesystems文件自动挂载
添加磁盘到挂载点/databak,以后需要编辑filesystems,vi /etc/filesystems/databak: dev = /dev/lv02 vfs = jfs log = /dev/loglv03 mount = automatic options = nodev,rw account = false如上面所设置 mount =automatic就可以自动挂载文件系统了。#lsvg datavg# lsvg datavgVOLUME GROUP: datavg VG IDENTIFIER: 000f9fadc72f51c1VG STATE: active PP SIZE: 256 me
fstab自动挂载
LINUX磁盘加载以后,需要编辑fstab文件,添加加载的磁盘。服务器重启以后,磁盘会自动加载 。# vi /etc/fstab1、fstab文件的作用文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、 mount、umount的等命令都利用该程序。2、下面是/etc/fatab文件的一个示例行: fs_spec fs_file fs_type fs_options fs_dump fs_pass /dev/hda1 / ext2 def
索引总结(四)
6. 什么是复合索引6.1 复合索引定义 索引可以包含一个、两个或更多个列。两个或更多个列上的索引被称作复合索引。利用索引中的附加列,您可以缩小搜索的范围,但使用一个具有两列的索引不同于使用两个单独的索引。复合索引的结构与电话簿类似,人名由姓和名构成,电话簿首先按姓氏对进行排序,然后按名字对有相同姓氏的人进行排序。如果您知道姓,电话簿将非常有用;如果您知道姓和名,电话簿则更为有用,但如果您只知道名不姓,电话簿将没有用处。所以说创建复合索引时,应该仔细考虑列的顺序。对索引中的所有列执行搜索
索引总结(三)
4. 聚集索引和非聚集的区别聚集索引和非聚集索引的根本区别是数据记录的排列顺序和索引的排列顺序是否一致,聚集索引表记录的排列顺序与索引的排列顺序一致,优点是查询速度快,因为一旦具有第一个索引值的纪录被找到,具有连续索引值的记录也一定物理的紧跟其后,从而缩小了搜索范围,对于返回某一范围的数据效果最好。聚集索引的缺点是对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引的顺序一致,而把记录插入到数据页的相应位置,必须在数据页中进行数据重排,降低了执行速度。 非聚集索引指定了表中记录的逻辑
索引总结(二)
2. 什么是聚集索引2.1 聚集索引定义聚集索引是根据数据行的键值在表中排序存储数据行。索引定义中包含聚集索引列。每个表只能有一个聚集索引。只有当表包含聚集索引时,表中的数据行才按排序顺序存储。如果表具有聚集索引,则该表称为聚集表。如果表没有聚集索引,则其数据行存储在一个称为堆的无序结构中。2.2 聚集索引的结构对于某个聚集索引,索引指向该聚集索引某个特定分区(数据页)的顶部。SQL Server 将在索引中向下移动以查找与某个聚集索引键对应的行。原因是聚集索引的索引顺序就是数据排列顺序。
linux 查看版本信息
#cat/proc/version这个是看gcc的版本信息。[root@DELL root]# cat /proc/versionLinux version 2.4.21-32.EL (bhcompile@crowe.devel.redhat.com) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-52)) #1 SMP Fri Apr 15 21:02:58 EDT 2005查看内核#uname -a [root@DELL root]# uname -a Linux DELL 2.4.21-32.EL #1 SMP Fri Apr 15 21:02:58 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux查看版本release信息,就是我们通常所说的REDHAT 3.0或者4.0#cat /etc/issue[root@DELL etc]# cat issueRed Hat Enterprise Linux AS release 3 (Ta
badblocks磁盘坏道检测
# badblocks -b 4096 -c 16 /dev/hdb3 -o /root/sdb.bad -s--b blocksize 指定磁盘的区块大小,单位为字节,默认值为“block 4K ”(4K/block)-c blocksize 每个区块检查的次数,默认是16次-f 强制在一个已经挂载的设备上执行读写或非破坏性的写测试操作 (我们建议先umount设备,然后再进行坏道检测。仅当/etc/mtab出现误报设备挂载错误的时候可以使用该选项)-i file 跳过已经显示在file文件中的坏道,而不进行检测(可以避免重复检测)-o file 把检测结果输出到file文件-p number 重复搜寻设备,直到在指定通过次数内都没有找到新的坏
MINUS命令解析
minus用法:A表 MINUS B表,选择A表中不包含B表的内容;也就是选择:A表有的内容,而B表没有的内容;表peng,和表peng2一模一样;SQL> select count(*) from peng; COUNT(*)---------- 10000SQL> select count(*) from peng2; COUNT(*)---------- 10000SQL> select sheet_no,corpid ,depot_code from peng 2 minus 3 select sheet_no,corpid,depot_code from peng2 4 where rownum<=9990 5 ;SHEET_NO CORPID DEPOT_CODE-------------------- -------------------- ------------
dbms_stats and analyze
讨论一: 使用dbms_stats 还是analyze 自从Oracle8.1.5引入dbms_stats包, Oracle及专家们就推荐使用dbms_stats取代analyze。 理由如下: 1. dbms_stats可以并行分析 2. dbms_stats有自动分析的功能(alter table monitor ) 3. analyze 分析统计信息的有些时候不准确 第1,2比较好理解,且第2点实际上在VLDB(Very Large Database)中是最吸引人的;3以前比较模糊,看了metalink236935.1 解释,analyze在分析Partition表的时候,有时候会计算出不准确的Global statistics 。 原因是dbms_stats会实在的去分析表全局统计信息(当指定参数);而a
alter system flush shared_pool
使用Flush Shared Pool缓解共享池问题Oracle, 深入解析Oracle, 读书笔记 十二月 3rd, 2009 原创文章,转载请注明: 转载自dbtan 谈DB本文链接地址: http://www.dbtan.com/2009/12/uses-flush-shared-pool-to-alleviate-the-sharing-pond-question.html使用Flush Shared Pool缓解共享池问题: 前面提到,本质上ORA-04031多数是由于SQL编写不当引起,所以如果能够修改应用绑定变量是最好的解决之道。当然如果应用不能修改,或者不能强制变量绑定,那么Oracle还提供一种应急处理方法,强制刷新共享池。alter system flush shared_pool;刷新共
lock and kill
通过v$locked_object视图可以初步判断可疑锁定。或者用dba_outstanding_alterts视图(这个好像10g才有)select object_name,object_type,reason,instance_name from dba_outstanding_alerts;select sid,serial#,sql_id from v$session where sid=853 and serial#=33740;sid serial# sql_id-------------------------------查看是什么SQL语句引发的:sql> select * from v$sql where sql_id='...';让后在KILLsql>alter system kill session 'sid,#serial'; 这里输入要kill的sid,#serial号码;[@more@]
table or view not exits
在执行drop user AAA;删除用户时,出现错误:ORA-00604:递归SQL层1出现错误ORA-00942:表或视图不存在解决办法:第一步,设置sql_trace=true,以便在运行sql语句后在D:oracleadminORADB00udump下生成跟踪文件。alter session sql_trace=true;第二步,运行drop user AAA;出错后,查看最新的跟踪文件,可以看到最后几行中显示在执行delete from system.AQ$_INTERNET_AGENT_PRIVS where ....时出现的ORA-00942:表或视图不存在这个错误。执行desc system.AQ$_INTERNET_AGENT_PRIVS也显示表不存在说明表AQ$_INTERNET_AGENT_PRIVS不存在,只
shrink使用分析
从10g开始,oracle开始提供Shrink的命令,假如我们的表空间中支持自动段空间管理 (ASSM),就可以使用这个特性缩小段,即降低HWM。这里需要强调一点,10g的这个新特性,仅对ASSM表空间有效,否则会报 ORA-10635: Invalid segment or tablespace type。shrink space语句两个阶段都执行。 shrink space compact只执行第一个阶段。如果系统业务比较繁忙,可以先执行shrink space compact重组数据,然后在业务不忙的时候再执行shrink space降低HWM释放空闲数据块。 shrink必须开启行迁移功能。alter table table_name enable row movement ;注意:
utlrp.sql和catpatch.sql两个脚本的作用
$ sqlplus '/as sysdba' @$ORACLE_HOME/rdbms/admin/utlrp.sqlutlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象. oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象。--打完patch后重建数据字典视图脚本catpatch.sql为了保证系统的的数据词典的完整性和有效性,最好的打patch后在migrate状态下运行catpatch.sqlsql> shutdown immediatesql> startup migratesql> @$ORACLE_HOME/rdbms/admin/catpatch.sqlsql> shutdown immediatesql> startup为加快速度,可临时调大这
pupbld.sql 错误解决
oracle9isqlplus /nologconn peng/peng@mispeng报错:SQL> conn peng/peng访问 PRODUCT_USER_PROFILE 时出错警告: 未加载产品用户概要文件信息!您需要将 PUPBLD.SQL 作为 SYSTEM 运行已连接。SQL> conn peng/peng@mispeng已连接。但是用pl/sql 用户peng登陆的时候,不会报错。解决办法:先找到pupbld.sql路径$ORACLE_HOME/sqlplus/admin/pupbld.sql@$ORACLE_HOME/sqlplus/admin/pupbld.sql[@more@]
statspack 安装总结
个人QQ:149196034 欢迎联系[oracle@DELL admin]$ pwd/oracle/product/database/rdbms/adminSQL> select instance_name,host_name,version,startup_time from v$instance;INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME---------------- ---------------------------------------------------------------- ----------------- ------------mis DELL 9.2.0.6.0 2010-9-2 12:1:
ora_604错误解决
个人QQ 149196034 欢迎朋友加入SQL> create table t_604 as 2 select * from 3 (select object_type,to_char(avg(object_id),'999999.999') from dba_objects 4 group by object_type 5 order by 2 desc) 6 where rownum<10;create table t_604 asselect * from(select object_type,to_char(avg(object_id),'999999.999') from dba_objectsgroup by object_typeorder by 2 desc)where rownum<10ORA-00604: 递归 SQL 层 1 出现错误ORA-01401: 插入的值对于列过大 分析错误:oralce 将to_char(avg(object_id),'999999.
smit快捷键和参数
smit+这些快捷键参数 errpt generate an error report shutdown stopt the system storage managing storage and file systemlvm logical volume managerfs file systemfilemgr files and directioriesrds removable disk managementbacksys system backup managermksysb make
v$session and v$process and lock ,wait,kill 总述
个人qq 149196034v$session 真是个好动态性能视图,可以获得很多有用的信息! 确定要kill的用户:SID,SERIAL#,以及确定kill process v$session SADDR: session address SID: session identifier,常用于连接其它列。 SERIAL#: sid 会重用,但是同一个sid被重用时,serial#会增加,不会重复。 AUDSID: audit session id。可以通过audsid查询当前session的sid。select sid from v$session where audsid=userenv('sessionid'); PADDR: process address,关联v$process的addr字段,可以通过这个字段查处当前session对应操作系统的那个