日期:2014-05-16  浏览次数:20440 次

Oracle优化与经验(二)
oracle 技巧集锦
一.常见问题
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下