^_^先来一个,见笑!
如何取出某一用户的密码,再原封不动的改回去
conn system/manager
select password from dba_users where username='USER1';(用户名一定要用大写)
结果:1F8E5A929B6861AC(这就是此用户的密码)
alter user USER1 identified by aaa;(改变此用户的密码为aaa)
conn user1/aaa(连接到用户上,???)
执行你想要的操作...
conn system/manager
alter user USER1 identified by values '1F8E5A929B6861AC';(改回原有密码
如何取出某一用户的密码,再原封不动的改回去
conn system/manager
select password from dba_users where username='USER1';(用户名一定要用大写)
结果:1F8E5A929B6861AC(这就是此用户的密码)
alter user USER1 identified by aaa;(改变此用户的密码为aaa)
conn user1/aaa(连接到用户上,???)
执行你想要的操作...
conn system/manager
alter user USER1 identified by values '1F8E5A929B6861AC';(改回原有密码
This tool loops a specified number of times, displaying memory usage along with user process counts for a specific username.
--=================================================
--
-- proc_ora_monitor
--
-- parm1: username to count
-- parm2: number of loops, 5 sec duration
--=================================================
set serveroutput on ;create or replace procedure
proc_ora_monitor ( user1 in varchar, reps1 in integer )
isi number ;
usercount1 number ;
memory1 number ;
date1 varchar(20) ;
msg varchar(99) ;begini := 0 ;while ( i < reps1 )
loop
msg := '=> ' || to_char(SYSDATE, 'HH:MM:SS PM'); select count(1)
into usercount1
from sys.v_$session
where username = user1 ; msg := msg || ', ' || user1 || ': ' || usercount1 ; select round(sum(bytes)/1024/1024 ,2)
into memory1
from sys.v_$sgastat
where pool = 'shared pool' and
name = 'free memory' ; msg := msg || ', free mb = ' || memory1 ; select round(sum(bytes)/1024/1024 ,2)
into memory1
from sys.v_$sgastat
where pool = 'shared pool' and
name = 'processes' ; msg := msg || ', processes mb = ' || memory1 ; dbms_output.put_line(msg) ; dbms_lock.sleep(5) ; i := i + 1 ;
end loop ;end;
/
假设有一个存储过程p_test,每20分钟执行一次
解答:
1、把init<sid>.ora中如下两个参数打开
JOB_QUEUE_INTERVAL=60
JOB_QUEUE_PROCESSES=4
然后重启一个库,如果原来已经打开了则不用这步了
2、示例,以下由sqlplus 来执行,具体参照一下相关的文档
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,
'p_test;'
SYSDATE,'SYSDATE + 1/72');
commit;
END;
SVRMGRL>CONNECT INTERNAL
SVRMGRL>SHUTDOWN IMMEDIATE
SVRMGRL>STARTUP MOUNT
SVRMGRL>ALTER DATABASE OPEN;
看这几步是哪一步报错,错误代码是什么?
$ sqlplus
exec(): 0509-036 Cannot load program sqlplus because of the following errors:
0509-130 Symbol resolution failed for sqlplus because:
0509-136 Symbol pw_post (number 272) is not exported from
dependent module /unix.
0509-136 Symbol pw_wait (number 273) is not exported from
dependent module /unix.
0509-136 Symbol pw_config (number 274) is not exported from
dependent module /unix.
0509-136 Symbol aix_ora_pw_version3_required (number 275) is not exported from
dependent module /unix.
0509-192 Examine .loader section symbols with the
'dump -Tv' command
Select s.username, s.sid, l.type, l.id1, l.id2, l.lmode, l.request, p.spid PID
From v$lock l, v$session s, v$process p
Where s.sid = l.sid And p.addr = s.paddr And s.username is not null
Order By id1, s.sid,request;
获取用户SID,PID,锁的种类,锁的类型等信息2:获取数据库锁的信息(用户ID,OBJECT,SQL)REM *****************************************************************
REM TITLE : Generic Script which displays SQL Text, REM SID
and Object name of the locks currently REM being held in the database.
REM MODULE : lock_held.sql
Set pagesize 60
Set linesize 132
select s.username username, a.sid sid, a.owner||'.'||a.object object, s.lockwait, t.sql_text SQL
from v$sqltext t, v$session s, v$access a
where t.address = s.sql_address and t.hash_value = s.sql_hash_value
and s.sid = a.sid and a.owner != 'SYS'
and upper(substr(a.object,1,2)) != 'V$' ;
REM REM End of "Lock Monitoring Script" REM 3:产生等待锁的用户报告
SELECT sn.username,m.sid, m.type, DECODE(m.lmode, 0, 'None', 1, 'Null', 2, 'Row Share',
3, 'Row Excl.', 4, 'Share', 5, 'S/Row Excl.', 6, 'Exclusive', lmode,
ltrim(to_char(lmode,'990'))) lmode,
DECODE(m.request, 0, 'None', 1, 'Null', 2, 'Row Share', 3, 'Row Excl.', 4, 'Share',
5, 'S/Row Excl.', 6, 'Exclusive', request, ltrim(to_char(m.request,'990'))) request,
m.id1, m.id2
FROM v$session sn, v$lock m |
WHERE (sn.sid = m.sid AND m.request != 0)
OR ( sn.sid = m.sid AND m.request = 0 AND lmode != 4 AND (id1, id2) IN (SELECT s.id1, s.id2
FROM v$lock s
WHERE request != 0 AND s.id1 = m.id1 AND s.id2 = m.id2) )
ORDER BY id1, id2, m.request;
4:显示持有锁的信息:
select nvl(S.USERNAME,'Internal') username, nvl(S.TERMINAL,'None') terminal, L.SID||','||S.SERIAL# Kill, U1.NAME||'.'||substr(T1.NAME,1,20) tab,
decode(L.LMODE, 1,'No Lock', 2,'Row Share', 3,'Row Exclusive', 4,'Share',
5,'Share Row Exclusive', 6,'Exclusive',null) lmode,
decode(L.REQUEST,1,'No Lock', 2,'Row Share', 3,'Row Exclusive', 4,'Share',
5,'Share Row Exclusive', 6,'Exclusive',null) request
from V$LOCK L, V$SESSION S, SYS.USER$ U1, SYS.OBJ$ T1
where L.SID = S.SID and T1.OBJ# = decode(L.ID2,0,L.ID1,L.ID2) and U1.USER# = T1.OWNER# and S.TYPE != 'BACKGROUND'
order by 1,2,5
--MAXEXTENTS到达
select owner,segment_name,segment_type,extents,max_extents,tablespace_name
from dba_segments
where extents>=(max_extents-5);--无法分配下一个扩展内容
select owner,tablespace_name,segment_name,next_extent
from dba_segments ds
where next_extent > (select max(bytes) from dba_free_space
where tablespace_name=ds.tablespace_name)
order by 1,2,3;--检查各表空间的数据文件的整个分配大小
select tablespace_name, file_name, bytes/1024/1024 "allocated (MB)" from dba_data_files order by tablespace_name,file_name;--检查各表空间的自由空间数
select tablespace_name, sum(bytes)/1024/1024 "Free Space(MB)", Max(bytes)/1024/1024 "Largest chunk(MB)"
from dba_free_space
group by tablespace_name;--查会话数
select username, osuser, server, status, count(*)
from v$session
where username is NOT NULL
-- and username <>'SYS' and username <>'SYSTEM'
group by username, osuser, server, status;--查特定会话执行的SQL语句。
select sql_text
from v$sqltext_with_newlines
where (hash_value, address) in (select sql_hash_value, sql_address from v$session
where sid=? )
order by address,piece;--检测错误书写的SQL,避免在库Cache中共享SQL语句???
select sql_text, loaded_versions, version_count, sharable_mem
from v$sqlarea
where loaded_versions>5
order by sharable_mem;--检测发生在数据库中对SQL语句的过多分析。如果值连续的快速增加,特别是在高峰期,那么可能在库Cache中出现了SQL问题。
select name, value from v$sysstat where name like 'parse count%';--???如果语句执行的次数比语法分析次数的2 倍还少,那么说明语法分析的次数过多了
select substr(sql_text,1,130), parse_calls, executions
from v$sqlarea
where executions < (parse_calls*2);--如果前面访问中的GETHITRATIO 很低(少于8 5 %),那么就要引起注意
select gethitratio from v$librarycache
where namespace='SQL AREA';
--查出哪个进程正在使用哪一个回滚段
column "Oracle UserName" format a15
column "RBS Name" format a15
select r.name "RBS NAME", p.spid, l.sid "ORACLE PID", s.username "Oracle UserName"
from v$lock l, v$process p, v$rollname r, v$session s
where s.sid = l.sid and l.sid = p.pid(+)
and r.usn = trunc(l.id1(+)/65536)
and l.type(+) = 'TX' and l.lmode(+) = 6
order by r.name;--表空间内容的映射
set lines 150 pages 1000
column "Fil_ID" format 999 heading "Fil|ID"
column "Fil" format A55 heading "Fil-name"
column "Segment" format a55
column "Start blk" format 999999 heading "Strt|blk"
column "# blocks" format 999,999 heading "#|blks"
select d.file_id "Fil_ID", d.file_name "Fil", segment_type || ' ' || owner ||'.'||
segment_name "Segment", e.block_id "Start blk", e.blocks "# blocks"
from dba_extents e, dba_data_files d
where e.tablespace_name = upper('&tblspc_name')
and d.tablespace_name = e.tablespace_name
and d.file_id = e.file_id
union
select s.file_id, d.file_name, 'Free chunk', s.block_id, s.blocks
from dba_free_space s, dba_data_files d
where s.tablespace_name = upper('&tblspc_name')
and d.tablespace_name = s.tablespace_name
and d.file_id = s.file_id
order by 1,4,5;--所有会话都会遇到的当前等待
column event format a40
select event, sum(decode(wait_time,0,1,0)) "Currently Waiting", count(*) "Total Waits"
from v$session_wait
group by event
order by 3;select event, sid, sum(decode(wait_time,0,1,0)) "Currently Waiting", count(*) "Total Waits"
from v$session_wait
group by event,sid;--数据库中到目前为止遇到的等待
select event, total_waits from v$system_event order by 2;--监控临时段使用情况
select tablespace_name, added_extents, free_extents from v$sort_segment;--监控回滚段头块的等待
select class, count from v$waitstat where class in ('undo header', 'system undo header');--通过检验已经分配的扩展数跟踪相关模式中的段增长情况
set linesize 140
column owner format a15
column segment_name format a30
column segment_type format a5 heading 'TYPE'
select owner, segment_name, segment_type, initial_extent/1024 "Initial (KB)",
next_extent/1024 "Next (KB)", extents "# extents"
from dba_segments
where segment_type in ('TABLE','INDEX')
and owner in ('OPER_LZ')
order by owner, segment_type, extents desc;--列出数据库等待的事件
select substr(event,1,30) "Event",
round(time_waited/100) "Time (secs)",
total_waits "Tot waits", total_timeouts "Timeouts",
round(average_wait/100,2) "Avg (secs)"
from v$system_event
order by 2 desc;
-- system-wide latch acquistion
set lines 240
column name format a40
select l.name, l.addr, l.gets, l.misses, l.sleeps,
l.immediate_gets, l.immediate_misses, h.pid
from v$latch l, v$latchholder h
where l.addr = h.laddr(+)
order by l.latch#;-- Soecific latch statistics (by latch name)
column name format a40
set lines 240
select l.name, l.addr, l.gets, l.misses, l.sleeps,
l.immediate_gets, l.immediate_misses, h.pid
from v$latch l, v$latchholder h
where l.addr=h.laddr(+)
and upper(l.name) like upper('%&latch_name_in_upper_case%')
order by l.latch#;--查看库函数C a c h e 命中率
select sum(pins)/(sum(pins)+sum(reloads))*100 from v$librarycache;--确定行C a c h e 的命中率:
select sum(gets)/(sum(gets)+sum(getmisses))*100 from v$rowcache;