Oracle常见问题

在最近一段工作中,发现Oracle总是有一些小问题反复出现,因此总结一下分享出来,希望各位大虾不吝指教

1Oracle安装完成后的初始口令?

   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;

 

SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,

l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time

FROM v$locked_object l, all_objects o, v$session s

WHERE l.object_id = o.object_id

AND l.session_id = s.sid

ORDER BY sid, s.serial# ;

 

 

  ALTER SYSTEM KILL SESSION ‘SID,SERIR#‘;

 

 

 

 

 

日志表:v$ssqltext 或者是 v$sql

 

 

ORA-12516: TNS:监听程序找不到符合协议堆栈要求的可用处理程

 

 

查看当前会话数、processes和sessions值,发现session数和2个参数的值已经非常逼近

 

 

select count(*) from v$session;

 

 

show parameter processes

 

 

show parameter sessions

 

 

alter system set processes=300 scope=spfile;

 

 

alter system set sessions=335 scope=spfile;

 

 

----重启数据库生效!!

 

  ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:

 

    sessions=(1.1*process+5)

 

     但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/proc/kernel 中semmns,这是unix系统的信号量参数。

     每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生效。

     不过它的大小会受制于硬件的内存或ORACLE SGA。范围可从200——2000不等。

 

   semmns的计算公式为:   SEMMNS>processes+instance_processes+system

 

   processes=数据库参数processes的值   instance_processes=5(smon,pmon,dbwr,lgwr,arch)

 

   system=系统所占用信号量。系统所占用信号量可用下列命令查出:

    #ipcs -s 

   其中列NSEMS显示系统已占用信号量。

 

   其它一些跟连接有关的参数,如 licence_max_sessions, licence_sessions_warning 等默认设置都为零,也就是没有限制。我们可以放心大胆地使用数据库了。

Oracle常见问题,布布扣,bubuko.com

Oracle常见问题

上一篇:sendStickyBroadcast和sendStickyOrderedBroadcast


下一篇:Oracle小总结