oracle常用命令

--创建表空间
--表空间名 test1,数据文件存放路径 C:\oracle\oradata\test.dbf
CREATE TABLESPACE test1
DATAFILE 'C:\oracle\myDB\test1.dbf' SIZE 128M REUSE
AUTOEXTEND ON NEXT 1280K
EXTENT MANAGEMENT LOCAL;

--创建用户
--  用户名  user1,密码 user1,并将表空间默认赋予此用户
create user user1 identified by user1 default tablespace test1 ;

--给用户授权
grant connect,resource,dba to user1 ;


--oracle数据库的导出:
在命令行cmd中执行如下语句:
exp username/pwd@database file=c:\daochu.dmp log=c:\daochu.log owner=用户名


--数据库导入
imp username/pwd@database file=c:\daochu.dmp log=c:\daochu.log fromuser=user1 touser=user2


 

--1 查询当前用户表中相似表名的数据表(其中CANCEL为表名关键字,注意这里英文表名必须为大写)

select TABLE_NAME from   user_tables   where table_name Like '%CANCEL%'

--2 查询当前用户表中相同字段名的数据表(其中HOUSEID为列明名关键字,注意这里英文列名必须为大写)

select TABLE_NAME from user_tab_columns where COLUMN_NAME ='PERSONID';

--3 跟踪sql语句的执行,其中service为服务器名,parsing_schema_name为表空间名

select  sql_text,parsing_schema_name,service,module from   v$sql where service='TestMachine' and parsing_schema_name='Test'

--4 查询当前用户表中已知外键名的数据表(其中SYS_C007415为外键名,注意这里英文外键名必须为大写)

SELECT table_name FROM user_constraints where constraint_name='SYS_C007415'

--5 跟踪由软件发出的sql语句 select

First_Load_time,last_load_time,last_active_time,sql_text,parsing_schema_name,service,module,sql_fulltext

from   v$sql where service='TestMachine' and MODULE='MyWork.exe' and parsing_schema_name='Test'

and First_Load_time>'2011-06-14/16:24:00' and last_load_time>'2011-06-14/16:24:00';

--6禁止和启用触发器 ------------------------------------------

--使用触发器名称

alter  trigger   trigger_name  Disable;   --禁用触发器

alter  trigger   trigger_name  Enable;     --重新启用触发器

Commit;

-----------------------------------

--使用数据表名

alter table tablename disable all triggers;--禁用触发器

alter table tablename enable all triggers;--启用触发器


 

---7死锁以及解决方法

--查询死锁会话进程

select ls.sid 会话ID,ls.serial# 序列号,ls.osuser 系统用户, ls.username 数据库用户, decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX', 'Transaction enqueue lock', 'UL', 'User supplied lock') 锁类型, o.object_name object, decode(ls.lmode, 1, null, 2, 'Row Share', 3, 'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null) 锁模式, o.owner,   ls.id1, ls.id2 from sys.dba_objects o, ( select s.osuser, s.username, l.type, l.lmode, s.sid, s.serial#, l.id1, l.id2 from v$session s,v$lock l where s.sid = l.sid ) ls where o.object_id = ls.id1 and o.owner<> 'SYS' order by o.owner, o.object_name

 

--杀死死锁会话进程

--这里的两个数值分别来自上一查询语句中的会话ID和序列号

alter system kill session '1,2';

 

--查询会话进程中执行的sql语句内容

--这里的SID为会话ID

select b.SQL_FULLTEXT from v$session a ,v$sqlarea b

where a.SQL_HASH_VALUE=b.HASH_VALUE and a.SID=1;

posted @ 2012-06-01 16:05  路灯下的诗人  阅读(268)  评论(0编辑  收藏  举报