DB2的数据库备份与恢复
最近做了几次DB2数据库的在线备份与恢复,趁此做一总结 DB2的备份 db2 backup db sample online to "/db2data/db2back/sample_bak/" compress include logs DB2的恢复 1.如果能找到相应的归档日志的话 db2 restore database sample from /db2data/db2back/sample_bak taken at 20140222175801 without prom...
UNIX环境设置监听端口的脚本
我们在做系统维护的时候,有时候会遇到开通某个网络端口后需要验证,但是因为各种原因端口没有打开不知道该怎么去验证的情 况。 这是个看似简单,但实际操作起来却让人头疼的“小问题”。以前在做项目的时候,当时亚联的老蔡大拿提供了一个用perl写的脚本,未经许可,擅自转载希望老蔡不要找我麻烦 如下: # cat s...
部分Windows批处理脚本整理
在工作中有时候在Windows平台需要使用到批处理脚本进行一些定期的任务,来达到与UNIX平台SHELL脚本的功能,下面整理了几个工作中用到的脚本。 收集Java进程内存的内存使用情况 set nowtime=%date:~0,10% %time% @echo %nowtime% >>D:\scripts\java_memo_mon.txt tasklist |findstr java >>D:\scripts\java_m...
rman在linux下的一个问题
在linux下使用rman,执行rman target /,结果出现下面的一个错误:[oracle:/home/oracle]rman target /rman: can't open target很奇怪,从来没有遇到这个问题,执行了好几遍我都开始怀疑是不是我的数据库缺少什么配置.后来才发现,原来linux上也有一个rman的命令,我们看:[oracle:/home/oracle]which rman/usr/X11R6/bin/rman[oracle:/home/oracle]rman target /rman: can't open target[oracle:/home/oracle]cd $ORACLE_HOME[oracle:/home/oracle/oracle/product/10.2.0/db_1]cd bin[oracle:/home/oracle/oracle/product/10.2.0/db_1/bin]ls -
Oracle数据库的监控内容
我们经常需要检查和监控数据库的性能等,下面罗列的监控内容及监控方法可供我们参考:1.检查oracle是否可用 select instance_name,status from v$instance;2.lisener是否可用 ps -ef|grep tnslsnr ps -ef|grep tnslsnr|wc -l|awk '{if ($0 < 2) print "Oracle listener is DOWN:" ; cmd="hostname" ; system(cmd)}'3.表空间的使用率(包括TEMP,UNDO表空间)4.工作时间段内长时间执行的SQL select * from v$session_longops;5.工作时间段内是否有lock select sid from v$lock where block=1;6.buffer cache
UNDO表空间损坏的处理
一个半生产的Oracle数据库.数据库版本Oracle9.2.0.8数据库为非归档模式运行.因为要处理的数据量较大,所以在周五临下班前,在后台执行了两个个大数据量的insert插入脚本。结果周一来的时候,发现那个脚本还没有执行完成.于是kill操作系统进程,kill Oracle session.然后从v$session中看到session的状态变为KILLED之后,又在操作系统层面上kill数据库的用户进程.然后看到数据库的UNDO一直没有释放,就想直接重启数据库得了.使用shudown immediate等了很久没停下来,这时候数据库已经处于HANG的状态,于是直接shudown abort。后来的结果证明这种处
Oracle普通表修改为分区表的方法
数据库版本是9.2.0.6需要将几个1T左右的普通表变更为分区表.尝试过下面三种方法:1.先创建空的分区表,然后将原表中的数据insert进去;2.使用Oracle的在线重定义工具3.CTAS方法.执行办法,比较:第一种方法:先创建空的分区表,然后将原表中的数据insert进去SQL> create table t as select object_id,object_name from all_objects;Table created.create table t_new (OBJECT_ID NUMBER, OBJECT_NAME VARCHAR2(30)) partition by range(object_id) (partition P1 values less than (100), partition
在Linux下安装Oracle 10g的方法
整理了在Linux下安装Oracle 10g的方法,更详细的可参考Oracle的官方文档<Oracle? Database Installation Guide10g Release 2 (10.2) for Linux>1.检查系统的硬件配置 a.要求系统内存不低于1GB b.交换空间 如果内存不超过1GB,则交换空间大小为内存的2倍 如果内存为1GB~2GB,则交换空间为内存的1.5倍 如果内存为2GB~8GB,则交换空间与内存大小相同 如果内存大于8GB,则交换空间设置为内存的0.75倍 c.临时空间/tmp目录至少有400MB空间可用 d.硬盘不低于4GB的空闲空间 2.检查操作系统必备的系统软件包 安装Oracle的话,下
由于gcc软件包没有安装导致的Oracle安装失败
在Linux上安装Oracle 10g,安装前进行系统环境检查的时候,出现一个告警一个失败,此时下面的Next按钮还能继续点下去,按照以往的经验,忽视之,一路Next点下去,然后在安装软件完成后进行Link Pending时,开始出现报错,错误如下:INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'ntcontab.o' of makefile '/u01/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'. See '/
关于数据库丢失控制文件的测试
数据库丢失控制文件的情况有几种:1.删除2.重命名3.清空4.控制文件所在的磁盘损坏.另外,数据库的控制文件可能会有两个、三个或多个的情况.下面是我的测试结果1.删除如果是删除的话,如果删除掉一个或者都删掉,数据库不会宕,依旧会正常运行,一直到下次重启的时候,数据库在检查丢失控制文件会报错然后无法启动,需要恢复;因此,删除控制文件不会对当前的数据库运行产生影响,但是需要注意下次重启的时候会报错并无法启动。2.重命名重命名也不会影响当前数据库的正常运行,并且数据库会依旧更新重命名后的那个文件,这个应该是由于系统的
SQL中的左连接和右连接
SQL中的左连接和右连接的概念其实相同,只是为了在语言上区分而已。即如果把左边的放在右边,或者右边的放到左边,那么左连接也就变成右连接了.左连接其实就是连接左边表中的数据和右边的数据关联。包括所有左边表的数据和符合关联条件的数据。如下所示:SQL> SQL> create table a (x number);Table created.SQL> create table b (y number);Table created.SQL> insert into a values (1);1 row created.SQL> insert into a values (2);1 row created.SQL> insert into a values(3);1 row created.SQL> insert into
java 6 64位
通常我们使用java的时候,默认都是使用的32位的,如果需要使用64位的JDK 6 ,方法其实很简单只需要在java 后面使用-d64的参数即可如在HP-UX上的测试/opt/java6/bin >./java -versionjava version "1.6.0.03"Java(TM) SE Runtime Environment (build 1.6.0.03-jinteg_05_feb_2009_11_19-b00)Java HotSpot(TM) Server VM (build 11.0-b16-jre1.6.0.03-rc2 PA2.0 (aCC_AP), mixed mode)上面的是32位下面是64位的/opt/java6/bin >./java -d64 -versionjava version "1.6.0.03"Java(TM) SE Runtime Environment (bui
Oracle9i使用logminer恢复数据
使用LogMiner恢复数据的方法:1.首先设置UTL_FILE_DIR参数. 该参数为静态参数,需要重启数据库才能设置完成 如果使用的是pfile启动的数据库,需要停止数据库后,修改init参数文件,然后重启数据库; 如果使用的是spfile文件,使用alter system set UTL_FILE_DIR='/xxx/dir' scope=spfile;修改spfile参数后重启数据库修改.2.执行logminer的创建脚本 使用sys用户执行下面的两个脚本: $ORACLE_HOME/rdbms/admin/dbmslm.sql $ORACLE_HOME/rdbms/admin/dbmslmd.sql3.生成数据字典文件 exec dbms_logmnr_d.build('xxxx_dictfile.ora','/xxx/
rstatd守护进程
rstatd守护进程是用来返回从内核获取的性能统计信息 的进程。默认是不启动的。以前遇到过使用loadrunner测试应用性能的时候,需要启动这个守护进程。下面是英文的解释:Rstatd is a server process which produces system performance statistics obtained from the kernel.The statistics can be graphically displayed by the perfmeter program.Rstatd's results can also be used by the rup command,which allows other machines on your local network to get information (like uptime) about your computer.在UNIX服务器上,rstatd进
使用非oracle用户创建database
使用非oracle用户(oracle用户,即数据库的安装用户,以下都写作oracle用户)创建数据库,经测试是可行的.但需要注意的几个条件是:1.创建database的那个用户应该与oracle用户是归属于同一个组的,即也是属于dba组;2.oracle用户需要对新建的数据库指定的控制文件,数据文件,日至文件,dump文件的目录具有写权限.因为oracle用户会在这些目录下写文件,文件的属主是oracle用户而非创建数据库的那个用户的. 如果这些目录oracle用户不可写的话,则会报权限不足的错误,如下:ERROR at line 1:ORA-01501: CREATE DATABASE failedORA-00200: control file c
Oracle客户端非默认路径安装出现的错误
安装Oracle客户端,原本的默认安装ORACLE_HOME路径为C:oracleproduct10.2.0db_1,为了方便,在安装的过程中,将ORACLE_HOME目录变为D:oracleproduct10.2.0db_1之后就无法使用pl/sql登录.使用tnsping测试,报下面的错误.Message 3511 not found; No message file for product=network, facility=TNSMessage?3512 not found; No message file for product=network, facility=TNS类似现象如下:bash-2.05$ tnsping bnsnqa04_ITL5146.worldTNS Ping Utility for Solaris: Version 9.2.0.5.0 - Production on 08-NOV-2004 14:27:17Copyright (c) 199
java报找不到共享库libjli.sl的错误
应用用户要用到java 6的环境,但总是报错,如下:%/opt/java6/bin/java -version/usr/lib/dld.sl: Can't find path for shared library: libjli.sl/usr/lib/dld.sl: No such file or directoryAbort(coredump)而如果使用root用户执行的话,就没有问题[root@abptst5:/opt/java6/bin#]./java -versionjava version "1.6.0.04"Java(TM) SE Runtime Environment (build 1.6.0.04-jinteg_28_apr_2009_04_46-b00)Java HotSpot(TM) Server VM (build 11.3-b02-jre1.6.0.04-rc2 PA2.0 (aCC_AP), mixed mode)[root@abptst5:/opt/java6/bin#]
Oracle 11gR2 在Linux平台上安装体验
今天在CentOS5平台安装了一遍Oracle 11g R2,安装的步骤与Oracle 10G的步骤没有太大区别.基本的安装步骤如下:1.首先还是创建用户及用户组创建系统group :dba oinstall创建用户oracle,并设置oracle用户的默认组为oinstall/usr/sbin/groupadd oinstall/usr/sbin/groupadd dba/usr/sbin/useradd -g oinstall -G dba oracle2.设置oracle用户的环境变量主要是设置ORACLE_BASE,ORACLE_HOME,PATH,LD_LIBRARY_PATH这几个,其余的环境变量可以选择设置.其实这几个变量不设置的话也不回影响安装.如下:export ORACLE_BASE=/u01/app/oracleexport ORACL
vertica数据库
vertica2011年2月14日,惠普收购了分析及数据管理软件公司vertica.vertica的客户包括了互联网公司AOL、Groupon、twitter和Zynga,以及企业巨头美银,Verizon和Comcast等.vertica数据库与传统数据库有不同,vertica数据库在数据仓库方面有明显优势.相比传统的数据库,我觉得vertica的主要特点是列存储.由于vertica使用的是列存储,并依照列存储的模式,提出了一些相应的优化和解决方案,使得在查询性能上相比传统的数据库的要高出10倍到100倍的性能.另外,由于主要定位于数据仓库方面,因此与informatica及一些其他的第三方或者开源的ETL工具结合的比
内存管理中关于内存每次增长的大小
修改一个内存参数db_16k_cache_size,如下:SQL> show parameter db_16k_cache_sizeNAME TYPE VALUE------------------------------------ ---------------------- ------------------------------db_16k_cache_size big integer 0SQL> alter system set db_16k_cache_size=4M;System altered.SQL> show parameter db_16k_cache_sizeNAME TYPE VALUE------------------------------------ -