Oracle点滴收集

来源:互联网 发布:徐州专业拍摄淘宝图片 编辑:程序博客网 时间:2024/05/12 08:42

1. Oracle安装完成后的初始口令?
  internal/oracle
  sys/change_on_install
  system/manager
  scott/tiger
  sysman/oem_temp

2. ORACLE9IAS WEB CACHE
的初始默认用户和密码?
  administrator/administrator

3. oracle 8.0.5
怎幺创建数据库?
  用orainst。如果有motif界面,可以用orainst /m

4. oracle 8.1.7
怎幺创建数据库?
  dbassist

5. oracle 9i
怎幺创建数据库?
  dbca

6. oracle
中的裸设备指的是什幺?
 裸设备就是绕过文件系统直接访问的储存空间

7. oracle
如何区分 64-bit/32bit 版本???
$ sqlplus '/ AS SYSDBA'
SQL*Plus: Release 9.0.1.0.0 - Production on Mon Jul 14 17:01:09 2003
(c) Copyright 2001 Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
PL/SQL Release 9.0.1.0.0 - Production
CORE 9.0.1.0.0 Production
TNS for Solaris: Version 9.0.1.0.0 - Production
NLSRTL Version 9.0.1.0.0 - Production
SQL>

8. SVRMGR
什幺意思?
svrmgrl
Server Manager.

9i
下没有,已经改为用SQLPLUS
sqlplus /nolog
变为归档日志型的

9.
请问如何分辨某个用户是从哪台机器登陆ORACLE?
SELECT machine , terminal FROM V$SESSION;

10. 用什幺语句查询字段呢?
desc table_name
可以查询表的结构
select field_name,... from ...
可以查询字段的值
select * from all_tables where table_name like '%'
select * from all_tab_columns where table_name='??'

11. 怎样得到触发器、过程、函数的创建脚本?
desc user_source
user_triggers

12. 怎样计算一个表占用的空间的大小?
select owner,table_name,
NUM_ROWS,
BLOCKS*AAA/1024/1024 "Size M",
EMPTY_BLOCKS,
LAST_ANALYZED
from dba_tables
where table_name='XXX';

Here: AAA is the value of db_block_size ;
XXX is the table name you want to check

13. 如何查看最大会话数?
SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%';
SQL>
SQL> show parameter processes

NAME TYPE VALUE
------------------------------------ ------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 4
log_archive_max_processes integer 1
processes integer 200

这里为200个用户。

select * from v$license;
其中sessions_highwater纪录曾经到达的最大会话数

14. 如何查看系统被锁的事务时间?
select * from v$locked_object ;

15. 如何以archivelog的方式运行oracle
init.ora
log_archive_start = true
RESTART DATABASE

16. 怎幺获取有哪些用户在使用数据库
select username from v$session;

17. 数据表中的字段最大数是多少?
表或视图中的最大列数为 1000

18. 怎样查得数据库的SID ?
select name from v$database;
也可以直接查看 init.ora文件

19. 如何在Oracle服务器上通过SQLPLUS查看本机IP地址 ?
select sys_context('userenv','ip_address') from dual;
如果是登陆本机数据库,只能返回127.0.0.1,呵呵

20. unix 下怎幺调整数据库的时间?
su -root
date -u 08010000

21. ORACLE TABLE中如何抓取MEMO类型字段为空的资料记录?
select remark from oms_flowrec where trim(' ' from remark) is not null ;

22. 如何用BBB表的资料去更新AAA表的资料(有关联的字段)
UPDATE AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE BBB.DPT_NO IS NOT NULL;

23. P4计算机安装方法
SYMCJIT.DLL改为SYSMCJIT.OLD

24. 何查询SERVER是不是OPS?
  SELECT * FROM V$OPTION;
  如果PARALLEL SERVER=TRUE则有OPS

25. 何查询每个用户的权限?
  SELECT * FROM DBA_SYS_PRIVS;

