2012年6月17日星期日

查询表结构和行转列以及常用视图

1.曾经不小心把开发库的数据库表全部删除,当时吓的要死。结果找到下面的语句恢复到了1个小时之前的数据!很简单。
注意使用管理员登录系统:
select * from 表名 as of timestamp sysdate-1/12   //查询两个小时前的某表数据!既然两小时以前的数据都得到了,继续怎么做,知道了吧。。

如果drop了表,怎么办??见下面:
drop table 表名;

数据库误删除表之后恢复:(
绝对ok,我就做过这样的事情,汗 )不过要记得删除了哪些表名。
flashback table 表名 to before drop;

2.查询得到当前数据库中锁,以及解锁:
查锁
SELECT /*+ rule */ s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT NULL;

解锁
alter system kill session 'sid,serial';
如果解不了。直接倒os下kill进程kill -9 spid


5.查看当前数据库中正在执行的语句,然后可以继续做很多很多事情,例如查询执行计划等等
Sql代码  收藏代码
  1. (1).查看相关进程在数据库中的会话     
  2.   Select   a.sid,a.serial#,a.program,   a.status   ,     
  3.   substr(a.machine,1,20),   a.terminal,b.spid     
  4.   from   v$session   a,   v$process   b     
  5.   where   a.paddr=b.addr     
  6.   and   b.spid   =   &spid;     
  7.       
  8.   (2).查看数据库中被锁住的对象和相关会话     
  9.   select   a.sid,a.serial#,a.username,a.program,     
  10.   c.owner,   c.object_name       
  11.   from   v$session   a,   v$locked_object   b,   all_objects   c     
  12.   where   a.sid=b.session_id   and     
  13.   c.object_id   =   b.object_id;     
  14.       
  15.   (3).查看相关会话正在执行的SQL     
  16.   select   sql_text   from   v$sqlarea   where   address   =       
  17.   (   select   sql_address   from   v$session   where   sid   =   &sid   );     

6.查询表的结构:表名大写!!
select t.COLUMN_NAME,
       t.DATA_TYPE,
       nvl(t.DATA_PRECISION, t.DATA_LENGTH),
       nvl(T.DATA_SCALE, 0),
       c.comments
  from all_tab_columns t, user_col_comments c
 whEre t.TABLE_NAME = c.table_name
   and t.COLUMN_NAME = c.column_name
   and t.TABLE_NAME = UPPER('OM_EMPLOYEE_T')
 order by t.COLUMN_ID     

7.行列互换:
Sql代码  收藏代码
  1. 建立一个例子表:  
  2. CREATE TABLE t_col_row(   
  3. ID INT,   
  4. c1 VARCHAR2(10),   
  5. c2 VARCHAR2(10),   
  6. c3 VARCHAR2(10));   
  7. INSERT INTO t_col_row VALUES (1, 'v11', 'v21', 'v31');   
  8. INSERT INTO t_col_row VALUES (2, 'v12', 'v22', NULL);   
  9. INSERT INTO t_col_row VALUES (3, 'v13', NULL, 'v33');   
  10. INSERT INTO t_col_row VALUES (4, NULL, 'v24', 'v34');   
  11. INSERT INTO t_col_row VALUES (5, 'v15', NULL, NULL);   
  12. INSERT INTO t_col_row VALUES (6, NULL, NULL, 'v35');   
  13. INSERT INTO t_col_row VALUES (7, NULL, NULL, NULL);   
  14. COMMIT;   
  15.   
  16. 下面的是列转行:创建了一个视图  
  17. CREATE view v_row_col AS  
  18. SELECT id, 'c1' cn, c1 cv  
  19. FROM t_col_row  
  20. UNION ALL  
  21. SELECT id, 'c2' cn, c2 cv  
  22. FROM t_col_row  
  23. UNION ALL  
  24. SELECT id, 'c3' cn, c3 cv FROM t_col_row;  
  25.   
  26. 下面是创建了没有空值的一个竖表:  
  27. CREATE view v_row_col_notnull AS  
  28. SELECT id, 'c1' cn, c1 cv  
  29.  FROM t_col_row   
  30. where c1 is not null  
  31. UNION ALL  
  32. SELECT id, 'c2' cn, c2 cv  
  33.  FROM t_col_row  
  34. where c2 is not null  
  35. UNION ALL  
  36. SELECT id, 'c3' cn, c3 cv  
  37.  FROM t_col_row   
  38. where c3 is not null;  

