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------------------------------------ -
细粒度审计FGA存储过程含义
看看DBMS_FGA.ADD_POLICY存储过程的含义DBMS_FGA.ADD_POLICY( object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2, audit_condition VARCHAR2, audit_column VARCHAR2, handler_schema VARCHAR2, handler_module VARCHAR2, enable BOOLEAN, statement_types VARCHAR2, audit_trail BINARY_INTEGER IN DEFAULT, audit_column_opts BINARY_INTEGER IN DEFAULT);object_schema 如果不设置默认为当前登陆用户的schema;object_na
LSNCTL NL-00051报错分析
有时候会遇到下面的这个错误LSNRCTL> save_configConnecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))NL-00051: internal error code, arguments: [302], [1], [], [], [], [], []原因为没有listener.ora文件导致.出现问题的过程如下:[oracle:/home/oracle#]lsnrctlLSNRCTL for Linux: Version 10.2.0.1.0 - Production on 16-4?? -2011 15:02:14Copyright (c) 1991, 2005, Oracle. All rights reserved.Welcome to LSNRCTL, type "help" for information.LSNRCTL> startStarting /opt/ora10g/product/10.2.0/db_
SQL中copy命令使用
Oracle SQL中可以使用copy命令来进行数据的复制.只需要知道源端和目标端数据库的sqlplus登陆方式,就可以进行表中数据的复制,相对来说也比较灵活.如下,我们知道两个数据库的sqlplus登陆方式sqlplus UATDB7/UATDB7@UAT2sqlplus charsi/charsi@BMCTST9I现在我们要将UATDB7/UATDB7@UAT2中一部分all_objects表中的数据insert到charsi/charsi@BMCTST9I数据库中的test_tbl表中.可以使用下面的命令SQL> copy from UATDB7/UATDB7@UAT2 to charsi/charsi@BMCTST9I insert test_tbl using select * from all_objects where rownum <1001;Array
Oracle中查找阻塞与被阻塞SID的方法
在Oracle中,会经常遇到阻塞与被阻塞的情况.查找阻塞与被阻塞的方法主要有下面几种:一.通过查找v$lock和v$locked_object这是最常用的也是最直接的方法SQL> select sid,block from v$lock where block=1; SID BLOCK---------- ---------- 252 1SQL>SQL> select object_id,session_id from v$locked_object where object_id in (select object_id from v$locked_object where session_id=252); OBJECT_ID SESSION_ID---------- ---------- 63833 252 63833 269SQL>由上面第一条
Oracle外部表学习
外部表即保存在Oracle数据库外部的表.实际上是Oracle提供的一种能够通过驱动接口访问外部文件的一种形式.到Oracle 10G以后,有两种驱动方式可以使用外部表.第一种是ORACLE_LOADER.这是一种传统的方式,与SQLLDR很相似,里面的命令参数也大致相同.下面是君三思书<涂抹Oracle>中提供的例子create directory testdir as '/home/oracle/testdb/testdir';grant read,write on directory testdir to charsi;create table ext_case1(ename varchar2(10),job varchar2(20),sal number)organization external(type oracle_loaderdefault directo
tnsnames.ora文件的查找路径
我们有时候会遇到,明明在$ORACLE_HOME/network/admin/tnsnames.ora文件中添加了数据库的连接配置,但是在执行tnsping的时候就是报无法解析的错误/oravl01/oracle/9.2.0/network/admin > tnsping SP9DB1TNS-03505: Failed to resolve name对于这种问题,排除添加的配置格式错误后.可能原因是读取的tnsnames.ora路径根本就不是$ORACLE_HOME/network/admintnsnames.ora文件的查找路径顺序为$HOME => $TNS_ADMIN => /etc => $ORACLE_HOME/network/admin/我们从下面可以看出tnsnames.ora文件的查找路径顺序:[oracle:/oracle#][oracl
Oracle 10G中spool新增加的方法
使用Oracle的时候,我们经常使用spool这个工具,来看看10G和9i中,SPOOL的用法:10G中SQL> help spool SPOOL ----- Stores query results in a file, or optionally sends the file to a printer. In iSQL*Plus, use the Preferences screen to direct output to a file. SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT] Not available in iSQL*PlusSQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 1
对使用dblink的10046事件跟踪
如果网络带宽不够大的情况下,使用dblink导数据就会非常的慢,我们使用10046事件来跟踪一下两边数据库的等待事件,来推测下dblink慢的原因.在源短执行建表语句create table xx_test as (select * from yy_test@to_remote_db);远端表yy_test@to_remote_db的大小约为9G,上面的语句执行一段时间后将它中止,我们来看看两边的trace文件.源端的trace数据:call count cpu elapsed disk query current rows------- ------ -------- ---------- ---------- ---------- ---------- ----------Parse 0
关于db_file_multiblock_read_count参数的设置
我们在遇到数据库IO问题的时候,有时候会设置db_file_multiblock_read_count参数.对于这个参数,从Oracle10gR2之后,数据库会根据系统的情况自动调整,但是在9i的时候还需要手动来设置.对于10G中,我们来看看它的参数.数据库版本10.2.0.1SQL> select * from v$version where rownum <2;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod当前这个参数是非默认的SQL> select name,type,value,isdefault from v$parameter where name='db_
使用批处理脚本或SHELL配合SQL脚本
有时候我们在写一些数据库脚本的时候,通过SQLPLUS设置变量可能很麻烦.此时可以利用操作系统的脚本.比如当系统为*NIX时可以使用SHELL脚本,当系统为Windows时可以通过批处理脚本配合使用.下面是两种平台的两个示例:(1)UNIX或Linux平台下面这个脚本,是通过在系统中取得当前时间的年月,然后传递给SQLPLUS拼成表的分区,可以用来优化SQLTESTDB /oravl01/oracle/charsi> cat xx_test.shCUR_MONTH=`date +%Y%m`sqlplus charsi/charsi@testdb <<EOFset timing onselect count(1) from test_parti_table partition (month_${CUR_MONT
设置autotrace的报错问题解决
我们在Oracle session中设置autotrace的时候,经常会遇到下列的问题:SQL> set autotrace onSP2-0613: 无法验证 PLAN_TABLE 格式或实体SP2-0611: 启用EXPLAIN报告时出错这是由于这个用户下没有PLAN_TABLE这个表的原因,可以执行ORACLE的sql来创建该表ORACLE给的SQL在$ORACLE_HOME/rdbms/admin/utlxplan.sql中,执行该校本就可以了.比如我的$ORACLE_HOME为C:oracleora92那么我就执行下面的语句然后就可以了.SQL> @C:oracleora92rdbmsadminutlxplan.sql表已创建。SQL> 表已经创建,那么有时候还会遇到权限的问题,提示错误信息如下: