姿姿霸霸~~!
贵在坚持!
posts - 106,  comments - 50,  trackbacks - 0
在Redhat5之前通过/etc/sysconfig/rawdevices配置raw的控制文件,通过/etc/init.d/rawdevices来管理raw设备的启动和关闭.
在Redhat5之后,需要编辑/etc/udev/rules.d/60-raw.rules 这个文件.
1.假设已经把一个硬盘新建了几个区
fdisk -l /dev/sdc
/dev/sdc1
/dev/sdc2
/dev/sdc3

2.修改/etc/udev/rules.d/60-raw.rules
添加:
ACTION=="add", KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdc3",RUN+="/bin/raw /dev/raw/raw3 %N"
假设这个设备是给oracle用的,那再加上权限
KERNEL=="raw[1-3]*", NAME="raw/%k" OWNER="oracle" GROUP="oinstall", MODE="0660"

3.修改完之后重启服务
start_udev

4.查看
raw -qa 或者 ls -lrt /dev/raw/

5.取消映射
 raw /dev/raw/rawX 0 0 
posted @ 2011-10-14 01:28 xrzp 阅读(434) | 评论 (0)编辑 收藏
1.停止数据库 
2.停止Listener 
3.用su或者重新登录到root将oracle安装目录删除 
4.将/usr/bin下的文件删除(删除这三个文件后,Oracle就不能使用了) 
 rm /usr/local/bin/dbhome 
 rm /usr/local/bin/oraenv 
 rm /usr/local/bin/coraenv 
5.将/etc/oratab删除 
6.将/etc/oraInst.loc删除 
7.将oracle用户删除(若要重新安装,可以不删除) 
8.将用户组删除(若要重新安装,可以不删除)
posted @ 2011-10-14 01:22 xrzp 阅读(329) | 评论 (1)编辑 收藏
做一个awr报告,在Load Profile可以查看到每秒的redo size(单位是byte),而redo log一般切换时间是1小时2-3次,按照3次来计算,就是20分钟切换一次,所以redo log的大小就 = (redo size per second) * 60 * 20.
如果不能做awr报告,就去查看alert日志,看日志的切换频率,根据切换的频率来确定redo log的大小.

可能会用到的sql语句:
select * from v$logfile;
select * from v$log;
alter database add logfile group x ('F:\oraredolog\REDO0x.LOG') size xxxM;
alter database drop logfile group x;
alter system switch logfile;
alter system checkpoint;
posted @ 2011-10-10 13:34 xrzp 阅读(616) | 评论 (0)编辑 收藏
在虚拟机上起动系统的时候,每次都发现Sendmail服务很费时间,决定将其关闭了,反正也没怎么用.
1.关闭sendmail服务
[root@node1 ~]# /etc/rc.d/init.d/sendmail stop
Shutting down sm-client:                                 [  OK  ]
Shutting down sendmail:                                    [  OK  ]

2.关闭sendmail自启动
[root@node1 ~]# chkconfig sendmail off

3.
确认sendmail自启动已被关闭
[root@node1 ~]#  chkconfig --list sendmail
sendmail        0:off   1:off   2:off   3:off   4:off   5:off   6:off
posted @ 2011-10-10 11:36 xrzp 阅读(344) | 评论 (0)编辑 收藏
V9.7中提供了更简单易用的降低高水位标记功能。只需要使用ALTER TABLESPACE命令就可以达到效果。同时DB2还提供了两个表函数MON_GET_TABLESPACE和MON_GET_EXTENT_MOVEMENT_STATUS来获取和监控表空间以及数据块移动信息。

1.MON_GET_TABLESPACE语法
MON_GET_TABLESPACE--(--tbsp_name--,--member--)
tbsp_name是表空间对象,如果是空值,则会对所有的表空间操作。member的默认输入是-1,指当前成员,如果是-2,则是所有数据库成员。这个函数的返回值说明:
tbsp_name:表空间名
tbsp_type:表空间类型
tbsp_state:表空间状态
tbsp_used_pages:已使用页
tbsp_free_pages:空闲页
tbsp_total_pages:总页
tbsp_page_top:高水位标记页
reclaimble_space_enabled:值1代表可回收空间
select * from table(MON_GET_TABLESPACE(null,-2));