8.下面可能是dba经常使用的oracle视图吧。呵呵
Sql代码  收藏代码
  1. 1.示例:已知hash_value:3111103299,查询sql语句:  
  2. select * from v$sqltext   
  3. where hashvalue='3111103299'  
  4. order by piece   
  5. 2.查看消耗资源最多的SQL:  
  6. SELECT hash_value, executions, buffer_gets, disk_reads, parse_calls  
  7. FROM V$SQLAREA  
  8. WHERE buffer_gets > 10000000OR disk_reads > 1000000  
  9. ORDERBY buffer_gets + 100 * disk_reads DESC;  
  10.   
  11. 3.查看某条SQL语句的资源消耗:  
  12. SELECT hash_value, buffer_gets, disk_reads, executions, parse_calls  
  13. FROM V$SQLAREA  
  14. WHERE hash_Value = 228801498AND address = hextoraw('CBD8E4B0');  
  15.   
  16. 4.查询sql语句的动态执行计划:  
  17.         首先使用下面的语句找到语句的在执行计划中的address和hash_code  
  18.         SELECT sql_text, address, hash_value FROM v$sql t  
  19.                 where (sql_text like '%FUNCTION_T(表名大写!)%')  
  20.         然后:  
  21.         SELECT operation, options, object_name, cost FROM v$sql_plan  
  22.                 WHERE address = 'C00000016BD6D248' AND hash_value = 664376056;  
  23.   
  24. 5.查询oracle的版本:  
  25. select * from v$version;  
  26.   
  27. 6.查询数据库的一些参数:  
  28. select * from v$parameter  
  29.   
  30. 7.查找你的session信息  
  31. SELECT SID, OSUSER, USERNAME, MACHINE, PROCESS  
  32. FROM V$SESSION WHERE audsid = userenv('SESSIONID');  
  33.   
  34. 8.当machine已知的情况下查找session  
  35. SELECT SID, OSUSER, USERNAME, MACHINE, TERMINAL  
  36. FROM V$SESSION  
  37. WHERE terminal = 'pts/tl' AND machine = 'rgmdbs1';  
  38.   
  39. 9.查找当前被某个指定session正在运行的sql语句。假设sessionID为100  
  40. select b.sql_text   
  41. from v$session a,v$sqlarea b   
  42. where a.sql_hashvalue=b.hash_value and a.sid=100  

9.树形结构connect by 排序:
Sql代码  收藏代码
  1. 查询树形的数据结构,同时对一层里面的数据进行排序  
  2. SELECT last_name, employee_id, manager_id, LEVEL  
  3.       FROM employees  
  4.       START WITH employee_id = 100  
  5.       CONNECT BY PRIOR employee_id = manager_id  
  6.      <span style="background-color: #ff0000;"> ORDER SIBLINGS BY last_name;</span>  
  7.   
  8.   
  9.   
  10.   
  11.   
  12.   
  13. 下面是查询结果  
  14. LAST_NAME                 EMPLOYEE_ID MANAGER_ID      LEVEL  
  15. ------------------------- ----------- ---------- ----------  
  16. King                              100                     1  
  17. Cambrault                         148        100          2  
  18. Bates                             172        148          3  
  19. Bloom                             169        148          3  
  20. Fox                               170        148          3  
  21. Kumar                             173        148          3  
  22. Ozer                              168        148          3  
  23. Smith                             171        148          3  
  24. De Haan                           102        100          2  
  25. Hunold                            103        102          3  
  26. Austin                            105        103          4  
  27. Ernst                             104        103          4  
  28. Lorentz                           107        103          4  
  29. Pataballa                         106        103          4  
  30. Errazuriz                         147        100          2  
  31. Ande                              166        147          3  
  32. Banda                             167        147          3 

win7-64位装oracle客户端-plsql连接数据库

64位的win7旗舰版sp1系统:

1、安装了oracle11gR2的64位服务器版本(按东软给的方法),并手工创建了实例及数据库,创建了监听。。而且自带的slq-plus能登陆(就用本机),说明服务器端的监听等网络配置应该没问题。