26. 如何将表移动表空间?
 ALTER TABLE TABLE_NAME MOVE TABLESPACE_NAME;

27. 如何将索引移动表空间?
  ALTER INDEX INDEX_NAME REBUILD TABLESPACE TABLESPACE_NAME;

28. LINUX,UNIX下如何激活DBA STUDIO?
  OEMAPP DBASTUDIO

29. 查询锁的状况的对象有?
  V$LOCK, V$LOCKED_OBJECT, V$SESSION, V$SQLAREA, V$PROCESS ;
  查询锁的表的方法:
SELECT S.SID SESSION_ID, S.USERNAME, DECODE(LMODE, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(REQUEST)) MODE_REQUESTED, O.OWNER||'.'||O.OBJECT_NAME||' ('||O.OBJECT_TYPE||')', S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2 FROM V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S WHERE L.SID = S.SID AND L.ID1 = O.OBJECT_ID ;

30. 如何解锁?
  ALTER SYSTEM KILL SESSION ‘SID,SERIR#;

31. SQLPLUS下如何修改编辑器?

DEFINE _EDITOR="<编辑器的完整路经>" -- 必须加上双引号
来定义新的编辑器,也可以把这个写在$ORACLE_HOME/sqlplus/admin/glogin.sql里面使它永久有效。

32. ORACLE产生随机函数是?
  DBMS_RANDOM.RANDOM

33. LINUX下查询磁盘竞争状况命令?
  Sar -d

33. LINUX下查询CPU竞争状况命令?
  sar  -r

34. 查询当前用户对象?
  SELECT * FROM USER_OBJECTS;

  SELECT * FROM DBA_SEGMENTS;

35. 如何获取错误信息?
  SELECT * FROM USER_ERRORS;

36. 如何获取链接状况?
  SELECT * FROM DBA_DB_LINKS;

37. 查看数据库字符状况?
  SELECT * FROM NLS_DATABASE_PARAMETERS;
  SELECT * FROM V$NLS_PARAMETERS;

38. 查询表空间信息?

SELECT * FROM DBA_DATA_FILES;

39. ORACLEINTERAL用户要口令?
  修改 SQLNET.ORA
  SQLNET.AUTHENTICATION_SERVICES=(NTS)

40. 出现JAVA.EXE的解决办法?
  一般是将ORACLEORAHOMEXIHTTPSERVER改成手工激活可以的
  X89

41. 如何给表、列加注释?
SQL>comment on table
is '表注释';
注释已创建。
SQL>comment on column
. is '列注释';
注释已创建。
SQL> select * from user_tab_comments where comments is not null;

42. 如何查看各个表空间占用磁盘情况?
SQL> col tablespace format a20
SQL> select b.file_id
文件ID, b.tablespace_name 表空间名,
b.bytes
字节数,
(b.bytes-sum(nvl(a.bytes,0)))
已使用,
sum(nvl(a.bytes,0))
 
剩余空间,
sum(nvl(a.bytes,0))/(b.bytes)*100
剩余百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id

43. 如把ORACLE设置为MTS或专用模式?
#dispatchers="(PROTOCOL=TCP) (SERVICE=SIDXDB)"
加上就是MTS,注释就是专用模式,SID是指你的实例名。

44. 如何才能得知系统当前的SCN ?
select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;

45. 请问如何在ORACLE中取毫秒?
9i
之前不支持,9i开始有timestamp.
9i
可以用select systimestamp from dual;

46. 如何在字符串里加回车?
  select 'Welcome to visit'||chr(10)||'www.CSDN.NET' from dual ;

47. 中文是如何排序的?
  Oracle9i之前,中文是按照二进制编码进行排序的。
  在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT
  SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序
  SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序
  SCHINESE_PINYIN_M 按照拼音排序

48. Oracle8i中对象名可以用中文吗?
  可以

49. 如何改变WINSQL*Plus启动选项?
SQL*PLUS
自身的选项设置我们可以在$ORACLE_HOME/sqlplus/admin/glogin.sql中设置。

