Oracle常用命令(持续更新)

--1、解锁用户 alter user 用户名 account unlock;

--2、开启最小补充日志记录(执行的DML操作会被记录下来)  alter database add supplemental log data;

--3、查看FLASHBACK_TRANSACTION_QUERY中的记录,已获得某张表的操作记录  

select * from flashback_transaction_query where table_name=upper('table_name');

--4、查看数据库当前(相对的)系统改变号 system change number  (scn)

select dbms_flashback.get_system_change_number from dual;

--5、查询某个表在指定scn时的数据  xxxxx就是指定的scn  ,可以在FLASHBACK_TRANSACTION_QUERY中查到部分scn记录

select * from table_name as of scn xxxxx;

--6、查看锁住的表,和解锁表

select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o,v$session s where l.object_id=o.object_id and l.session_id=s.id;

alter system kill session 'sid,serial';

--7、查询oracle版本号

select * from product_component_version;

--8、查询oracle某张表的大小,Oracle中有两种含义的表大小:

一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:
select segment_name, bytes from user_segments where segment_type = '表名';--表名大写

或者 Select Segment_Name,Sum(bytes)/1024/1024 from User_Extents Group By Segment_Name;【这个查询速度慢】

另一种表实际使用的空间。这样查询:
analyze table 表名 compute statistics;
select num_rows * avg_row_len from user_tables where table_name = '表名';--表名大写

 

--8、一次导出、导入多个用户对象

exp username/pwd@orcl owner=(username1,username2,username3...) file=D:\xxx.dmp;

imp username/pwd@orcl file=D:\xxx.dmp full=y;--oracle会自动帮你根据dmp中的用户对象来分别导入各个用户的表、存储过程等到各个用户下

--9、查看监听状态、 启动监听、 关闭监听

lsnrctl status、lsnrctl start、lsnrctl stop

--10、切换oracle例程

set oracle_sid = orcl;    oracle_sid:环境变量名    orcl:指定的oracle例程名

 

posted @ 2014-12-26 11:12  程序员一一涤生  阅读(192)  评论(0编辑  收藏  举报