因为plsql是32位的,是9.0版中文的。也是不能加载64位的oci.dll(oracle的文件),需按网上的方法,下载instantclient-basic-win32-11.2.0.1.zip......(见uc浏览器的收藏网页)


或 者,直接安装官网下载的32位客户端11gR1版本,win32_11gR1_client_32bit.zip,安装时,只选择安装 instantclient(150多m大小),,,比如,安装路径位D:\app\dsd\win32\product\11.1.0 \client_1
备注:客户端的连接配置文件tnsnames.ora及oci.dll就在D:\app\dsd\win32\product\11.1.0\client_1下


2、这步其实可以不做:plsql的选项-oracle连接中,要选择32位oracle客户端的主目录,(就是安装oracle时的主目录,如D:\app\dsd\win32\product\11.1.0\client_1”。)
和oci库(oci.dll,是oracle的一个调用接口)的路径,如:D:\app\dsd\win32\product\11.1.0\client_1\oci.dll

3、 环境变量中的系统变量,也按网上方法改了下:确保path变量,含有D:\app\dsd\win32\product\11.1.0\client_1   ,这个path变量可以不加入oracle的32位客户端安装路径,且这变量已经自动含有了oracle的32位的客户端路径及64位的服务器安装路径。 (因为本机先装了服务器版本,又装了客户端版本)

新建“TNS_ADMIN”变量,值为:D:\app\dsd\win32\product\11.1.0\client_1   ,这个变量必须建,否则仍然plsql仍然连不上,报同样错误。

新 建“NLS_LANG”变量,值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK   ,这个变量建立了,能把plsql登陆时报的英文错误变成了中文错误。zhs16gbk其实就是当oracle11g装好后,手工创建数据库时默认的数据 字符集。


但此时,仍然是报错“ORA-12154: TNS: 无法解析指定的连接标识符”,本机的sqlplus能登陆,怀疑是oracle客户端的tnsnames.ora有问题,

然后,看下服务器中的监听配置文件listener.ora中的连接串:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dsd-PC5)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
发现host是计算机名,如上,是dsd-pc5,那么,客户机的oracle的client安装路径内的配置文件tnsnames.ora中的连接串中的host成服务器主机名(原来是127.0.0.1),如下:


DSD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dsd-PC5)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = lmsdsd)

再用plsql登陆,成功。。。

而且很奇怪,此时,再把tnsnames.ora中的host名改成127.0.0.1,plsql也能正常连接了。。


-------------------------------------------------------------------------

关 键小结:问题的关键在于TNS_ADMIN变量,它的路径是哪个,就会导致开始菜单中的oracle下的Net Manager(本来是服务器端带的,instantclient客户端不带这个)指向哪个,对应修改的就是那个路径下的配置文件 tnsnames.ora和listener.ora(监听配置文件)(客户端不需要监听),而且,也会导致plsql调用的 oci.dll,tnsnames.ora就是那个路径下的。
而且,plsql登陆时,输入的数据库名,其实是网络服务名,即Net Manager配置的网络名(tnsnames.ora中连接串的第一行)。
或者说,在客户端,无Net Manager工具也不影响?关键是tns_admin变量值要指定32位的oracle客户端,还有就是tnsnames.ora中连接串参数要对。当然,前提是服务器端的端口已经监听,即服务器上的listener.ora内容要对。

备注:Net Configuration Assistant实际就是带向导模式的Net Manager,也是受tns_admin变量决定其修改哪个路径下的tnsnames.ora和listener.ora

Net Configuration Assistant中的“监听程序配置”,影响listener.ora文件和创建监听服务,其“本地网络服务名配置”,影响tnsnames.ora, 其实,数据库服务器上不用配置“本地网络服务名配置”,除非你要在服务器本机上用plsql,但直接改服务器上的tnsnames.ora更方便?而且, 前面已经说明,64位的服务器上必须装32位的oracle客户端,32位的plsq才能用(还得改tns_admin变量)

注 意oracle服务端有个监听服务,在操作系统的服务管理中能看到。。如果监听服务被停,本机上用plsq,会提示无监听,网络上其他机子用plsql, 会提示连接超时。服务器的监听服务是要添加一个监听后才有(安装好oracle11g服务器时没有监听服务),即Net Configuration Assistant进行添加一次监听即可(网络服务名无需添加)添加监听服务后,E:\app\dsd64\product\11.2.0 \dbhome_1\NETWORK\ADMIN下仍然未生成listener.ora配置文件?生在了D:\app\dsd\win32 \product\11.1.0\client_1下,因为tns_admin变量决定的,tns_admin变量路径下的listener.ora如果 被删,会导致监听服务停止后,无法启动,报启动后停止。

tnsnames.ora中如果有多个相同的连接字符串,plsql启动时,可选的网络服务名就有多个。plsql调用的其实就是tns_admin变量指定路径下的tnsnames.ora和oci.dll


比如tnsnames.ora中有如下2个连接串,plsql登陆时,就会有dsd1和dsd2这两个网络服务名可选。

DSD1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dsd-PC5)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = lmsdsd)

DSD2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dsd-PC5)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = lmsdsd)

用虚拟机-32位xp证明,只需装oracle客户端11g的instantclient组件,然后设置tns_admin变量即可,plsql就能读取tnsnames.ora和调用oci.dll


在DBCA 建库(手工建库向导时),有提示让我们选择连接类型,这里有两种类型:Dedicated server 和 Shared server(专用模式 和 共享模式) ,
在tnsnames.ora中的连接串中,如果声明了(SERVER = DEDICATED),则连接服务器时就是专用模式(独占模式)
如连接串中还有(LOAD_BALANCE = yes),即负载平衡,则很可能使用了rac:  Oracle RAC 集群示意图,RAC,全称real application clusters,译为“实时应用集群”
在安装oracle的数据库管理系统服务器版时,会提示是安装“单实例”还是rac:real application clusters

oracle基目录,比如:e:\app\dsd64  所有oracle产品的目录
oracle主目录,比如:e:\app\dsd64\product\11.2.0\dbhome_1  指oracle软件文件的位置

经试验,仅安装oracle的数据库管理系统服务器版,安装时,选只安装数据库软件,安装成功后,是没有监听服务的。(操作系统的服务列表中。)
服务器没配置监听时,E:\app\dsd64\product\11.2.0\dbhome_1\NETWORK\ADMIN下是没有配置文件的。

PL/SQL Developer结合oracle精简客户端使用配置

PL/SQL Developer结合oracle精简客户端使用配置
当我们把ORACLE安装在服务器上,在客户机上使用PL/SQL Developer 等客户端时连接服务器上的ORACLE时往往需要在客户端上也安装上百兆的ORACLE然后通过ORACLE的网络配置向导来配置完成PL/SQL Developer的支持。
而通过ORACLE提供的工具instantclient-basic(压缩包33M),我们可以在客户端不安装ORACLE的前提下实现使用PL/SQL Developer 连接服务器上的ORACLE。我使用的系统是XP,下载的是instantclient-basic-win32-10.2.0.4.zip,下载地址为:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
大家可以根据自己的系统和ORACLE版本情况下载适合自己系统的。
(1)下载解压
将下载后的文件-basic-win32-10.2.0.4.zip解压,把解压后的文件夹instantclient_10_2置于C:\Program Files下,C:\Program Files\instantclient_10_2有如下几个文件:

 
(2)环境变量设置
配置环境变量,右击“我的电脑”à“属性”à“高级”à“环境变量”à“系统变量”,增加如下内容:
 1) 变量名:ORACLE_HOME
      变量值:C:\Program Files\instantclient_10_2
  2) 变量名:TNS_ADMIN
      变量值:C:\Program Files\instantclient_10_2
  3) 变量名:NLS_LANG
      变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  4) 修改Path变量,在后面添加 C:\Program Files\instantclient_10_2
(3)添加网络配置文件
在 C:\Program Files\instantclient_10_2中添加网络配置文件,新建文本文件,命名为tnsnames.ora(注意扩展名为.ora,不是txt),写入如下内容:
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
    其中红色字体部分为我的针对个人情况的设置,ORACLE数据库服务器IP为192.168.1.1,数据库实例名子为orcl。
(4)检验
配置无误的话打开PL/SQL Developer时显示如下界面:
当环境变量配置有误时没有”connect as ”的选框。

不用安装oracle客户端也可以用plsql连接远程oracle

不用安装oracle客户端也可以用plsql连接远程oracle
关键字: plsql连接远程oracle
每次问人家,plsql 可不可以直接远程连接服务器,他们都说要安装客户端,记得以前用过个什么sql deveplore 什么的工具,不用安装客户端的,而且是绿色软件来的,我就想,一定就办法,不用这么麻烦安装客户端的。上网找了找,下面把我的实践详细过程记录下来,希望对大家有帮助,有什么不对的,请大家多多评论,指出来。
1、在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
放到一个文件夹,如 oraclient
2、配置tnsnames.ora,如果本机上没有安装oracle,
可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在%ORACLE_HOME%/network/admin下)放在上面的目录D:/oraclient下。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracledata)
)
)

3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:/oraclient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。

4、设置ORACLE的语言,添加环境变量:
“NLS_LANG = SIMPLIFIEDCHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)

2012年6月11日星期一

oracle 监听静态注册举例解析

1、在 $ORACLE_HOME/network/admin/listener.ora 文件中加入一个静态注册的节点
  • [oracle@guohui6 oracle]$ cd $ORACLE_HOME/network/admin
  • [oracle@guohui6 admin]$ vi listener.ora
# listener.ora Network Configuration File: /mydatafile2/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
#
Generated by Oracle configuration tools.

SID_LIST_LISTENER
=
(SID_LIST
=
  (SID_DESC
=
   (SID_NAME
= PLSExtProc)
   (ORACLE_HOME
= /mydatafile2/app/oracle/oracle/product/10.2.0/db_1)
   (PROGRAM
= extproc)
)

(SID_DESC
=
  (SID_NAME
= ORCL)
  (ORACLE_HOME
= /mydatafile2/app/oracle/oracle/product/10.2.0/db_1)
  (GLOBAL_DBNAME
=HJD.COM.CN)
  )
)

LISTENER
=
(DESCRIPTION_LIST
=
  (DESCRIPTION
=
   (ADDRESS
= (PROTOCOL = IPC)(KEY = EXTPROC1))
   (ADDRESS
= (PROTOCOL = TCP)(HOST = guohui6)(PORT = 1521))
  )
)
注意这里的global_dbname=HJD.COM.CN
SID_NAME=ORCL
这个SID_NAME 应与你对外提供服务的 $ORACLE_SID 一致
[oracle@guohui6 admin]$ echo $ORACLE_SID ORCL
2.
配置对应的tnsnames.ora 中的节点
[oracle@guohui6 admin]$ vi tnsnames.ora # tnsnames.ora Network Configuration File: 
/mydatafile2/app/oracle/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ORCL= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = guohui6)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) ) GUOHUIORCL= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = guohui6)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = HJD.COM.CN) ) ) 
tnsname GUOHUIORCL 中的 SERVICE_NAME=HJD.COM.CN

这里的服务名为 HJD.COM.CN 而不是通常的 ORCL,因为在 listener.ora 中已经注册了 HJD.COM.CN,lsnrctl 启动时会监听 HJD.COM.CN ,并对应到 SID_NAME=ORCL 上。
3、启动监听和服务
[oracle@guohui6 oracle]$ cat dbstart lsnrctl start sqlplus /nolog <<EOF connect /as sysdba startup EOF [oracle@guohui6 oracle]$ ./dbstart LSNRCTL for Linux: 
Version 10.2.0.1.0 - Production on 13-FEB-2011 20:11:15 Copyright (c) 1991, 2005, Oracle. All rights reserved. Starting /mydatafile2/app/oracle/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 10.2.0.1.0 - ProductionSystem parameter  
file is /mydatafile2/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.oraLog messages written 
to /mydatafile2/app/oracle/oracle/product/10.2.0/db_1/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=guohui6)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) STATUS of the LISTENER------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production Start Date 13-FEB-2011 20:11:15 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /mydatafile2/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora Listener Log File /mydatafile2/app/oracle/oracle/product/10.2.0/db_1/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=guohui6)(PORT=1521))) Services Summary... Service "HJD.COM.CN" has 1 instance(s). Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service... Service "ORCL" has 1 instance(s). Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully SQL*Plus: Release 10.2.0.1.0 - Production on Sun Feb 13 20:11:16 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> Connected to an idle instance. SQL> ORA-32004: obsolete and/or deprecated parameter(s) specified ORACLE instance started. Total System Global Area 461373440 bytes Fixed Size 1220000 bytes Variable Size 75498080 bytes Database Buffers 381681664 bytes Redo Buffers 2973696 bytes Database mounted. Database opened. SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options

可以看到
Service "HJD.COM.CN" has 1 instance(s). Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
正在被监听。
4、验证该服务可以到达
[oracle@guohui6 oracle]$ tnsping GUOHUIORCL TNS Ping Utility for Linux: 
Version 10.2.0.1.0 - Production on 13-FEB-2011 20:14:59 Copyright (c) 1997, 2005, Oracle. All rights reserved. Used parameter files: /mydatafile2/app/oracle/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = guohui6)(PORT = 1521)) 
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = HJD.COM.CN))) OK (10 msec)
5.利用静态注册的服务登入oracle 
[oracle@guohui6 oracle]$ sqlplus tina/panda@guohuiorcl SQL*Plus: Release 10.2.0.1.0 - Production on Sun Feb 13 20:17:27 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL> select count(*) from date_log; COUNT(*)---------- 3998 SQL>
---------------

2012年6月3日星期日

表空占用情况

SELECT a.tablespace_name, round(a.bytes / 1024 / 1024) "Sum MB",
       round((a.bytes - b.bytes) / 1024 / 1024) "used MB",
       round(b.bytes / 1024 / 1024) "free MB",
       round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used"
  FROM (SELECT tablespace_name, SUM(bytes) bytes
           FROM dba_data_files
          GROUP BY tablespace_name) a,
       (SELECT tablespace_name, SUM(bytes) bytes, MAX(bytes) largest
           FROM dba_free_space
          GROUP BY tablespace_name) b
 WHERE a.tablespace_name = b.tablespace_name(+)
 ORDER BY ((a.bytes - b.bytes) / a.bytes) DESC;



select t.owner, t.segment_name, sum(t.BYTES) / 1024 / 1024 as size_M
  from dba_segments t
 where t.tablespace_name = ''
 group by t.owner, t.segment_name
 order by 3 desc;

内在地址占用

SELECT DECODE(T.GRANTYPE,
              1,
              'shared pool',
              2,
              'large pool',
              3,
              'java pool',
              4,
              'streams pool',
              5,
              'free',
              6,
              'DEFAULT buffer cache',
              7,
              'KEEP buffer cache',
              8,
              'RECYCLE buffer cache',
              9,
              'DEFAULT 2K buffer cache',
              1,
              'DEFAULT 4K buffer cache',
              1,
              'DEFAULT 8K buffer cache',
              T.GRANTYPE),
       T.granstate,
       t.baseaddr addr,
       t.gransize
  FROM X$KSMGE T
  order by 3;
------------------------------------------------------------
SQL> set pages 1000
SQL> /

