oracle 忘记用户密码如何修改


标记下,免得忘记了,这个是忘记了dba用户时候如何处理, 其他用户可以参照此格式,不再重复。
-------忘记sys dba用户密码了
sqlplus /nolog
connect /as sysdba

alert user sys identified by system;


网上抄了些常用命令,一并保存在此方便查阅

--查询表空间名称和大小
 
  SELECT UPPER (F.TABLESPACE_NAME) "表空间名",
         D.TOT_GROOTTE_MB "表空间大小(M)",
         D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
         TO_CHAR (ROUND ((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2), '990.99') "使用比",
         F.TOTAL_BYTES "空闲空间(M)",
         F.MAX_BYTES "最大块(M)"
    FROM (  SELECT TABLESPACE_NAME,
                   ROUND (SUM (BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
                   ROUND (MAX (BYTES) / (1024 * 1024), 2) MAX_BYTES
              FROM SYS.DBA_FREE_SPACE
          GROUP BY TABLESPACE_NAME) F,
         (  SELECT DD.TABLESPACE_NAME,
                   ROUND (SUM (DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
              FROM SYS.DBA_DATA_FILES DD
          GROUP BY DD.TABLESPACE_NAME) D
   WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;
 
 
 
 
--查看数据库引起锁表的SQL语句:
 
  SELECT A.USERNAME,
         A.MACHINE,
         A.PROGRAM,
         A.SID,
         A.SERIAL#,
         A.STATUS,
         C.PIECE,
         C.SQL_TEXT
    FROM V$SESSION A,
         V$SQLTEXT C
   WHERE     A.SID IN (SELECT DISTINCT T2.SID
                         FROM V$LOCKED_OBJECT T1,
                              V$SESSION T2
                        WHERE T1.SESSION_ID = T2.SID)
         AND A.SQL_ADDRESS = C.ADDRESS(+)
ORDER BY C.PIECE;
 
 
--查看数据库锁的情况必须要有DBA权限,可以使用一下SQL 语句:
 
 
SELECT object_id, session_id, locked_mode FROM v$locked_object;
 
  SELECT t2.username,
         t2.sid,
         t2.serial#,
         t2.logon_time
    FROM v$locked_object t1, v$session t2
   WHERE t1.session_id = t2.sid
ORDER BY t2.logon_time;
 
 
--查看被锁的表
 
SELECT P.SPID,
       A.SERIAL#,
       C.OBJECT_NAME,
       B.SESSION_ID,
       B.ORACLE_USERNAME,
       B.OS_USER_NAME
  FROM V$PROCESS P,
       V$SESSION A,
       V$LOCKED_OBJECT B,
       ALL_OBJECTS C
 WHERE     P.ADDR = A.PADDR
       AND A.PROCESS = B.PROCESS
       AND C.OBJECT_ID = B.OBJECT_ID;
      
      
      
--杀掉进程
ALTER SYSTEM KILL SESSION 'sid,serial#';
 
--查看连接数
SELECT COUNT (*) FROM v$session;
 
--查看并发连接数
SELECT COUNT(*) FROM V$SESSION WHERE STATUS='ACTIVE';
 
--查看连接的进程
SELECT SID, SERIAL#, USERNAME, OSUSER FROM V$SESSION;
 
--查看数据库使用的裸设备
  SELECT *
    FROM dba_data_files
ORDER BY file_name;
 
  SELECT *
    FROM dba_temp_files
ORDER BY file_name;
 
  SELECT *
    FROM v$controlfile
ORDER BY file_name;
 
  SELECT *
    FROM v$logfile;
 
--具体的方法是查询dba_data_files,dba_temp_files,v$controlfile和v$logfile看这四类文件具体占用的裸设备
 
--查询所有用户表使用大小的前三十名
select * from (select segment_name,bytes from dba_segments where owner = USER order by bytes desc ) where rownum <= 30;
 
--以下的SQL语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status from v$session;
 
--如果DBA要手工断开某个会话,则执行:
alter system kill session 'SID,SERIAL#';
--注意,上例中SID为1到7(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何操作。
 
--查询表空间有那些表:
select table_name from all_tables where tablespace_name= 'TEMP';

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值