oracle傻瓜1000问.docx
《oracle傻瓜1000问.docx》由会员分享,可在线阅读,更多相关《oracle傻瓜1000问.docx(68页珍藏版)》请在冰豆网上搜索。
oracle傻瓜1000问
ORACLE常用傻瓜问题1000问
1.oracle安装完成后的初始口令?
internal/oracle
sys/change_on_install
system/manager
scott/tiger
sysman/oem_temp
2.orACLE9IASWEBCACHE的初始默认用户和密码?
administrator/administrator
3.oracle8.0.5怎么创建数据库?
用orainst。
如果有motif界面,可以用orainst/m
4.oracle8.1.7怎么创建数据库?
dbassist
5.oracle9i怎么创建数据库?
dbca
6.oracle中的裸设备指的是什么?
裸设备就是绕过文件系统直接访问的储存空间
7.oracle如何区分64-bit/32bit版本?
$sqlplus'/ASSYSDBA'
SQL*Plus:
Release9.0.1.0.0-ProductiononMonJul1417:
01:
092003
(c)Copyright2001oracleCorporation.Allrightsreserved。
Connectedto:
oracle9iEnterpriseEditionRelease9.0.1.0.0-Production
WiththePartitioningoption
JServerRelease9.0.1.0.0-Production
SQL>select*from$version;v
BANNER
----------------------------------------------------------------
oracle9iEnterpriseEditionRelease9.0.1.0.0-Production
PL/SQLRelease9.0.1.0.0-Production
CORE9.0.1.0.0Production
TNSforSolaris:
Version9.0.1.0.0-Production
NLSRTLVersion9.0.1.0.0-Production
SQL>
8.SVRMGR什么意思?
svrmgrl,ServerManager9i下没有,已经改为用SQLPLUS了
sqlplus/nolog变为归档日志型的
9.请问如何分辨某个用户是从哪台机器登陆ORACLE的?
$SESSION;Selectmachine,terminalFROMV
10.用什么语句查询字段呢?
desctable_name可以查询表的结构
selectfield_name,...from...可以查询字段的值
select*fromall_tableswheretable_namelike'%'
select*fromall_tab_columnswheretable_name='?
?
'
11.怎样得到触发器、过程、函数的创建脚本?
descuser_source
user_triggers
12.怎样计算一个表占用的空间的大小?
selectowner,table_name,NUM_ROWS,BLOCKS*AAA/1024/1024"SizeM",EMPTY_BLOCKS,LAST_ANALYZED
fromdba_tables
wheretable_name='XXX';
Here:
AAAisthevalueofdb_block_size;
XXXisthetablenameyouwanttocheck
13.如何查看最大会话数?
$PARAMETERWhereNAMELIKESelect*FROMV'proc%';
SQL>
SQL>showparameterprocesses
NAMETYPEVALUE
-------------------------------------------------------------------------
aq_tm_processesinteger1
db_writer_processesinteger1
job_queue_processesinteger4
log_archive_max_processesinteger1
processesinteger200
这里为200个用户。
$license;Select*fromv
其中sessions_highwater纪录曾经到达的最大会话数
14.如何查看系统被锁的事务时间?
select*from$locked_object;v
15.如何以archivelog的方式运行oracle?
init.ora
log_archive_start=true
RESTARTDATABASE
16.怎么获取有哪些用户在使用数据库?
$session;selectusernamefromv
17.数据表中的字段最大数是多少?
表或视图中的最大列数为1000
18.怎样查得数据库的SID?
$database;也可以直接查看init.ora文件selectnamefromv
19.如何在Oracle服务器上通过SQLPLUS查看本机IP地址?
selectsys_context('userenv','ip_address')fromdual;
如果是登陆本机数据库,只能返回127.0.0.1
20.UNIX下怎么调整数据库的时间?
su-root
date-u08010000
21.在ORACLETABLE中如何抓取MEMO类型栏为空的资料记录?
selectremarkfromoms_flowrecwheretrim(''fromremark)isnotnull;
22.如何用BBB表的资料去更新AAA表的数据(有关联的字段)
UpdateAAASETBNS_SNM=(SelectBNS_SNMFROMBBBWhereAAA.DPT_NO=BBB.DPT_NO)WhereBBB.DPT_NOIS
NOTNULL;
23.P4计算机安装方法
将SYMCJIT.DLL改为SYSMCJIT.OLD
24.如何查询SERVER是不是OPS?
$OPTION;Select*FROMV
如果PARALLELSERVER=TRUE则有OPS能
25.如何查询每个用户的权限?
Select*FROMDBA_SYS_PRIVS;
26.如何将表移动表空间?
AlterTABLETABLE_NAMEMOVETABLESPACE_NAME;
27.如何将索引移动表空间?
AlterINDEXINDEX_NAMEREBUILDTABLESPACETABLESPACE_NAME;
28.在LINUX,UNIX下如何启动DBASTUDIO?
OEMAPPDBASTUDIO
29.查询锁的状况的对象有?
$LOCKED_OBJECT,$LOCK,VV$PROCESS;$SQLAREA,V$SESSION,VV
查询锁的表的方法:
SelectS.SIDSESSION_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.TYPELOCK_TYPE,L.ID1LOCK_ID1,L.ID2LOCK_ID2FROM$LOCKL,V
$SESSIONSWhereL.SID=S.SIDANDL.ID1=O.OBJECT_ID;SYS.DBA_OBJECTSO,V
30.如何解锁?
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;
$NLS_PARAMETERS;Select*FROMV
38.查询表空间信息?
Select*FROMDBA_DATA_FILES;
39.orACLE的INTERAL用户要口令?
修改SQLNET.ORA
SQLNET.AUTHENTICATION_SERVICES=(NTS)
40.出现JAVA.EXE的解决办法?
一般是将ORACLEORAHOMEXIHTTPSERVER改成手工启动可以的,X是8或9
41.如何给表、列加注释?
SQL>commentontable表is'表注释';
注释已创建。
SQL>commentoncolumn表.列is'列注释';
注释已创建。
SQL>select*fromuser_tab_commentswherecommentsisnotnull;
42.如何查看各个表空间占用磁盘情况?
SQL>coltablespaceformata20
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剩余百分比
fromdba_free_spacea,dba_data_filesb
wherea.file_id=b.file_id
groupbyb.tablespace_name,b.file_id,b.bytes
orderbyb.file_id
43.如把ORACLE设置为MTS或专用模式?
#dispatchers="(PROTOCOL=TCP)(SERVICE=SIDXD"
加上就是MTS,注释就是专用模式,SID是指你的实例名。
44.如何才能得知系统当前的SCN号?
select$ktuxe;max(ktuxescnw*power(2,32)+ktuxescnb)fromx
45.请问如何在ORACLE中取毫秒?
9i之前不支持,9i开始有timestamp。
9i可以用selectsystimestampfromdual;
46.如何在字符串里加回车?
select'Welcometovisit'||chr(10)||'www.CSDN.NET'fromdual;
47.中文是如何排序的?
oracle9i之前,中文是按照二进制编码进行排序的。
在oracle9i中新增了按照拼音、部首、笔画排序功能。
设置NLS_SORT值:
SCHINESE_RADICAL_M按照部首(第一顺序)、笔划(第二顺序)排序
SCHINESE_STROKE_M按照笔划(第一顺序)、部首(第二顺序)排序
SCHINESE_PINYIN_M按照拼音排序
48.oracle8i中对象名可以用中文吗?
可以
49.如何改变WIN中SQL*Plus启动选项?
$ORACLE_HOME/sqlplus/admin/glogin.sql中设置。
SQL*PLUS自身的选项设置我们可以在
50.怎样修改oracel数据库的默认日期?
altersessionsetnls_date_format='yyyymmddhh24miss';
或可以在init.ora中加上一行nls_date_format='yyyymmddhh24miss'
51.如何将小表放入keep池中?
altertablexxxstorage(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被意外锁定?
altersystemkillsession,把那个session给杀掉,不过你要先查出她的sessionid
或把该过程重新改个名字就可以了。
57.SQLReference是个什么东西?
是一本sql的使用手册,包括语法、函数等等,Oracle官方网站的文档中心提供下载。
58.如何查看数据库的状态?
UNIX下
ps-ef|grepora
Windows下
看服务是否起来;是否可以连上数据库
59.请问如何修改一张表的主键?
altertableaaa
dropconstraintaaa_key;
altertableaaa
addconstraintaaa_keyprimarykey(a1,b1);
60.改变数据文件的大小?
用AlterDATABASE....DATAFILE....;
手工改变数据文件的大小,对于原来的数据文件有没有损害。
61.怎样查看ORACLE中有哪些程序在运行之中?
$sessions表查看v
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?
SQL>connect/assysdba
SQL>$version;select*fromv
SQL>createpfilefromspfile;
SQL>CreateSPFILEFROMPFILE='E:
\ora9i\admin\eygle\pfile\init.ora';
文件已创建。
SQL>CreateSPFILE='E:
\ora9i\database\SPFILEEYGLE.ORA'FROMPFILE='E:
\ora9i\admin\eygle\pfile\init.ora';
文件已创建。
71.内核参数的应用?
shmmax
含义:
这个设置并不决定究竟Oracle数据库或者操作系统使用多少物理内存,只决定了最多可以使用的内
存数目。
这个设置也不影响操作系统的内核资源。
设置方法:
0.5*物理内存
例子:
Setshmsys:
shminfo_shmmax=10485760
shmmin
含义:
共享内存的最小大小。
设置方法:
一般都设置成为1。
例子:
Setshmsys:
shminfo_shmmin=1:
shmmni
含义:
系统中共享内存段的最大个数。
例子:
Setshmsys:
shminfo_shmmni=100
shmseg
含义:
每个用户进程可以使用的最多的共享内存段的数目。
例子:
Setshmsys:
shminfo_shmseg=20:
semmni
含义:
系统中semaphoreidentifierer的最大个数。
设置方法:
把这个变量的值设置为这个系统上的所有Oracle的实例的init.ora中的最大的那个processes的
那个值加10。
例子:
Setsemsys:
seminfo_semmni=100
semmns
含义:
系统中emaphores的最大个数。
设置方法:
这个值可以通过以下方式计算得到:
各个Oracle实例的initSID.ora里边的processes的值的总
和(除去最大的Processes参数)+最大的那个Processes×2+10×Oracle实例的个数。
例子:
Setsemsys:
seminfo_semmns=200
semmsl
含义:
一个set中semaphore的最大个数。
设置方法:
设置成为10+所有Oracle实例的InitSID.ora中最大的Processes的值。
例子:
Setsemsys:
seminfo_semmsl=-200
72.怎样查看哪些用户拥有SYSDBA、SYSOPER权限?
SQL>connsys/change_on_install
SQL>$PWFILE_USERS;select*fromV_
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
SQL>selecttablespace_name,file_id,bytes/1024/1024,file_namefromdba_data_filesorderby
file_id;
78.如何查看现有回滚段及其状态?
SQL>colsegmentformata30
SQL>SelectSEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUSFROM
DBA_ROLLBACK_SEGS
79.如何改变一个字段初始定义的Check范围?
SQL>altertablexxxdropconstraintconstraint_name;
之后再创建新约束:
SQL>altertablexxxaddconstraintconstraint_namecheck();
80.oracle常用系统文件有哪些?
$controlfile$logfilev$datafile,v$database,v通过以下视图显示这些文件信息:
v$parameter;v
81.内连接INNERJOIN?
selecta.*frombsempmsa,bsdptmsbwherea.dpt_no=b.dpt_no;
82.如何外连接?
selecta.*frombsempmsa,bsdptmsbwherea.dpt_no=b.dpt_no(+);
selecta.*frombsempmsa,bsdptmsbwherea.dpt_no(+)=b.dpt_no;
83.如何执行脚本SQL文件?
SQL>$PATH/filename.sql;@
84.如何快速清空一个大表?
SQL>truncatetabletable_name;
85.如