DECODE(T.GRANTYPE,1,'SHAREDPOOL',2,'LARG GRANSTATE        ADDR               GRANSIZE
---------------------------------------- ---------------- ---------------- ----------
0                                        INVALID          000007FF00000000   16777216
0                                        INVALID          000007FF01000000   16777216
0                                        INVALID          000007FF02000000   16777216
0                                        INVALID          000007FF03000000   16777216
0                                        INVALID          000007FF04000000   16777216
0                                        INVALID          000007FF05000000   16777216
0                                        INVALID          000007FF06000000   16777216
0                                        INVALID          000007FF07000000   16777216
0                                        INVALID          000007FF08000000   16777216
0                                        INVALID          000007FF09000000   16777216
0                                        INVALID          000007FF0A000000   16777216
0                                        INVALID          000007FF0B000000   16777216
0                                        INVALID          000007FF0C000000   16777216
0                                        INVALID          000007FF0D000000   16777216
0                                        INVALID          000007FF0E000000   16777216
0                                        INVALID          000007FF0F000000   16777216
0                                        INVALID          000007FF10000000   16777216
0                                        INVALID          000007FF11000000   16777216
0                                        INVALID          000007FF12000000   16777216
0                                        INVALID          000007FF13000000   16777216
0                                        INVALID          000007FF14000000   16777216
0                                        INVALID          000007FF15000000   16777216
0                                        INVALID          000007FF16000000   16777216
0                                        INVALID          000007FF17000000   16777216
0                                        INVALID          000007FF18000000   16777216
0                                        INVALID          000007FF19000000   16777216
0                                        INVALID          000007FF1A000000   16777216
0                                        INVALID          000007FF1B000000   16777216
0                                        INVALID          000007FF1C000000   16777216
0                                        INVALID          000007FF1D000000   16777216
0                                        INVALID          000007FF1E000000   16777216
0                                        INVALID          000007FF1F000000   16777216
0                                        INVALID          000007FF20000000   16777216
0                                        INVALID          000007FF21000000   16777216
0                                        INVALID          000007FF22000000   16777216
0                                        INVALID          000007FF23000000   16777216
KEEP buffer cache                        ALLOC            000007FF24000000   16777216
KEEP buffer cache                        ALLOC            000007FF25000000   16777216
KEEP buffer cache                        ALLOC            000007FF26000000   16777216
KEEP buffer cache                        ALLOC            000007FF27000000   16777216
KEEP buffer cache                        ALLOC            000007FF28000000   16777216
KEEP buffer cache                        ALLOC            000007FF29000000   16777216
KEEP buffer cache                        ALLOC            000007FF2A000000   16777216
KEEP buffer cache                        ALLOC            000007FF2B000000   16777216
KEEP buffer cache                        ALLOC            000007FF2C000000   16777216
KEEP buffer cache                        ALLOC            000007FF2D000000   16777216
KEEP buffer cache                        ALLOC            000007FF2E000000   16777216
KEEP buffer cache                        ALLOC            000007FF2F000000   16777216
KEEP buffer cache                        ALLOC            000007FF30000000   16777216
KEEP buffer cache                        ALLOC            000007FF31000000   16777216
KEEP buffer cache                        ALLOC            000007FF32000000   16777216
KEEP buffer cache                        ALLOC            000007FF33000000   16777216
KEEP buffer cache                        ALLOC            000007FF34000000   16777216
streams pool                             ALLOC            000007FF35000000   16777216
streams pool                             ALLOC            000007FF36000000   16777216
java pool                                ALLOC            000007FF37000000   16777216
large pool                               ALLOC            000007FF38000000   16777216
shared pool                              ALLOC            000007FF39000000   16777216
shared pool                              ALLOC            000007FF3A000000   16777216
shared pool                              ALLOC            000007FF3B000000   16777216
shared pool                              ALLOC            000007FF3C000000   16777216
shared pool                              ALLOC            000007FF3D000000   16777216
shared pool                              ALLOC            000007FF3E000000   16777216
shared pool                              ALLOC            000007FF3F000000   16777216
shared pool                              ALLOC            000007FF40000000   16777216
shared pool                              ALLOC            000007FF41000000   16777216
shared pool                              ALLOC            000007FF42000000   16777216
shared pool                              ALLOC            000007FF43000000   16777216
shared pool                              ALLOC            000007FF44000000   16777216
shared pool                              ALLOC            000007FF45000000   16777216
shared pool                              ALLOC            000007FF46000000   16777216
shared pool                              ALLOC            000007FF47000000   16777216
shared pool                              ALLOC            000007FF48000000   16777216
shared pool                              ALLOC            000007FF49000000   16777216
shared pool                              ALLOC            000007FF4A000000   16777216
shared pool                              ALLOC            000007FF4B000000   16777216
shared pool                              ALLOC            000007FF4C000000   16777216
shared pool                              ALLOC            000007FF4D000000   16777216
shared pool                              ALLOC            000007FF4E000000   16777216
shared pool                              ALLOC            000007FF4F000000   16777216
shared pool                              ALLOC            000007FF50000000   16777216
shared pool                              ALLOC            000007FF51000000   16777216
shared pool                              ALLOC            000007FF52000000   16777216
shared pool                              ALLOC            000007FF53000000   16777216
shared pool                              ALLOC            000007FF54000000   16777216
shared pool                              ALLOC            000007FF55000000   16777216
shared pool                              ALLOC            000007FF56000000   16777216

87 rows selected.

SQL>