oracle常用傻瓜問題1000問(之一)
作者: ccbzzp
大家在應用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下查詢磁盤競爭狀況命令?
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. oracle的interal用戶要口令?
修改 sqlnet.ora
sqlnet.authentication_services=(nts)
40. 出現java.exe的解決辦法?
一般是將oracleorahomexihttpserver改成手工啟動可以的
x是8或9
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;
如有問題歡迎大家一起探討!
待續…