深入理解Linux操作系统下的守护进程(1)
Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系 统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的。守护进程是生存期长的一种进程。它们独立 于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。linux系统有很多守护进程,大多数 服务器都是用守护进程实现的。同时,守护进程完成许多系统任务,比如,作业规划进程crond、打印进程lqd等。有些书籍和资料也把守护进程称作:“服 务”
统计字符串中某个字符出现的次数
统计字符串中 E 出现的次数:SELECT LENGTHB(TRANSLATE('ABCDEFGEFGDBE','E'||'ABCDEFGEFGDBE','E')) FROM DUAL;SELECT LENGTHB('ABCDEFGEFGDBE')-LENGTHB(REPLACE('ABCDEFGEFGDBE','E','')) FROM DUAL;[@more@]
删除LINUX分区
请问如何删除LINUX分区记录而重新建立分区? Linux分区安装在硬盘上,使用DOS系统下的FDISK一般是无法删除 Linux分区的。这时可以选择一种类似于pqmagic的分区软件删除类型为ext2和linux swap类型的分区就可以了。如果您想在Linux系统下删除Linux类型的分区,您可以使用系统命令fdisk。比如Linux分区安装在第一块硬盘 的/dev/hda2,执行:fdisk /dev/hda在运行fdisk命令之后,按下d键,d键执行删除分区的操作。然后您选择待删除分区正确的分区编号就可以了。上例中选择的分区编号为 2。最后按下w键,操作存盘退出。这时fdisk命令执行
ASSM管理(BMB段管理)的内部机理(1)
在920以前,表的剩余空间的管理与分配都是由链接列表freelist来完成的,因为freelist存在串行的问题因此容易引起往往容易引起段头的争 用与空间的浪费(其实这一点并不明显),最主要的还是因为需要DBA 花费大量的精力去管理这些争用并监控表的空间利用。 自动段空间管理 (ASSM),它首次出现在Oracle920里。有了ASSM,链接列表freelist被位图所取代,它是一个二进制的数组,能够迅速有效地管理存储 扩展和剩余区块(free block),因此能够改善分段存储本质,ASSM表空间上创建的段还有另外一个称呼叫Bitmap Managed Segments(
ORACLE备份&恢复案例(8)
4.4.2 RMAN备份下的基于改变的恢复以上用OS备份说明了一个基于时间的恢复,现在用RMAN说明一个基于改变的恢复1、连接数据库,创建测试表并插入记录SQL*Plus: Release 8.1.6.0.0 - Production on Tue May 6 13:46:32 2003(c) Copyright 1999 Oracle Corporation. All rights reserved.SQL> connect internal/password as sysdba;Connected.SQL> create table test(a int);Table createdSQL> insert into test values(1);1 row insertedSQL> commit;Commit complete2、备份数据库C:>rmanRecovery Manager: Release 8.1.6.0.
ORACLE备份&恢复案例(6)
4.3.2 RMAN备份方案RMAN备份归档模式下损坏(丢失)多个数据文件,进行整个数据库的恢复1、连接数据库,创建测试表并插入记录SQL*Plus: Release 8.1.6.0.0 - Production on Tue May 6 13:46:32 2003(c) Copyright 1999 Oracle Corporation. All rights reserved.SQL> connect internal/password as sysdba;Connected.SQL> create table test(a int);Table createdSQL> insert into test values(1);1 row insertedSQL> commit;Commit complete2、备份数据库DOS下 C:> rman cmdfile=bakup.rcv msglog=backup.log;以下是back
ORACLE备份&恢复案例(7)
4.4 不完全恢复案例4.4.1 OS备份下的基于时间的恢复不完全恢复可以分为基于时间的恢复,基于改变的恢复与基于撤消的恢复,这里已基于时间的恢复为例子来说明不完全恢复过程。基于时间的恢复可以不完全恢复到现在时间之前的某一个时间,对于某些误操作,如删除了一个数据表,可以在备用恢复环境上恢复到表的删除时间之前,然后把该表导出到正式环境,避免一个人为的错误。1、连接数据库,创建测试表并插入记录SQL*Plus: Release 8.1.6.0.0 - Production on Tue May 6 13:46:32 2003(c) Copyright 1999 Oracle Corporation. All rights res
ORACLE备份&恢复案例(4)
4.2.2 RMAN备份方案RMAN也可以进行联机备份,而且备份与恢复方法将比OS备份更简单可靠。1、连接数据库,创建测试表并插入记录SQL*Plus: Release 8.1.6.0.0 - Production on Tue May 6 13:46:32 2003(c) Copyright 1999 Oracle Corporation. All rights reserved.SQL> connect internal/password as sysdba;Connected.SQL> create table test(a int) tablespace users;Table createdSQL> insert into test values(1);1 row insertedSQL> commit;Commit complete2、备份数据库表空间usersC:>rmanRecovery Manager: Release 8
ORACLE备份&恢复案例(2)
第三章. 了解与恢复相关的信息1、理解报警日志文件报警日志文件一般记载了数据库的启动/关闭信息,归档信息,备份信息,恢复信息,常见错误信息,部分数据库修改记录等。一般令名规则为<SID>Alrt.log或Alrt<SID>.log,如我的测试数据库的报警日志文件的名称为testalrt.log。报警日志文件的路径是根据初始化参数background_dump_dest来决定的,如在我的机器上,该参数值为 D:Oracleadmintestbdump,那么,你就可以在该路径下找到该文件2、后台进程跟踪文件后台进程跟踪文件的路径与报警日志文件的路径一致,在某些情况下,你可
ORACLE备份&恢复案例(1)
第一章. 理解什么是数据库恢复当 我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系 统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数 据库恢复。恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。数据库恢复可以分为以下两类:1.1实例故障的一致性恢复当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM
查看所有reference于当前表的外键
select * from user_constraints where R_CONSTRAINT_NAME in (select constraint_name from user_constraints where table_name = 'DEPT') ;查看所有 reference DEPT表的外键[@more@]
Oracle分区表(Partition Table)
Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。 分区提供以下优点: 由于将数据分散到各个分区中,减少了数据损坏的可能性; 可以对单独的分区进行备份和恢复; 可以将分区映射到不同的物理磁盘上,来分散IO; 提高可管理性、可用性和性
KEEP池的CACHE特点
对象放入KEEP池后,数据的CACHE特性和DEFAULT池是有一些区别的。KEEP池的使用十分简单,设置DB_KEEP_CACHE_SIZE的值大于0,就可以将其他对象的BUFFER_POOL参数设置为KEEP了。SQL> SHOW PARAMETER DB%CACHE_SIZENAME TYPE VALUE------------------------------------ ----------- ------------------------------db_16k_cache_size big integer 0db_2k_cache_size big integer 0db_32k_cache_size big integer 0db_4k_cache_size big integer 0db_8k_cache_size big integer 0db_cache_size big integer 956301312db_keep_cache_size bi
Oracle 数据库 10g中的分区功能
执行概要Oracle 分区功能可以提高许多应用程序的可管理性、性能与可用性。通过分区功能,可以将表、索引和索引组织表进一步细分为段,从而能够更精确地管理和访问这些数据 库对象。Oracle 提供了种类繁多的分区方案以满足每种业务要求。而且,因为在 SQL 语句中分区是完全透明的,所以该功能几乎可应用于任何应用程序。分区功能的优势分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务。通过分区,数据库设计人
EXCEPTION里捕捉行号
Tracing Lines By Steven Feuerstein Find and report your errors—by line number—in Oracle Database 10g. PL/SQL offers a powerful and flexible exception architecture. Of course, there is always room for improvement, and in Oracle Database 10g, exception handling takes a big step forward with the introduction of the DBMS_UTILITY.FORMAT_ERROR_BACKTRACE function. This article explores the problem that this function solves and how best to use it. Who Raised That Exception? When an exception is rai
用OMF来简化数据库管理
Oracle9i带来了许多令人兴奋的新特性,操作系统级别上的Oracle的自动管理文件——即Oracle Managed Files(OMF)——就是其中之一。在Oracle9i出现之前,DBA必须在卸载表空间时手工移除数据文件(datafile)并在创建新的表空间 之前仔细检查文件的位置。为了理解OMF是如何工作的,让我们首先定义一个叫着DB_CTEATE_FILE_DEST的新参数。alter system set db_create_file_dest='/u01/oradata/PROD'; 一旦设置好了DB_CTEATE_FILE_DEST参数,我们就可以创建表空间而无须指定文件名。createtablespace omf1datafile size 100mlocally manag
oracle数据文件最大值
因为oracle 的dba(data block address)是32 bits的,其中block id占了22bits,file id占了10bits,所以datafile能达到的最大size就是2^22*db_block_size也就是4194304*db_block_size,4k的blocksize那么它的datafile max size就是16G8k的blocksize那么它的datafile max size就是32G[@more@]
隐含参数_allow_resetlogs_corruption
环境是:win98+orawin95;某天死机后,数据库打不开,现象如下:Oracle Server Manager Release 3.0.4.0.0 - Production(c) Copyright 1997, Oracle Corporation. All Rights Reserved.Oracle8 Personal Edition Release 8.0.4.0.0 - ProductionPL/SQL Release 8.0.4.0.0 - ProductionSVRMGR> connect internal已连接SVRMGR> startup;已起动 ORACLE 事例全部系统全局区域 22993044 字节Fixed Size 47252 字节Variable Size 6488064 字节Database Buffers 16384000 字节Redo Buffers 73728 字节已装入数据库ORA-01589: ??????????RESE
Oracle Freelist和HWM原理探讨及相关性能优化(3)
4.优化4.1手工回收存储空间在HIGH WATER MARK以上的块对性能没有影响,但是会耗费空间。如何空间大小是一个考虑的问题,就可以决定回收空块。假设表T1的存储示意图如图2.5所示,使用ALTER TABLE ... DEALLOCATE UNUSED语句可以回收HWM以上的空间。比如:alter table t1 deallocate unused;回收后T1的存储示意如图4.1.1如果在ALTER TABLE ... DEALLOCATE UNUSED语句中使用了KEEP关键字,则可以在HWM之后保留指定大小的空闲空间,比如:alter table t1 deallocate unused keep 10K;回收后T1的存储示意如图4.1.24.2删减表根据3.2.1可以得到HW
Oracle Freelist和HWM原理探讨及相关性能优化(2)
3.分析方法存储参数基本上属于oracle internal的东西,因此oralce并没有提供很好的手段来分析。但是对于DBA来说,还是可以通过block dump和DBMS_SPACE等手段来获取部分信息。3.1 提取block和free list信息创建dbms_space使用的存储过程show_spaceSQL>create or replace procedure show_space( p_segname in varchar2,p_owner in varchar2 default user,p_type in varchar2 default 'TABLE',p_partition in varchar2 default NULL )asl_free_blks number;l_total_blocks number;l_total_bytes number;l_unused_blocks number;l_unused_b