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