Oracle常见问题.docx

上传人:b****5 文档编号:29877375 上传时间:2023-08-03 格式:DOCX 页数:76 大小:57.84KB
下载 相关 举报
Oracle常见问题.docx_第1页
第1页 / 共76页
Oracle常见问题.docx_第2页
第2页 / 共76页
Oracle常见问题.docx_第3页
第3页 / 共76页
Oracle常见问题.docx_第4页
第4页 / 共76页
Oracle常见问题.docx_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

Oracle常见问题.docx

《Oracle常见问题.docx》由会员分享,可在线阅读,更多相关《Oracle常见问题.docx(76页珍藏版)》请在冰豆网上搜索。

Oracle常见问题.docx

Oracle常见问题

ORACLE常用傻瓜問題1000問全集

作者:

  CCBZZP

  

      大家在應用ORACLE的時候可能會遇到很多看起來不難的問題,特別對新手來說,今天我簡單把它總結一下,發布給大家,希望對大家有幫助!

和大家一起探討,共同進步!

  

    對ORACLE高手來說是不用看的.

  

  

    

      ORACLE內部函數篇

204.如何得到字符串的第一個字符的ASCII值?

    ASCII(CHAR)

    SELECTASCII('ABCDE')FROMDUAL;

    結果:

65

  

205.如何得到數值N指定的字符?

    CHR(N)

    SELECTCHR(68)FROMDUAL;

    結果:

D

  

206.如何連接兩個字符串?

    CONCAT(CHAR1,CHAR2)

    SELECTCONCAT('ABC','DEFGH')FROMDUAL;

    結果:

'ABCDEFGH'

  

207.如何將列中的數值代替為字符串?

    DECODE(CHAR,N1,CHAR1,N2,CHAR2...)

    SELECTDECODE(DAY,1,'SUN',2,'MON')FROMDUAL;

  

208.INITCAP(CHAR)

    將字符串CHAR的第一個字符為大寫,其余為小寫.

    SELECTINITCAP('ABCDE')FROMDUAL;

  

209.LENGTH(CHAR)

    取一字符串CHAR的長度.

    SELECTLENGTH('ABCDE')FROMDUAL;

  

210.LOWER(CHAR)

    將字符串CHAR全部變為小寫.

    SELECTLOWER('ABCDE')FROMDUAL;

  

211.LPAD(CHAR1,N,CHAR2)

    用字符串CHAR2包括的字符左填CHAR1,使其長度為N.

    SELECTLPAD('ABCDEFG',10'123')FROMDUAL;

    結果:

'123ABCDEFG'

  

212.LTRIM(CHAR,SET)

    從字符串CHAR的左邊移去字符串SET中的字符,直到第一個不是SET中的字符為止.

    SELECT('CDEFG','CD')FROMDUAL;

    結果:

'EFG'

  

213.NLS_INITCAP(CHAR)

    取字符CHAR的第一個字符大寫,其余字符為小寫.

    SELECTNLS_INITCAP('ABCDE')FROMDUAL;

  

214.NLS_LOWER(CHAR)

    將字符串CHAR包括的字符全部小寫.

    SELECTNLS_LOWER('AAAA')FROMDUAL;

  

215.NLS_UPPER(CHAR)

    將字符串CHAR包括的字符全部大寫.

    SELECTNLS_UPPER('AAAA')FROMDUAL;

  

216.REPLACE(CHAR1,CHAR2,CHAR3)

    用字符串CHAR3代替每一個列值為CHAR2的列,其結果放在CHAR1中.

    SELECTREPLACE(EMP_NO,'123','456')FROMDUAL;

  

217.RPAD(CHAR1,N,CHAR2)

    用字符串CHAR2右填字符串CHAR1,使其長度為N.

    SELECTRPAD('234',8,'0')FROMDUAL;

  

218.RTRIM(CHAR,SET)

    移去字符串CHAR右邊的字符串SET中的字符,直到最后一個不是SET中的字符為止.

    SELECTRTRIM('ABCDE','DE')FROMDUAL;

  

219.SUBSTR(CHAR,M,N)

    得到字符串CHAR從M處開始的N個字符.雙字節字符,一個漢字為一個字符的.

    SELECTSUBSTR('ABCDE',2,3)FROMDUAL;

  

220.SUBSTRB(CHAR,M,N)

    得到字符串CHAR從M處開始的N個字符.雙字節字符,一個漢字為二個字符的.

    SELECTSUBSTRB('ABCDE',2,3)FROMDUAL;

  

221.TRANSLATE(CHAR1,CHAR2,CHAR3)

    將CHAR1中的CHAR2的部分用CHAR3代替.

    SELECTTRANSLATE('ABCDEFGH','DE','MN')FROM  DUAL;

  

222.UPPER(CHAR)

    將字符串CHAR全部為大寫.

  

223.ADD_MONTHS(D,N)

    將N個月增加到D日期.

    SELECTADD_MONTHS(SYSDATE,5)FROMDUAL;

  

224.LAST_DAY(D)

    得到包含D日期的月份的最后的一天的日期.

    SELECTLAST_DAY(SYSDATE)FROMDUAL;

  

225.MONTH_BETWEEN(D1,D2)

    得到兩個日期之間的月數.

    SELECTMONTH_BETWEEN(D1,D2)FROMDUAL;

  

226.NEXT_DAY(D,CHAR)

    得到比日期D晚的由CHAR命名的第一個周日的日期.

    SELECTNEXT_DAY(TO_DATE('2003/09/20'),'SATDAY')FROMDUAL;

  

