SQL*Plus FAQ
source:http://www.orafaq.com/wiki/SQL*Plus_FAQ Contents [hide] 1What is SQL*Plus and where does it come from?2How does one use the SQL*Plus utility?3What commands can be executed from SQL*Plus?4What are the basic SQL*Plus commands?5What is AFIEDT.BUF?6How does one enable the SQL*Plus HELP facility?7What is the difference between ? and HELP?8What is the difference between @ and @@?9What is the difference between & and &&?10What is the difference bet
[Oracle]如何查看SQL的执行计划 - DBMS_XPLAN Package
查看执行计划除了AUTOTRACE的方法外,还可以使用DBMS_XPLAN Package来查看 1.执行"explain Plan" 语法: SQL> Explain plan for Try this command: SQL> explain plan for select * from mtl_system_items_b where inventory_item_id = 149 and organization_id = 207; Explained 这个命令会产生执行计划,并把执行计划保存到"PLAN_TABLE"中。 2.查看执行计划 SQL> select * from table(dbms_xplan.display); (dbms_xplan.di
Oracle SQL Trace
SQL Trace收集方法 Current Session Level 1.Enable Sql Trace alter session set sql_trace = true; alter session set statistics_level = ALL; alter session set timed_statistics = true; alter session set max_dump_file_size = unlimited; alter session set tracefile_identifier = ptian123; 蓝色部分,非必须执行的脚本;tracefile_identifier为trace标识符,用于快速找到sqltrace文件; 2.set TRACING LEVELS --Setting level 12 trace to get bind values and wait state
[Oracle]查看SQL的执行计划 - AUTOTRACE,遇到错误ORA-00904: "OTHER_TAG": 标识符无效
SQL> SET AUTOTRACE ON SQL> SELECT SYSDATE FROM DUAL; SYSDATE -------------- 26-9月 -12 执行计划 ---------------------------------------------------------- ERROR: an uncaught error in function display has happened; please contact Oracle support Please provide also a DMP file of the used plan table PLAN_TABLE ORA-00904: "OTHER_TAG": 标识符无效 统计信息 ---------------------------------------------------------- 0 recursive calls
ORA-01843: 无效的月份
执行下边的脚本 CREATE TABLE MYEMP ( EMP_ID NUMBER, EMP_NAME VARCHAR2(10), SAL NUMBER, Joined_date DATE, DEPT_NO NUMBER); INSERT INTO MYEMP VALUES (3, \'THREE\', 1500, To_Date(\'01-MON-2007\',\'DD-MON-YYYY\'), 10); 报:ORA-01843: 无效的月份
ORA-12557: TNS:protocol adapter not loadable
启动SQL Tools尝试连接Oracle数据库,报ORA-12557: TNS:protocol adapter not loadable的错. 解决方法: 把C:\oracle\product\10.2.0\client_2\BIN目录加到环境变量Path中,再重启SQLTools,就解决问题了。
Oracle Events & Level Dictionary
Sample: alter session set events \'10046 trace name context forever, level 12\'; Event # Level Description 8186 - ALTER SESSION SET EVENTS \'8186 trace name context OFF\' - VERSIONS BETWEEN query 10013 1 Monitor Transaction Recovery 10015 1 Dump Undo Segment Headers 10015 3 Identify corrupt undo segments 10032 4 Dump Sort Statistics 10031 Sort Debug Events 10032 10 Dump Sort Statistics 10033 4 Dump Sor
SQL Trace - TRACEFILE_IDENTIFIER
sql trace默认生成到user_dump_dest下,这个目录有可能存在很多sql trace,所以要找到你的trace文件有时候要费一些功夫。Oracle提供了一个有用的参数,可以让你快速的找到你的trace文件--TRACEFILE_IDENTIFIER Oracle SQL Trace收集方法: 1. Set the tracefile identifier as you want, this will be appended to trace file name. alter session set tracefile_identifier=\'ptian_sql_trace\'; 2. Enable your session level tracing alter session set sq
enq: TX - Row Lock Contention
遇到了一个 enq: TX - row lock contention的问题,从tkprof看,update真正执行的时间(cpu)很快,但elapsed时间非常长,在最后发现 enq: TX - row lock contention时间很长。 UPDATE MTL_ITEM_LOCATIONS SET STATUS_ID = :b1 WHERE INVENTORY_LOCATION_ID = :b2 call count cpu elapsed disk qu
Undo Segment
Oracle数据库启动过程的几个阶段(SHUTDOWN -> NOMOUNT -> MOUNT -> OPEN)
Oracle数据库启动过程的几个阶段:SHUTDOWN -> NOMOUNT -> MOUNT -> OPEN 1.shutdown immediate SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> 2.nomount When you issue the startup command, the first thing the database will do is enter the nomount stage. During the nomount stage, Oracle first opens and reads the initialization parameter file (init.ora) to see how the database is configured. For example, the
Oracle Redo log
Redo Logs概述 The redo log records all changes made to data, including both uncommitted and committed changes. Oracle通过Redo来保证数据库的事务可以被重演,从而使得在故障之后,数据可以被恢复。在数据库中,Redo的功能主要通过3个组件来实现:Redo Log Buffer、LGWR后台进程和Redo Log File(在归档模式下,Redo Log File最终会经由ARCn进程写出为归档日志文件)。 Redo Log Buffer位于SGA之中,
Oracle Undo & Redo
Undo Undo is used to refer to undo segments. So, what are segments? Segments refer to any type of thing that takes up storage space in the database ( like a table, or an index ). So an undo segment is a thing that takes up storage space and contains information about how data looked before you changed it. Why? So that you can undo your changes ( rollback ). If you accidentally, or purposely deleted a bunch of data, you can rollback your changes and restore the table to the way
Oracle EM(Enterprise Manager)的端口忘记了,如何找回端口号
在ORACLE_HOME目录下的install目录中有一个portlist.ini文件,这个文件中就记录着这台数据库Server上所有实例的Enterprise Manager Console HTTP Port和Enterprise Manager Agent Port的内容(还有isqlplus的端口信息)。 X:\oracle\product\10.1.0\Db_1\install\portlist.ini 比如我本机的portlist.ini Ultra Search HTTP 端口号 =5620 Enterprise Manager Agent Port = iSQL*Plus HTTP 端口号 =5560 Enterprise Manager Console HTTP Port (test) = 5501 Enterpr
[回归基础]Oracle表空间和数据文件
Oracle表空间和数据文件 ORACLE数据库被划分成的若干逻辑区域称作为表空间,这些逻辑区域用于把相关的数据文件分组管理,总之,表空间:是一个或多个数据文件的逻辑集合。 每一个数据库包含一个或者多个表空间;一个表空间里又有一个或者多个物理的数据文件;一个数据文件只能属于一个表空间; 表空间是ORACLE数据库恢复的最小单位。 表空间和数据文件在数
多个ORACLE HOME的情况,默认的ORACLE HOME是哪个,以及如何更改HOME
如果系统里安装了多个ORACLE产品,那么在注册表里,有可能也会有多个ORACLE HOME,在不设置系统环境变量的情况下,默认情况使用哪个ORACLE HOME? HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\DEFAULT_HOME这个值就是默认的ORACLE HOME,有了DEFAULT_HOME的值,你可以在HOME0或HOME1或HOME2...中的ORACLE_HOME_NAME找到对应值,所处的HOMEx就是默认的ORACLE_HOME. 如何在注册表里更改ORACLE_HOME? 把
Oracle环境变量NLS_LANG
什么是NLS_LANG NLS_LANG是一个环境变量,用于定义语言,地域以及字符集属性。对于非英语的字符集,NLS_LANG的设置就非常重要。 NLS:‘National Language Support (NLS)’ 当我们设定一种nls的时候实际上我们是为oracle在存放数据时指定了他的语种所特有的一些表达形式,比如我们选择chinese,那么它的中文字符如何存放,按什么规则排序,货币如何表示,日期格式也就被设定了。 N
V$PROCESS和V$SESSION,以及使用这两个视图能做什么
使用V$PROCESS,V$SESSION能做什么 查看哪些用户连到了DB上,使用什么Program连接 SET LINESIZE 100 COLUMN spid FORMAT A10 COLUMN username FORMAT A10 COLUMN program FORMAT A45 SELECT s.sid, --Session identifier s.serial#,--Session serial number. Used to uniquely identify a session\'s objects. p.spid, --Operating system process identifier p.pid, --Oracle process identifier s.username,--Oracle DB username s.osuser,--Operating system cl
TNSPING只用于测试DB Listener是否可用,特别注意它不能检测数据库是否已经启动。
TNSPING位于ORACLE HOME/bin下,TNSPING只用于测试Listener是否可用(检查Socket是否可以连通),特别注意它不能检测数据库是否已经启动。原理:类似于TCP/IP工具ping,tnsping会发送一个Message给DB Server Listener,DB listener会给出一个回复。如果返回TNS-12541: TNS: no listener,一般表示服务端的Listener没有启动。如果返回TNS-12154: TNS: Could not resolve service name,很可能是你的TNSNAMES.ORA有问题。C:\Documents
关于TNS_ADMIN环境变量
很多oracle产品都有自己的TNS文件,如果你的系统里装了多个Oracle的产品的话,那么客户端连instance的时候,到底是使用那个tnsnames.ora呢?这个时候就需要看TNS_ADMIN这个参数了。 Question: What is the tns_admin parameter and how do I use tns_admin to define a common location for my TNS files? Answer: The tns_admin parameter determines the location of the tns administration files (e.g. tnsname