50. 怎样修改oracel数据库的默认日期?
  alter session set nls_date_format='yyyymmddhh24miss';
  OR
  可以在init.ora中加上一行
nls_date_format='yyyymmddhh24miss'

51. 如何将小表放入keep池中?
  alter table xxx storage(buffer_pool keep);

52. 如何检查是否安装了某个patch?
  check that oraInventory

53. 如何使select语句使查询结果自动生成序号?
select rownum,COL from table;

54. 如何知道数据裤中某个表所在的tablespace?
select tablespace_name from user_tables where table_name='TEST';
select * from user_tables
中有个字段TABLESPACE_NAME,(oracle;
select * from dba_segments where
;

55. 怎幺可以快速做一个和原表一样的备份表?
  create table new_table as (select * from old_table);

55. 怎幺在sqlplus下修改procedure?
 select line,trim(text) t from user_source where name =A order by line;

56. 怎样解除PROCEDURE被意外锁定?
  alter system kill session ,把那个session给杀掉,不过你要先查出她的session id

or
  把该过程重新改个名字就可以了。

57. SQL Reference是个什幺东西?
  是一本sql的使用手册,包括语法、函数等等,oracle官方网站的文档中心有下载.

58. 如何查看数据库的状态?
  unix
ps -ef | grep ora
windows

看服务是否起来
是否可以连上数据库

59. 请问如何修改一张表的主键?

alter table aaa
drop constraint aaa_key ;
alter table aaa
add constraint aaa_key primary key(a1,b1) ;

60. 改变数据文件的大小?
ALTER DATABASE .... DATAFILE .... ;
手工改变数据文件的大小,对于原来的 数据文件有没有损害。

61. 怎样查看ORACLE中有哪些程序在运行之中?
  查看v$sessions

62. 怎幺可以看到数据库有多少个tablespace?
select
 *  from dba_tablespaces;

63. 如何修改oracle数据库的用户连接数?
修改initSID.ora,将process加大,重启数据库.

64. 如何查出一条记录的最后更新时间?
 可以用logminer 察看

65. 如何在PL/SQL中读写文件?
UTL_FILE
包允许用户通过PL/SQL读写操作系统文件。

66. 怎样把“&”放入一条记录中?
insert into a values (translate ('at{&}t','at{}','at'));

67. EXP 如何加QUERY参数?
EXP USER/PASS FILE=A.DMP TABLES(BSEMPMS)
QUERY='"WHERE EMP_NO=/'S09394/'/"

68. 关于oracle8i支持简体和繁体的字符集问题?
  ZHS16GBK可以支

69. Data Guard是什幺软件?
就是Standby的换代产品

70. 如何创建SPFILE?

SQL> connect / as sysdba
SQL> select * from v$version;
SQL> create pfile from spfile;
SQL> CREATE SPFILE FROM PFILE='E:/ora9i/admin/eygle/pfile/init.ora';

文件已创建。
SQL> CREATE SPFILE='E:/ora9i/database/SPFILEEYGLE.ORA' FROM PFILE='E:/ora9i/admin/eygle/pfile/init.ora';
文件已创建。

71. 内核参数的应用?
shmmax
  含义:这个设置并不决定究竟Oracle数据库或者操作系统使用多少物理内存,只决定了最多可以使用的内存数目。这个设置也不影响操作系统的内核资源。
  设置方法:0.5*物理内存
  例子:Set shmsys:shminfo_shmmax=10485760
  shmmin
  含义:共享内存的最小大小。
  设置方法:一般都设置成为1
  例子:Set shmsys:shminfo_shmmin=1
  shmmni
  含义:系统中共享内存段的最大个数。
  例子:Set shmsys:shminfo_shmmni=100
  shmseg
  含义:每个用户进程可以使用的最多的共享内存段的数目。
  例子:Set shmsys:shminfo_shmseg=20
  semmni
  含义:系统中semaphore identifierer的最大个数。
  设置方法:把这个变量的值设置为这个系统上的所有Oracle的实例的init.ora中的最大的那个processes的那个值加10
  例子:Set semsys:seminfo_semmni=100
  semmns
  含义:系统中emaphores的最大个数。
  设置方法:这个值可以通过以下方式计算得到:各个Oracle实例的initSID.ora里边的processes的值的总和(除去最大的Processes参数)+最大的那个Processes×210×Oracle实例的个数。
  例子:Set semsys:seminfo_semmns=200
  semmsl:
  含义:一个setsemaphore的最大个数。
  设置方法:设置成为10+所有Oracle实例的InitSID.ora中最大的Processes的值。
  例子:Set semsys:seminfo_semmsl=-200

72. 怎样查看哪些用户拥有SYSDBASYSOPER权限?
SQL>conn sys/change_on_install
SQL>select * from V_$PWFILE_USERS;

73. 如何单独备份一个或多个表?
exp
用户/密码 tables=(1,,2)

74. 如何单独备份一个或多个用户?
 exp system/manager owner=(用户1,用户2,,用户n) file=导出文件

75. 如何对CLOB字段进行全文检索?
SELECT * FROM A WHERE dbms_lob.instr(a.a,'K',1,1)>0;

76. 如何显示当前连接用户?
  SHOW USER

77. 如何查看数据文件放置的路径 ?
col file_name format a50
SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;

78. 如何查看现有回滚段及其状态 ?
SQL> col segment format a30
SQL> SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS

79. 如何改变一个字段初始定义的Check范围?
SQL> alter table xxx drop constraint constraint_name;
之后再创建新约束:
SQL> alter table xxx add constraint constraint_name check();

80. Oracle常用系统文件有哪些?
通过以下视图显示这些文件信息:v$database,v$datafile,v$logfile v$controlfile v$parameter;

 
81.
内连接INNER JOIN?
Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no;

82. 如何外连接?
 Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no(+);
Select a.* from bsempms a,bsdptms b wherea.dpt_no(+)=b.dpt_no;

83. 如何执行脚本SQL文件?
 SQL>@$PATH/filename.sql;

84. 如何快速清空一个大表?
SQL>truncate table table_name;

85. 如何查有多少个数据库实例?
 SQL>SELECT * FROM V$INSTANCE;

86. 如何查询数据库有多少表?
SQL>select * from all_tables;

87. 如何测试SQL语句执行所用的时间?
SQL>set timing on ;
 SQL>select * from tablename;

88. CHR()的反函数是?
  ASCII()
  SELECT CHAR(65) FROM DUAL; 
  SELECT ASCII('A') FROM DUAL;

89. 字符串的连接
  SELECT CONCAT(COL1,COL2) FROM TABLE ;
  SELECT COL1||COL2 FROM TABLE ;

90. 怎幺把select出来的结果导到一个文本文件中?
  SQL>SPOOL C:/ABCD.TXT;
  SQL>select * from table;
  SQL >spool off;

91. 怎样估算SQL执行的I/O ?
  SQL>SET AUTOTRACE ON ;
  SQL>SELECT * FROM TABLE;
  OR
  SQL>SELECT * FROM v$filestat ;
可以查看IO

92. 如何在sqlplus下改变字段大小?
  alter table table_name modify (field_name varchar2(100));
  改大行,改小不行(除非都是空的)

93. 如何查询某天的数据?
  select * from table_name where trunc(日期字段)to_date('2003-05-02','yyyy-mm-dd');

94. sql 语句如何插入全年日期?
create table BSYEAR (d date);
insert into BSYEAR
select to_date('20030101','yyyymmdd')+rownum-1
from all_objects
where rownum <= to_char(to_date('20031231','yyyymmdd'),'ddd');  

95. 如果修改表名?

 alter table old_table_name rename to new_table_name;

96. 如何取得命令的返回状态值?
sqlcode=0

97. 如何知道用户拥有的权限?
  SELECT * FROM dba_sys_privs ;

98. 从网上下载的ORACLE9I与市场上卖的标准版有什幺区别?
从功能上说没有区别,只不过oracle公司有明文规定;从网站上下载的oracle产品不得用于 商业用途,否则侵权。

99. 怎样判断数据库是运行在归档模式下还是运行在非归档模式下?
进入dbastudio,历程--〉数据库---〉归档查看。

100. sql>startup pfileifile,spfiled有什幺区别?
pfile
就是Oracle传统的初始化参数文件,文本格式的。
ifile
类似于c语言里的include,用于把另一个文件引入
spfile
9i里新增的并且是默认的参数文件,二进制格式
startup
后应该只可接pfile

101. 如何搜索出前N条记录?
SELECT * FROM empLOYEE WHERE ROWNUM < n
ORDER BY empno;

102. 如何知道机器上的Oracle支持多少并发用户数?
 SQL>conn internal ;
SQL>show parameter processes ;

103. db_block_size可以修改吗?
   一般不可以﹐不建议这样做的。

104. 如何统计两个表的记录总数?
  select (select count(id) from aa)+(select count(id) from bb) 总数 from dual;

105. 怎样用Sql语句实现查找一列中第N大值?
select * from
(select t.*,dense_rank() over (order by sal) rank from employee)
where rank = N;

106. 如何在给现有的日期加上2年?(
  select add_months(sysdate,24) from dual;

107. USED_UBLK为负值表示什幺意思?
It is "harmless".

108. Connect string是指什幺?
应该是tnsnames.ora中的服务名后面的内容

109. 怎样扩大REDO LOG的大小?

 建立一个临时的redolog组,然后切换日志,删除以前的日志,建立新的日志。

110. tablespace 是否不能大于4G?
  没有限制.

111. 返回大于等于N的最小整数值?
  SELECT CEIL(N) FROM DUAL;

112. 返回小于等于N的最小整数值?
  SELECT FLOOR(N) FROM DUAL;

113. 返回当前月的最后一天?
   SELECT LAST_DAY(SYSDATE) FROM DUAL;

114. 如何不同用户间数据导入?
 IMP SYSTEM/MANAGER FILE=AA.DMP FROMUSER=USER_OLD  TOUSER=USER_NEW ROWS=Y INDEXES=Y ;  

115. 如何找数据库表的主键字段的名称?
  SQL>SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and  table_name='TABLE_NAME';

116.
两个结果集互加的函数?

  SQL>SELECT * FROM BSEMPMS_OLD INTERSECT SELECT * FROM BSEMPMS_NEW;
 SQL>SELECT * FROM BSEMPMS_OLD UNION SELECT * FROM BSEMPMS_NEW;
 SQL>SELECT * FROM BSEMPMS_OLD UNION ALL SELECT * FROM BSEMPMS_NEW;

117.
两个结果集互减的函数?
SQL>SELECT * FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW;

118.
如何配置Sequence?

  建sequence seq_custid
 create sequence seq_custid start 1 incrememt by 1;
 建表时:
 create table cust
 { cust_id smallint not null,
 ...}
 insert :
 insert into table cust
 values( seq_cust.nextval, ...)

日期的各部分的常用的的写法
119>.
取时间点的年份的写法:
   SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;

120>.取时间点的月份的写法:
   SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;

121>.取时间点的日的写法:
   SELECT TO_CHAR(SYSDATE,'DD') FROM DUAL;

122>.取时间点的时的写法:
   SELECT TO_CHAR(SYSDATE,'HH24') FROM DUAL;

123>.取时间点的分的写法:
   SELECT TO_CHAR(SYSDATE,'MI') FROM DUAL;

124>.取时间点的秒的写法:
   SELECT TO_CHAR(SYSDATE,'SS') FROM DUAL;

125>.取时间点的日期的写法:
   SELECT TRUNC(SYSDATE) FROM DUAL;

126>.取时间点的时间的写法:
   SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') FROM DUAL;

127>.日期,时间形态变为字符形态
   SELECT TO_CHAR(SYSDATE) FROM DUAL;

128>.将字符串转换成日期或时间形态:
   SELECT TO_DATE('2003/08/01') FROM DUAL;

129>.返回参数的星期几的写法:
   SELECT TO_CHAR(SYSDATE,'D') FROM DUAL;

130>.返回参数一年中的第几天的写法:
   SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;

131>.返回午夜和参数中指定的时间值之间的秒数的写法:

SELECT TO_CHAR(SYSDATE,'SSSSS') FROM DUAL;

132>.返回参数中一年的第几周的写法:
   SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL;
虚拟字段

133. CURRVAL nextval
  为表创建序列
  CREATE SEQUENCE EMPSEQ ... ;
  SELECT empseq.currval FROM DUAL ;
  自动插入序列的数值
  INSERT INTO emp
 VALUES (empseq.nextval, 'LEWIS', 'CLERK',
7902, SYSDATE, 1200, NULL, 20) ;

134. ROWNUM
  按设定排序的行的序号
  SELECT * FROM emp WHERE ROWNUM < 10 ;

135. ROWID
  返回行的物理地址
  SELECT ROWID, ename FROM emp WHERE deptno = 20 ;

136. N秒转换为时分秒格式?
  set serverout on
  declare
  N number := 1000000;
  ret varchar2(100);
  begin
  ret := trunc(n/3600) || '小时' || to_char(to_date(mod(n,3600),'sssss'),'fmmi"分  "ss""') ;
  dbms_output.put_line(ret);
  end;

137. 如何查询做比较大的排序的进程?
  SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, a.sid, a.serial#,
  a.username, a.osuser, a.status
  FROM v$session a,v$sort_usage b
  WHERE a.saddr = b.session_addr
  ORDER BY b.tablespace, b.segfile#, b.segblk#, b.blocks ;

138. 如何查询做比较大的排序的进程的SQL语句?
  select /*+ ORDERED */ sql_text from v$sqltext a
  where a.hash_value = (
  select sql_hash_value from v$session b
  where b.sid = &sid and b.serial# = &serial)
  order by piece asc ;

139. 如何查找重复记录?
  SELECT * FROM TABLE_NAME
  WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
  WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);

140. 如何删除重复记录?
  DELETE FROM TABLE_NAME
  WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
  WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);

141. 如何快速编译所有视图?
  SQL >SPOOL VIEW1.SQL
  SQL >SELECT ALTER VIEW ||TNAME||
  COMPILE; FROM TAB;
  SQL >SPOOL OFF
  然后执行VIEW1.SQL即可。
  SQL >@VIEW1.SQL;

142. ORA-01555 SNAPSHOT TOO OLD的解决办法
  增加MINEXTENTS的值,增加区的大小,设置一个高的OPTIMAL值。

143. 事务要求的回滚段空间不够,表现为表空间用满(ORA-01560错误),回滚段扩展到达参数MAXEXTENTS的值(ORA-01628)的解决办法.
  向回滚段表空间添加文件或使已有的文件变大;增加MAXEXTENTS的值。

144. 如何加密ORACLE的存储过程?
  下列存储过程内容放在AA.SQL文件中
  create or replace procedure testCCB(i in number) as
  begin
  dbms_output.put_line('输入参数是'||to_char(i));
  end;

  SQL>wrap iname=a.sql;
  PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001
  Copyright (c) Oracle Corporation 1993, 2000. All Rights Reserved.
Processing AA.sql to AA.plb
  运行AA.plb
  SQL> @AA.plb ;

145. 如何监控事例的等待?
  select event,sum(decode(wait_Time,0,0,1)) "Prev",
  sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"
  from v$session_Wait
  group by event order by 4;

146. 如何回滚段的争用情况?
  select name, waits, gets, waits/gets "Ratio"
  from v$rollstat C, v$rollname D
  where C.usn = D.usn;

147. 如何监控表空间的 I/O 比例?
  select B.tablespace_name name,B.file_name "file",A.phyrds pyr,
  A.phyblkrd pbr,A.phywrts pyw, A.phyblkwrt pbw
  from v$filestat A, dba_data_files B
  where A.file# = B.file_id
  order by B.tablespace_name;

148. 如何监控文件系统的 I/O 比例?
  select substr(C.file#,1,2) "#", substr(C.name,1,30) "Name",
  C.status, C.bytes, D.phyrds, D.phywrts
  from v$datafile C, v$filestat D
  where C.file# = D.file#;

149. 如何在某个用户下找所有的索引?
  select user_indexes.table_name, user_indexes.index_name,uniqueness, column_name
  from user_ind_columns, user_indexes
  where user_ind_columns.index_name = user_indexes.index_name
  and user_ind_columns.table_name = user_indexes.table_name
  order by user_indexes.table_type, user_indexes.table_name,
  user_indexes.index_name, column_position;

150. 如何监控 SGA 的命中率?
  select a.value + b.value "logical_reads", c.value "phys_reads",
  round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO"
  from v$sysstat a, v$sysstat b, v$sysstat c
  where a.statistic# = 38 and b.statistic# = 39
  and c.statistic# = 40;

151. 如何监控 SGA 中字典缓冲区的命中率?
  select parameter, gets,Getmisses , getmisses/(gets+getmisses)*100 "miss ratio",
  (1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 "Hit ratio"
  from v$rowcache
  where gets+getmisses <>0
  group by parameter, gets, getmisses;

152. 如何监控 SGA 中共享缓存区的命中率,应该小于1%
  select sum(pins) "Total Pins", sum(reloads) "Total Reloads",
  sum(reloads)/sum(pins) *100 libcache
  from v$librarycache;

  select sum(pinhits-reloads)/sum(pins) "hit radio",sum(reloads)/sum(pins)  "reload percent"
  from v$librarycache;

153. 如何显示所有数据库对象的类别和大小?
  select count(name) num_instances ,type ,sum(source_size) source_size ,
  sum(parsed_size) parsed_size ,sum(code_size) code_size ,sum(error_size)  error_size,
  sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size)  size_required

from dba_object_size
  group by type order by 2;

154. 监控 SGA 中重做日志缓存区的命中率,应该小于1%
  SELECT name, gets, misses, immediate_gets, immediate_misses,
  Decode(gets,0,0,misses/gets*100) ratio1,
  Decode(immediate_gets+immediate_misses,0,0,
  immediate_misses/(immediate_gets+immediate_misses)*100) ratio2
  FROM v$latch WHERE name IN ('redo allocation', 'redo copy');

155. 监控内存和硬盘的排序比率,最好使它小于 .10,增加 sort_area_size
  SELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts(disk)');


156.
如何监控当前数据库谁在运行什幺SQL语句?
  SELECT osuser, username, sql_text from v$session a, v$sqltext b
  where a.sql_address =b.address order by address, piece;

157. 如何监控字典缓冲区?
  SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE;
  SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM  V$ROWCACHE;
  SELECT SUM(PINS) "EXECUTIONS", SUM(RELOADS) "CACHE MISSES WHILE EXECUTING" FROM  V$LIBRARYCACHE;
  后者除以前者,此比率小于1%,接近0%为好。

  SELECT SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES"
  FROM V$ROWCACHE

158.
监控 MTS
  select busy/(busy+idle) "shared servers busy" from v$dispatcher;
  此值大于0.5时,参数需加大
  select sum(wait)/sum(totalq) "dispatcher waits" from v$queue where  type='dispatcher';
  select count(*) from v$dispatcher;
  select servers_highwater from v$mts;
  servers_highwater接近mts_max_servers时,参数需加大

159. 如何知道当前用户的ID?
  SQL>SHOW USER;
  OR
  SQL>select user from dual;

160. 如何查看碎片程度高的表?
  SELECT segment_name table_name , COUNT(*) extents
  FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM') GROUP BY segment_name
  HAVING COUNT(*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY segment_name);

162. 如何知道表在表空间中的存储情况?
  select segment_name,sum(bytes),count(*) ext_quan from dba_extents where
  tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_name;

163. 如何知道索引在表空间中的存储情况?
  select segment_name,count(*) from dba_extents where segment_type='INDEX' and owner='&owner'
  group by segment_name;

164、如何知道使用CPU多的用户session?
  11cpu used by this session

  select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 value
  from v$session a,v$process b,v$sesstat c
  where c.statistic#=11 and c.sid=a.sid and a.paddr=b.addr order by value desc;

165. 如何知道监听器日志文件?
8I为例
  $ORACLE_HOME/NETWORK/LOG/LISTENER.LOG

166. 如何知道监听器参数文件?
  以8I为例
  $ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA

167. 如何知道TNS 连接文件?
  以8I为例
  $ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA

168. 如何知道Sql*Net 环境文件?
  以8I为例
  $ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA

169. 如何知道警告日志文件?
  以8I为例
  $ORACLE_HOME/ADMIN/SID/BDUMP/SIDALRT.LOG

170. 如何知道基本结构?
  以8I为例
  $ORACLE_HOME/RDBMS/ADMIN/STANDARD.SQL

171. 如何知道建立数据字典视图?
  以8I为例
  $ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL

172. 如何知道建立审计用数据字典视图?
  以8I为例
  $ORACLE_HOME/RDBMS/ADMIN/CATAUDIT.SQL

173. 如何知道建立快照用数据字典视图?
  以8I为例
  $ORACLE_HOME/RDBMS/ADMIN/CATSNAP.SQL
174.
oracle里怎样用语句判断一个表是否存在

declare v_cnt  number;begin  select count(*) into v_cnt from user_tables   where table_name ='you_tab_name';  if v_cnt>0 then   dbms_output.put_line('该表存在!')  else   dbms_output.put_line('该表不存在或当前用户无权访问!')  end if;end;

 

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一岁半宝宝反复发烧39度怎么办 七岁发烧38度怎么办 小孩一直37度1怎么办 婴儿一直37度多怎么办 1岁半高烧39度怎么办 反复发烧39度多怎么办 孩子不爱喝水怎么办%3f 8岁儿童不爱喝水怎么办 儿子14岁了不爱说话怎么办 我孩子长得老慢怎么办 老公嫌你烦了怎么办 2岁宝宝吃饭不嚼怎么办 2岁宝宝挑食厌食怎么办 孩子不爱和家长交流怎么办 孩子发烧在医院查不出病因怎么办 宝宝乳牙长歪了怎么办 两岁宝宝不爱吃水果怎么办 两岁宝宝不吃水果怎么办 一岁的宝宝上火了怎么办 吃水果嘴唇肿了怎么办 二岁宝宝不爱吃饭怎么办 小婴儿便秘但不爱喝水怎么办 宝宝只吃水果不吃饭怎么办 一岁宝宝不喜欢吃水果怎么办 1岁宝宝不吃水果怎么办 一岁半宝宝吃水果拉肚子怎么办 大人发烧了怎么办如何退烧 怀孕后不爱吃水果怎么办 不敢吃水果了怕虫怎么办 宝宝发烧38度不出汗怎么办 1岁宝宝喜欢含饭怎么办 3岁宝宝喜欢含饭怎么办 孩子咳嗽发烧怎么办最有效 孩子咳嗽打哈切流鼻涕发烧怎么办 孩子香蕉吃多了怎么办 80多岁老人发烧怎么办 小孩香蕉吃多了怎么办 7个月宝宝缺钙怎么办 宝宝脖子被汗淹到红了脱皮怎么办? 小儿出汗多咳嗽怎么办吃什么 牛高烧不退怎么办最好