Oracle参数会记录哪一些信息,oracle下令

当前位置:我的异常网» 数据库 » oracle下令

oracle下令

www.myexceptions.net  网友分享于:2013-07-16  浏览:3次

oracle命令

一、查询自己数据库中所有用户和密码

select   *   from   dba_users;

查询当前用户信息:select * from dba_ustats;

二、通过触发器记录连接客户端的ip地址或机器名

connect sys

grant select on v_$session to scott;

rem 这个user是建触发器的user,需要sys直接授权

create table session_history

(username varchar2(20),

log_time date,

ip varchar2(20)

)

/

CREATE OR REPLACE TRIGGER logon_history

AFTER LOGON ON SCHEMA

BEGIN

insert into session_history

select username,SYSDATE,SYS_CONTEXT('USERENV','IP_ADDRESS')

from v$session

where audsid = userenv( 'sessionid' ) ;

commit;

END;

/

三、查询登录数据库的用户信息

select * from v$session

四、获取指定表的列名及类型等信息

desc table_name

五、查询2小时前某表数据

select * from 表名 as of timestamp sysdate-1/12

六、恢复drop后的表

flashback table 表名 to before drop;

七、因为密码输入错误多次用户自动被锁定.

解决办法:alter user user_name account unlock;

八、查询得到当前数据库中锁,以及解锁:

查锁

SELECT /*+ rule */ s.username,

decode(l.type,'TM','TABLE LOCK',

'TX','ROW LOCK',

NULL) LOCK_LEVEL,

o.owner,o.object_name,o.object_type,

s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser

FROM v$session s,v$lock l,dba_objects o

WHERE l.sid = s.sid

AND l.id1 = o.object_id(+)

AND s.username is NOT NULL;

解锁

alter system kill session 'sid,serial';

如果解不了。直接倒os下kill进程kill -9 spid

九、查看消耗资源最多的SQL

SELECT hash_value, executions, buffer_gets, disk_reads, parse_calls

FROM V$SQLAREA

WHERE buffer_gets > 10000000OR disk_reads > 1000000

ORDERBY buffer_gets + 100 * disk_reads DESC;

十、查看某条SQL语句的资源消耗

SELECT hash_value, buffer_gets, disk_reads, executions, parse_calls

ROM V$SQLAREA

WHERE hash_Value = 228801498AND address = hextoraw('CBD8E4B0');

十一、查询oracle的版本

select * from v$version;

十二、查询数据库的一些参数

select * from v$parameter

十三、查找你的session信息

SELECT SID, OSUSER, USERNAME, MACHINE, PROCESS

FROM V$SESSION WHERE audsid = userenv('SESSIONID');

十四、查找当前被某个指定session正在运行的sql语句。假设sessionID为100

select b.sql_text

from v$session a,v$sqlarea b

where a.sql_hashvalue=b.hash_value and a.sid=100

十五、查询oracle的目前连接用户数

select count(*) from v$session;

十六、查询应用的连接数

select * from v$resource_limit ;

十七、查询数据库当前进程的连接数

select count(*) from v$process;

十八、查看数据库的并发连接数

select count(*) from v$session where status='ACTIVE';

十九、查看当前数据库建立的会话情况

select sid,serial#,username,program,machine,status from v$session;

二十、查询数据库允许的最大连接数

select value from v$parameter where name = 'processes';

或者:show parameter processes;

二十一、修改数据库允许的最大连接数

(需要重启数据库才能实现连接数的修改)

重启数据库:

shutdown immediate;

startup;

二十二、查看当前有哪些用户正在使用数据

select osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine

from v$session a,v$sqlarea b

where a.sql_address = b.address

order by cpu_time/executions desc;

备注:UNIX 1个用户session对应一个操作系统process,而Windows体现在线程。

启动oracle

su - oracle

sqlplus system/pwd as sysdba  //进入sql

startup                                     //启动数据库

lsnrctl start                              //启动监听

sqlplus "/as sysdba"

shutdown immediate;

startup mount;

alter database open;

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值