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;