227.ROUNT(D,FMT)

    得到按指定的模式FMT舍入到的最進的日期.

    SELECTROUNT('2003/09/20',MONTH)FROMDUAL;

  

228.SYSDATE

    得到當前系統的日期和時間.

    SELECTSYSDATEFROMDUAL;

  

229.TO_CHAR(D,FMT)

    將日期D轉換為FMT的字符串.

    SELECTTO_CHAR(SYSDATE,'YYYY/MM/DD')FROMDUAL;

  

230.TO_DATE(CHAR,FMT)

    將字符串CHAR按FMT的格式轉換為日期.

    SELECTTO_DATE('2003/09/20','YYYY/MM/DD')FROMDUAL;

  

231.ABS(N)

    得到N的絕對值.

    SELECTABS(-6)FROMDUAL;

  

232.CEIL(N)

    得到大于或等于N的最大整數.

    SELECTCEIL(5.6)FROMDUAL;

  

233.COS(N)

    得到N的余弦值.

    SELECTCOS

(1)FROMDUAL;

  

234.SIN(N)

    得到N的正弦值.

    SELECTSIN

(1)FROMDUAL;

  

235.COSH(N)

    得到N的雙曲余弦值.

    SELECTCOSH

(1)FROMDUAL;

  

236.EXP(N)

    得到N的E的N次冪.

    SELECTEXP

(1)FROMDUAL;

  

237.FLOOR(N)

    得到小于或等于N的最小整數.

    SELECTFLOOR(5.6)FROMDUAL;

  

238.LN(N)

    得到N的自然對數.

    SELECTLN

(1)FROMDUAL;

  

239.LOG(M,N)

    得到以M為底N的對數.

    SELECTLOG(2,8)FROMDUAL;

  

240.MOD(M,N)

    得到M除以N的余數.

    SELECTMOD(100,7)FROMDUAL;

  

241.POWER(M,N)

    得到M的N冪.

    SELECTPOWER(4,3)FROMDUAL;

  

242.ROUND(N,M)

    將N舍入到小數點后M位.

    SELECT(78.87653,2)FROMDUAL;

  

243.SIGN(N)

    當N<0時,得到-1;

    當N>0時,得到1;

    當N=0時,得到0;

    SELECTSIGN(99)FROMDUAL;

  

244.SINH(N)

    得到N的雙曲正弦值.

    SELECTSINH

(1)FROMDUAL;

  

245.SORT(N)

    得到N的平方根,N>=0

    SELECTSORT(9)FROMDUAL;

  

246.TAN(N)

    得到N的正切值.

    SELECTTAN(0)FROMDUAL;

  

247.TANH(N)

    得到N的雙曲正切值.

    SELECTTANH(0)FROMDUAL;

  

248.TRUNC(N,M)

    得到在M位截斷的N的值.

    SELECTTRUNC(7.7788,2)FROMDUAL;

  

249.COUNT()

    計算滿足條件的記錄數.

    SELECTCOUNT(*)FROMTABLE1WHERECOL1='AAA';

  

250.MAX()

    對指定的列求最大值.

    SELECTMAX(COL1)FROMTABLE1;

  

251.MIN()

    對指定的列求最小值.

    SELECTMIN(COL1)FROMTABLE1;

  

252.AVG()

    對指定的列求平均值.

    SELECTAVG(COL1)FROMTABLE1;

  

253.SUM()

    計算列的和.

    SELECTSUM(COL1)FROMDUAL;

  

254.TO_NUMBER(CHAR)  

    將字符轉換為數值.

    SELECTTO_NUMBER('999')FROMDUAL

ORACLE常用傻瓜问题1000问

作者:

  CCBZZP

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*fromv$version;

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,ServerManager  9i下没有,已经改为用SQLPLUS了

sqlplus/nolog  变为归档日志型的

9.请问如何分辨某个用户是从哪台机器登陆ORACLE的?

SELECTmachine,terminalFROMV$SESSION;

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.如何查看最大会话数?

SELECT*FROMV$PARAMETERWHERENAMELIKE'proc%';

SQL>

SQL>showparameterprocesses

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*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类型栏为空的资料记录?

selectremarkfromoms_flowrecwheretrim(''fromremark)isnotnull;

22.如何用BBB表的资料去更新AAA表的数据(有关联的字段)

UPDATEAAASETBNS_SNM=(SELECTBNS_SNMFROMBBBWHEREAAA.DPT_NO=BBB.DPT_NO)WHEREBBB.DPT_NOISNOTNULL;

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?

    OEMAPP  DBASTUDIO

29.查询锁的状况的对象有?

    V$LOCK,V$LOCKED_OBJECT,V$SESSION,V$SQLAREA,V$PROCESS;

    查询锁的表的方法:

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_ID2FROMV$LOCKL,SYS.DBA_OBJECTSO,V$SESSIONSWHEREL.SID=S.SIDANDL.ID1=O.OBJECT_ID;

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*  FROM  USER_ERRORS;

36.如何获取链接状况?

    SELECT*FROMDBA_DB_LINKS;

37.查看数据库字符状况?

    SELECT*  FROMNLS_DATABASE_PARAMETERS;

    SELECT*  FROMV$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>commentontable表is'表注释';

注释已创建。

SQL>commentoncolumn表.列is'列注释';

注释已创建。

SQL>select*fromuser_tab_commentswherecommentsisnotnull;

42.如何查看各个表空间占用磁盘情况?

SQL>coltablespaceformata20

SQL>select

    b.file_id      文件ID号,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1