Oracle1000问Word文档下载推荐.docx
《Oracle1000问Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Oracle1000问Word文档下载推荐.docx(101页珍藏版)》请在冰豆网上搜索。
TNSforSolaris:
Ve
rsion9.0.1.0.0-Production
NLSRTLVersion9.0.1.0.0-Production
8.SVRMGR什么意思?
svrmgrl,ServerManager9i下没有,已经改为用SQLPLUS了
sqlplus/nolog变为归档日志型的
9.请问如何分辨某个用户是从哪台机器登陆ORACLE的?
SELECTmachine,terminalFROMV$SESSION;
10.用什么语句查询字段呢?
desctable_name可以查询表的结构
selectfield_name,.
..from...可以查询字段的值
select*fromall_ta
bleswheretable_namelike'
%'
select*fromall_tab_columnswh
eretable_name='
?
'
11.怎样得到触发器、过程、函数的创建脚本?
descuser_source
user_triggers
12.怎样计算一个表占用的空间的大小?
selectowner,table_name,NUM_ROWS,
EMPTY_BLOCKS,LAST_ANALYZED,
WS,BLOCKS*AAA/1024/1024"
SizeM"
,
fromdba_tables
wheretable_name='
T_BASE_FUNC'
;
Here:
AAAistheva
lueofdb_block_size;
XXXisthetablenam
eyouwanttocheck
13.如何查看最大会话数?
SELECT*FROMV$PARAMETERWHERE
NAMELIKE'
proc%'
showparameterprocesses
NAMETYPEVALUE
--------------------
--------------------------
---------------------------
aq_tm_processesinteger1
db_writer_processesinteger1
job_queue_processesinteger4
log_archive_max_processesinteger1
processesinteger200
这里为200个用户。
Select*fromv$license;
其中sessions_highwater纪录曾经到达的最大会话数
14.如何查看系统被锁的事务时间?
select*fromv$locked_object;
15.如何以archivelog的方式运行oracle?
init.ora
log_archive_start=true
RESTARTDATABASE
16.怎么获取有哪些用户在使用数据库?
selectusernamefromv$session;
17.数据表中的字段最大数是多少?
表或视图中的最大列数为1000
18.怎样查得数据库的SID?
selectnamefromv$database;
也可以直接查看init.ora文件
19.如何在Oracle服务器上通过SQLPLUS查看本机IP地址?
selectsys_context('
userenv'
'
ip_address'
)fromdual;
如果是登陆本机数据库,只能返回127.0.0.1
20.UNIX下怎么调整数据库的时间?
su-root
date-u08010000
21.在ORACLETABLE中如何抓取MEMO类型栏为空的资料记录?
selectremarkfromo
ms_flowrecwheretrim('
'
fr
omremark)isnotnull;
22.如何用BBB表的资料去更新AAA表的数据(有关联的字段)
UPDATEAAASETBNS_SNM=(SELECTB
WHEREBBB.DPT_NOISNOTNULL;
NS_SNMFROMBBBWHEREAAA.DPT_NO=BBB.DPT_NO)
23.P4计算机安装方法
将SYMCJIT.DLL改为SYSMCJIT.OLD
24.如何查询SERVER是不是OPS?
SELECT*FROMV$OPTION;
如果PARALLELSERVER=TRUE则有OPS能
25.如何查询每个用户的权限?
SELECT*FROMDBA_SYS_PRIVS;
26.如何将表移动表空间?
ALTERTABLETABLE_NAMEMOVETABLESPACE_NAME;
27.如何将索引移动表空间?
ALTERINDEXINDEX_NAMEREBUILDTABLESPACETABLESPACE_NAME;
28.在LINUX,UNIX下如何启动DBASTUDIO?
OEMAPPDBASTUDIO
29.查询锁的状况的对象有?
V$LOCK,V$LOCKED_OBJECT,V$SESSION,V$SQLAREA,V$PROCESS;
查询锁的表的方法:
SELECTS.SIDSESSION
Row-S(SS)'
,3,'
Row-XTO_CHAR(LMODE))MODE_HEL3,'
Row-X(SX)'
,4,'
Sha
CHAR(REQUEST))MODE_REQU
OBJECT_TYPE||'
)'
,S.TYPE
SYS.DBA_OBJECTSO,V$SES
_ID,S.USERNAME,DECODE(LMOD
(SX)'
Share'
,5,'
S/Row
D,DECODE(REQUEST,0,'
None'
re'
S/Row-X(SSX)'
,6,
ESTED,O.OWNER||'
.'
||O.OBJEC
LOCK_TYPE,L.ID1LOCK_ID1,
SIONSWHEREL.SID=S.SIDA
E,0,'
,1,'
Null'
,2,
-X(SSX)'
,6,'
Exclusive'
,2,'
,TO_
T_NAME||'
('
||O.
L.ID2LOCK_ID2FROMV$LOCKL,
NDL.ID1=O.OBJECT_ID;
30.如何解锁?
V$SESSION
ALTERSYSTEMKILLSESSION‘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*FROMUSER_OBJECTS;
SELECT*FROMDBA_SEGMENTS;
35.如何获取错误信息?
SELECT*FROMUSER_ERRORS;
36.如何获取链接状况?
SELECT*FROMDBA_DB_LINKS;
37.查看数据库字符状况?
SELECT*FROMNLS_DATABASE_PARAMETERS;
SELECT*FROMV$NLS_PARAMETERS;
38.查询表空间信息?
SELECT*FROMDBA_DATA_FILES;
39.ORACLE的INTERAL用户要口令?
修改SQLNET.ORA
SQLNET.AUTHENTICATION_SERVICES=(NTS)
40.出现JAVA.EXE的解决办法?
一般是将ORACLEOR
AHOMEXIHTTPSERVER改成手工启
动可以的,X是8或9
41.如何给表、列加注释?
commentontable表is'
表注释'
注释已创建。
commentoncolumn表.列is'
列注释'
select*fromuser_tab_commentswherecommentsisnot
null;
42.如何查看各个表空间占用磁盘情况?
coltablespaceformata20
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 剩余百分比
fromdba_free_spacea,dba_data_filesb
wherea.file_id=b.file_id
groupbyb.tablespace_name,b.file_id,b.bytesorderbyb.file_id;
43.如把ORACLE设置为MTS或专用模式?
#dispatchers="
(PROTOCOL=TCP)(SERVICE=SIDXD"
加上就是MTS,注释就是专用模式,SID是指你的实例名。
44.如何才能得知系统当前的SCN号?
selectmax(ktuxescnw
*power(2,32)+ktuxescnb)
fromx$ktuxe;
45.请问如何在ORACLE中取毫秒?
9i之前不支持,9i开始有timestamp。
9i可以用selectsystimestampfromdual;
46.如何在字符串里加回车?
select'
Welcometovisit'
||chr(10)||'
www.CSD
N.NET'
fromdual;
47.中文是如何排序的?
Oracle9i之前,中文是按照二进制编码进行排序的。
在oracle9i中新增了按照拼音、部首、笔画排序功能。
设置NLS_SORT值:
SCHINESE_RADICAL_M
按照部首(第一顺序)、笔划(第二顺序)排序
SCHINESE_STROKE_M按照笔划(第一顺序)、部首(第二顺序)排序
SCHINESE_PINYIN_M按照拼音排序
48.Oracle8i中对象名可以用中文吗?
可以
49.如何改变WIN中SQL*Plus启动选项?
SQL*PLUS自身的选项设置我们可以在$ORACLE_HOME/sqlplus/admin/glogin.sql中设置。
50.怎样修改oracel数据库的默认日期?
altersessionset
nls_date_format='
yyyymmddhh
24miss'
或可以在init.ora中加上一行nl
s_date_format='
yyyymmddhh24miss'
51.如何将小表放入keep池中?
altertablexxxstor
age(buffer_poolkeep);
52.如何检查是否安装了某个patch?
checkthatoraInventory
53.如何使select语句使查询结果自动生成序号?
selectrownum,COLfromtable;
54.如何知道数据裤中某个表所在的tablespace?
selecttablespace_namefromuser_tableswheretable_name='
TEST'
select*fromuser_tables中有个字段TABLESPACE_NAME,(oracle);
select*fromdba_segmentswhere…;
55.怎么可以快速做一个和原表一样的备份表?
createtablenew_tableas(select*fromold_table);
55.怎么在sqlplus下修改procedure?
selectline,trim(text)tfromuser_sourcewherename=’A’orderbyline
56.怎样解除PROCEDURE被意外锁定?
altersystemkillsessionidlsession,
把那个session给杀掉,不过你要先查出她的
或把该过程重新改个名字就可以了。
57.SQLReference是个什么东西?
是一本sql的使用手册,包括语法、函数等等,Oracle官方网站的文档中心提供下载。
58.如何查看数据库的状态?
UNIX下
ps-ef|grepora
Windows下
看服务是否起来;
是否可以连上数据库
59.请问如何修改一张表的主键?
altertableaaadropconstraintaaa_key;
altertableaaaaddconstraintaaa_keyprimarykey(a1,b1);
60.改变数据文件的大小?
用ALTERDATABASE....DATAFILE....;
手工改变数据文件的大小,对于原来的数据文件有没有损害。
61.怎样查看ORACLE中有哪些程序在运行之中?
查看v$sessions表
62.怎么可以看到数据库有多少个tablespace?
select*fromdba_tablespaces;
63.如何修改oracle数据库的用户连接数?
修改initSID.ora,将process加大,重启数据库。
64.如何查出一条记录的最后更新时间?
可以用logminer察看
65.如何在PL/SQL中读写文件?
UTL_FILE包允许用户通过PL/SQL读写操作系统文件。
66.怎样把“&
”放入一条记录中?
insertintoavalues(translate('
at{&
}t'
,'
at{}'
at'
));
67.EXP 如何加QUERY参数?
EXPUSER/PASSFILE=A.DMPTABLES(BSEMPMS)QUERY='
WHEREEMP_NO=\'
S09394\'
\"
﹔
68.关于oracle8i支持简体和繁体的字符集问题?
ZHS16GBK可以支持
69.DataGuard是什么软件?
就是Standby的换代产品
70.如何创建SPFILE?
connect/assysdba
createpfilefromspfile;
CREATESPFILEFROM
PFILE='
E:
\ora9i\admin\eygle\pfile\init.ora'
文件已创建。
CREATESPFILE='
\ora9i\database\SPFILEEYGLE.ORA'
FROM
71.内核参数的应用?
shmmax
含义:
这个设置并不决定究竟Or
了最多可以使用的内存数目。
这个设置也
acle数据库或者操作系统使用多少物理内存,只决定
不影响操作系统的内核资源。
设置方法:
0.5*物理内存
例子:
Setshmsys:
shminfo_sh
mmax=10485760
shmmin
共享内存的最小大小。
一般都设置成为1。
shminfo_shmmin=1:
shmmni
系统中共享内存段的最大个数。
shminfo_shmmni=100
shmseg
每个用户进程可以使用的最多的共享内存段的数目。
shminfo_shmseg=20:
semmni
系统中semaphoreidentifierer的最大个数。
把这个变量的值设置
大的那个processes的那个值加10。
为这个系统上的所有Oracle的实例的init.ora中的最
Setsemsys:
seminfo_semmni=100
semmns
系统中emaphores的最大个数。
这个值可以通过以下
的processes的值的总和(除去最大的Pro
Oracle实例的个数。
方式计算得到:
各个Oracle实例的initSID.ora里边
cesses参数)+最大的那个Processes×
2+10×
seminfo_semmns=200
semmsl
一个set中semaphore的最大个数。
设置成
为10+所有Oracle实例的InitSI
D.ora中最大的Processes的值。
seminfo_semmsl=-200
72.怎样查看哪些用户拥有SYSDBA、SYSOPER权限?
connsys/change_on_install
select*fromV_$PWFILE_USERS;
73.如何单独备份一个或多个表?
exp用户/密码tables=(表1,…,表2)
74.如何单独备份一个或多个用户?
expsystem/managerowner=(用户1,用户2,…,用户n)file=导出文件
75.如何对CLOB字段进行全文检索?
SELECT*FROMAWHEREdbms_lob.instr(a.a,'
K'
,1,1)>
0;
76.如何显示当前连接用户?
SHOWUSER
77.如何查看数据文件放置的路径?
colfile_nameformata50
tablespace_name,file_id,bytes/1024/1024,file_namefrom
dba_data_filesorderbyfile_id;
78.如何查看现有回滚段及其状态?
colsegmentformata30
SELECT
SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS
FROMDBA_ROLLBACK_SEGS
79.如何改变一个字段初始定义的Check范围?
altertablexxxdropconstraintconstraint_name;
之后再创建新约束:
altertablexxxaddconstraintconstraint_namecheck();
80.Oracle常用系统文件有哪些?
通过以下视图显示这些文件信息:
v$
v$parameter;
database,v$datafile,v$logfilev$controlfile
81.内连接INNERJOIN?
selecta.*frombsempmsa,bsdpt
msbwherea.dpt_no=b.dpt_no;
82.如何外连接?
selecta.*frombsempmsa,b
sdptmsbwherea.dpt_no=b.dpt_no(+);
sdp