2.获取表空间信息
SELECT varchar(tbsp_name, 16as tbsp_name,
       RECLAIMABLE_SPACE_ENABLED,
       TBSP_USED_PAGES,
       TBSP_FREE_PAGES,
       TBSP_PAGE_TOP
  
from TABLE(MON_GET_TABLESPACE(''-2)) AS t
 
where t.TBSP_PAGE_TOP > t.TBSP_USED_PAGES
该语句筛选出了所有高水位标记大于已使用页的表空间

3.ALTER TABLESPACE 语法
ALTER TABLESPACE--tablespace-name----------------------------> >----+-REDUCE--+-------------------------------+--+-----------------------------+-+ | +-| database-container-clause |-+ '-| on-db-partitions-clause |-' | | +-| all-containers-clause |-----+ | | +-MAX---------------------------+ | | +-STOP--------------------------+ | | '-integer--+---------+----------' | | +-K-------+ | | +-M-------+ | | +-G-------+ | | '-PERCENT-' | +-LOWER HIGH WATER MARK--+------+--------------------------------------------+ | '-STOP-' | '----------------------------------------------------------------------------'
MAX参数可以指定最大限度的降低高水位标记来释放空间。在运行REDUCE命令后,在数据块移动的过程中,也可以使用STOP参数来停止表空间移动。如果是DMS表空间,则需要先运行LOWER HIGH WATER MARK子句降低高水位标记,再运行REDUCE子句释放表空间。如果是启用了自动存储的表空间,直接运行REDUCE子句即可。
自动存储表空间
ALTER TABLESPACE REDUCE 100 M(MAX)
DMS 表空间
ALTER TABLESPACE LOWER HIGH WATER MARK ALTER TABLESPACE REDUCE (ALL CONTAINERS 10 M(MAX)) 

4.MON_GET_EXTENT_MOVEMENT_STATUS语法
MON_GET_EXTENT_MOVEMENT_STATUS--(--tbsp_name--,--member--)
tbsp_name 是表空间对象,如果是空值,则会对所有的表空间操作。member 的默认输入是 -1,指当前成员,如果是 -2,则是所有数据库成员。这个函数的返回值说明:
tbsp_name:表空间名
tbsp_id:表空间id
member:成员
current_extent:当前正在移动数据块
last_extent:最后移动的数据块
num_extents_moved:已移动的数据块
num_extents_left:未移动的数据块
total_move_time:总移动时间(微秒)

5.监视表空间的移动
SELECT varchar(tbsp_name, 20as tbsp_name,
       NUM_EXTENTS_MOVED,
       NUM_EXTENTS_LEFT,
       TOTAL_MOVE_TIME
  
from TABLE(MON_GET_EXTENT_MOVEMENT_STATUS('TBS1'-2)) AS t

6.验证高水位标记的降低
SELECT varchar(tbsp_name, 16as tbsp_name,
       BSP_USED_PAGES,
       TBSP_FREE_PAGES,
       TBSP_PAGE_TOP
  
from TABLE(MON_GET_TABLESPACE('TBS1'-2)) AS t
posted @ 2011-10-08 10:20 xrzp 阅读(2895) | 评论 (1)编辑 收藏
1.查看表空间信息
使用list tablespaces show detail
需要关注的几个参数
Tablespace ID:db2dart工具需要以这个ID作为参数
表的类型:只有DMS管理的表空间才有HWM的标记属性
Used pages和High water mark:如果相等,说明高水位标记下没有空闲页可以被释放
2.查看HWM标记信息
使用db2dart dbname /DHWM /TSI tbsid
3.降低高水位标记建议
使用db2dart dbname /LHWM /TSI tbsid /NP 0
posted @ 2011-10-08 09:52 xrzp 阅读(323) | 评论 (0)编辑 收藏
1.对索引结构进行统计
1.1analyze index indexname validate structure
联机文档的原文:Specify VALIDATE STRUCTURE to validate the structure of the analyzed object. 
The statistics collected by this clause are not used by the Oracle Database optimizer, as are statistics collected by the COMPUTE STATISTICS and ESTIMATE STATISTICS clauses.
For an index, Oracle Database verifies the integrity of each data block in the index and checks for block corruption. This clause does not confirm that each row in the table has an index entry or that each index entry points to a row in the table. You can perform these operations by validating the structure of the table with the CASCADE clause.
这个命令主要是用来分析索引的数据块是否有坏块,以及根据分析得到的数据(存放在index_stats)來判断索引是否需要重新建立。
1.2 validate structure有二中模式:online, offline, 默认是offline模式。
联机文档原文:
Specify ONLINE to enable Oracle Database to run the validation while DML operations are ongoing within the object. The database reduces the amount of validation performed to allow for concurrency.
Specify OFFLINE, to maximize the amount of validation performed. This setting prevents INSERT, UPDATE, and DELETE statements from concurrently accessing the object during validation but allows queries. This is the default.
Restriction on ONLINE
You cannot specify ONLINE when analyzing a cluster or index.
Note:
When you validate the structure of an object ONLINE, Oracle Database does not collect any statistics, as it does when you validate the structure of the object OFFLINE.
以offline模式分析时,会对表加一个4级別的锁(表共享),对run系統可能造成一定的影响。
而online模式则没有表lock的影响,但当以online模式分析时, 在视图index_stats没有统计信息。
2.对索引状态进行统计
analyze index indexname compute statistics
联机文档原文:
COMPUTE STATISTICS instructs Oracle Database to compute exact statistics about the analyzed object and store them in the data dictionary. When you analyze a table, both table and column statistics are collected.
Both computed and estimated statistics are used by the Oracle Database optimizer to choose the execution plan for SQL statements that access analyzed objects. These statistics may also be useful to application developers who write such statements.
Column statistics appear in the data dictionary views USER_TAB_COLUMNS, ALL_TAB_COLUMNS, and DBA_TAB_COLUMNS. Histograms appear in the data dictionary views USER_TAB_HISTOGRAMS, DBA_TAB_HISTOGRAMS, and ALL_TAB_HISTOGRAMS; USER_PART_HISTOGRAMS, DBA_PART_HISTOGRAMS, and ALL_PART_HISTOGRAMS; and USER_SUBPART_HISTOGRAMS, DBA_SUBPART_HISTOGRAMS, and ALL_SUBPART_HISTOGRAMS.
总的来说,compute statistics是用来统计index的分析信息,来为CBO服务的。9i之后推荐使用dbms_stats。
ps:
for table的统计信息存在于视图:user_tables 、all_tables、dba_tables
for all indexes的统计信息存在于视图: user_indexes 、all_indexes、dba_indexes
for all columns的统计信息存在于试图:user_tab_columns、all_tab_columns、dba_tab_columns
3.一些sample
3.1使用validate structure分析一个索引是否需要重建
(1)analyze index index_name validate structure;
(2)select t.del_lf_rows_len /t.lf_blk_len from index_stats t where t.name = &index_name;
(3)如果结果大于20%,index就需要被rebuild了。
4.对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。
(1)可以并行进行,对多个用户,多个Table
(2)可以得到整个分区表的数据和单个分区的数据。
(3)可以在不同级别上Compute Statistics:单个分区,子分区,全表,所有分区
(4)可以导出统计信息
(5)可以用户自动收集统计信息
5.DBMS_STATS的缺点
(1)不能Validate Structure
(2)不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的信息,这两个仍旧需要使用Analyze语句。
(3)DBMS_STATS 默认不对索引进行Analyze,因为默认Cascade是False,需要手工指定为True
6.对于oracle 9里面的External Table,Analyze不能使用,只能使用DBMS_STATS来收集信息。
posted @ 2011-09-13 10:31 xrzp 阅读(362) | 评论 (0)编辑 收藏
事务隔离级别:一个事务对数据库的修改与并行的另一个事务的隔离程度。
两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题:
1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想。
2、不可重复读取:事务T1读取一行记录,紧接着事务T2修改了T1刚刚读取的记录,然后T1再次查询,发现与第一次读取的记录不同,这称为不可重复读。
3、脏读:事务T1更新了一行记录,还未提交所做的修改,这个T2读取了更新后的数据,然后T1执行回滚操作,取消刚才的修改,所以T2所读取的行就无效,也就是脏数据。
为了处理这些问题,SQL标准定义了以下几种事务隔离级别

Oracle数据库支持READ COMMITTED 和 SERIALIZABLE这两种事务隔离级别。Oracle不支持脏读。

SQL标准所定义的默认事务隔离级别是SERIALIZABLE,但是Oracle 默认使用的是READ COMMITTED 设置隔离级别使用
SET TRANSACTION ISOLATION LEVEL
[READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE]
posted @ 2011-08-15 12:03 xrzp 阅读(296) | 评论 (0)编辑 收藏
1.概念设计:对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。   

2.逻辑设计:主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。

3.物理设计:
根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。

4.三者关系:由上到下,先要概念设计,接着逻辑设计,再是物理设计,一级一级设计。
posted @ 2011-08-03 00:28 xrzp 阅读(318) | 评论 (0)编辑 收藏
直接alter index xxx rebuild tablespace xxx 不得行.
要酱紫,移动表的时候顺带一起移动:
 ALTER TABLE 表名 MOVE
  TABLESPACE 新表空间
  LOB (字段名) STORE 
AS 
  (TABLESPACE 新表空间  );
posted @ 2011-07-13 15:02 xrzp 阅读(295) | 评论 (0)编辑 收藏
仅列出标题
共11页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last 

<2024年3月>
252627282912
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(4)

随笔分类

随笔档案

好友的blog

搜索

  •  

积分与排名

  • 积分 - 115051
  • 排名 - 505

最新评论

阅读排行榜

评论排行榜