将查询的结果生成到文件中:
set echo on --是否显示执行的命令内容
set feedback off --是否显示 * rows selected
set heading off --是否显示字段的名称
set verify off --是否显示替代变量被替代前后的语句。fil
set trimspool off --去字段空格
set pagesize 1000 --页面大小
set linesize 50//linesize设定尽量根据需要来设定,大了生成的文件也大
define fil= 'e:\exp.txt'
prompt *** Spooling to &fil
spool &fil
select id||','||username||','||'"'||password||'"' from myuser;
spool off;
强行杀session:
SELECT DISTINCT '(' || s.sid || ') - ' || username AS "(session) - username",
o.kglnaobj from V$SESSION s, sys.x$kglob o, sys.x$kglpn p WHERE upper(o.kglnaobj) LIKE ('%P_CREATE_TABLE_ZJ_USER_INFO%') AND p.kglpnhdl = o.kglhdadr AND s.SADDR =
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid in(53); ......
以下我做streamm同步两台机器间的某一个用户的操作步骤。很简单,看到stream
还
有很多要看的。
1.环境介绍
主数据库SID : obpm
操作系统 : win 2003
IP地址 : 192.168.0.1
Global_name :
oracle
version: 10.2.0.1
从数据库SID: orcl
操作系统 : win 2003
IP地址 : 192.168.0.2
Global_name :
oracle
version: 10.2.0.1
2.在主/从数据库设置初始化参数(在主从数据库都执行以下操作)
1) sqlplus / as sysdba ----以dba身份登录
2)alter system set aq_tm_processes=2 scope=both; ---启用对队列消息的时间监视
alter system set global_names=true scope=both; ---设置全局名称为true
---alter system set job_queue_processes=10 scope=both;
--设置定时作业进程最大为10个,默认是10
alter system set undo_retention=3600 scope=both;
--设置回滚段时间,默认是900
alter system set streams_pool_size=2 ......
最近遇到在windows 2008下IE其它的网页都可以访问,唯有oracle.com不能访问,真郁闷了,后来找一代理,访问速度还可以,配置如下:
这个代理第一次访问的话,需要跳到他的主页,过个十几秒中就可以跳转到Oracle的官方网站了。
——————————————————————————————————
132.239.17.224 端口:3128
不能访问的原来至今不明,难道是RBWT??! ......
如何看懂ORACLE执行计划
一、什么是执行计划
An explain plan is a representation of the access path that is taken when a query is executed within Oracle.
二、如何访问数据
At the physical level Oracle reads blocks of data. The smallest amount of data read is a single Oracle block, the largest is constrained by operating system limits (and multiblock i/o). Logically Oracle finds the data to read by using the following methods:
Full Table Scan (FTS) --全表扫描
Index Lookup (unique & non-unique) --索引扫描(唯一和非唯一)
Rowid --物理行id
三、执行计划层次关系
When looking at a plan, the rightmost (ie most inndented) uppermost operation is the first thing that is executed. --采用最右最上最先执行的原则看层次关系,在同一级如果某个动作没有子ID就最先执行
1.一个简单的例子:
SQL> select /*+parallel (e 4)*/ * from emp e;
Execution Plan
----------------------------------------------------------
&n ......
查看所有表空间使用情况
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
2),
'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
from (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MA ......
1,列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数。
select job,count(empno) from emp
where job in(select job from emp group by job having min(sal)>1500)
group by job;
2,列出薪金高于公司平均薪金的所有员工所在部门,上级领导,公司的工资等级。
select e.ename,d.dname,m.ename,e.sal,sa.grade
from emp e,emp m,dept d,(select avg(sal) avg from emp) ed,salgrade sa
where e.mgr=m.empno(+) and e.deptno=d.deptno and e.sal >ed.avg and (e.sal between losal and hisal);
3,列出与scott从事相同工作的所有员工及部门名称。
select e.ename,d.dname from emp e,dept d,(select job from emp where ename='SCOTT') ed
where e.job=ed.job and e.deptno=d.deptno and ename!='SCOTT';
4,列出所有部门的详细信息和部门人数。
select d.*,nvl(ed.cou,0)
from dept d,(select deptno,count(empno) cou from emp group by deptno) ed
where d.deptno=ed.deptno(+);
5,列出各种工作的最低工资及从事此工作的雇员姓名(未能将相同工资的人排除)。
select e.ename,e.job,e.sal
from emp e,(select min(sal) min from emp group ......