ORA-28056 处理

解决过程:

打开windows 事件查看器,将应用程序日志清理一下,重新连接数据库,连接成功。启动数据库,启动正常。

Symptoms

connect as sysdba fails with:
ORA-28056: Writing audit records to Windows Event Log failed.

Cause
Event Viewer log is full and not able to log anymore events.

Justified by unpublished Bug.6823281 ORA-28056 WRITING AUDIT RECORDS TO WINDOWS EVENT LOG FAILED

which was closed as not a bug.

Solution
Try doing the following using Event Viewer:
.
To open Event Viewer, click Start, click Control Panel,
click Performance and Maintenance, click Administrative Tools,
and then double-click Event Viewer.
.
You must be logged on as an administrator or a member of the
Administrators group to free an event log.
.
1) When a log is full, it stops recording new events. Clearing the log
is one way to free the log and start recording new events.
.
2) You can also free a log and start recording new events by overwriting
old events. To overwrite events, on the Action menu, click Properties,
and then click Overwrite events as needed. This ensures that all new
events are written to the log, even when the log is full.
.
3) You can also start logging new events by increasing the maximum
log size. To increase the log size, on the Action menu, click Properties,
and then increase the Maximum log size.

还有个问题,域用户,虽然是属于admin组,但却无法查看日志??
最后通过

コントロール パネル パフォーマンスとメンテナンス 管理ツール イベント ビューア

Oracle 常用SQL命令(2)

    1、查看表空间的名称及大小
  select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
  from dba_tablespaces t, dba_data_files d
  where t.tablespace_name = d.tablespace_name
  group by t.tablespace_name;

  2、查看表空间物理文件的名称及大小
  select tablespace_name, file_id, file_name,
  round(bytes/(1024*1024),0) total_space
  from dba_data_files
  order by tablespace_name;

  3、查看回滚段名称及大小
  select segment_name, tablespace_name, r.status, 
  (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, 
  max_extents, v.curext CurExtent
  From dba_rollback_segs r, v$rollstat v
  Where r.segment_id = v.usn(+)
  order by segment_name ;

  4、查看控制文件
  select name from v$controlfile;
  
  5、查看日志文件
  select member from v$logfile;

  6、查看表空间的使用情况
  select sum(bytes)/(1024*1024) as free_space,tablespace_name 
  from dba_free_space
  group by tablespace_name;
  SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
  (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
  FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME

  7、查看数据库库对象
  select owner, object_type, status, count(*) count# from all_objects group by owner,

object_type, status;

8、查看数据库的版本 
  Select version FROM Product_component_version 
  Where SUBSTR(PRODUCT,1,6)=’Oracle’;

Oracle 常用SQL命令(1)

基本查询指令

select * from V$PWFILE_USERS //查看dba用户
select * from v$version //查看oracle版本以及系统版本
select * from session_privs;// 查看当前用户拥有的权限值
select * from user_role_privs查询当前用户角色
select * from user_sys_privs查询当前用户系统权限
  
  
select username,password from dba_users; //查看所有用户密码hash
select * from dba_sys_privs where grantee=’SYSTEM’;查系统权限
grant select any dictionary to system with admin option;登陆不上OEM时候需要此权限
Select name,password FROM user$ Where name=’SCOTT’; //低版本查看单用户密码
Select username,decode(password,NULL,’NULL’,password) password FROM dba_users; //查看用户hash
create user bob identified by iloveyou;建用户bob密码iloveyou
grant dba to bob;赋予bob DBA权限
grant execute on xmldom to bob 赋予用户execute  
Create ROLE "javauserpriv" NOT IDENTIFIED
Create ROLE "javasyspriv" NOT IDENTIFIED 当提示role ‘JAVASYSPRIV’ does not exist使用
select grantee from dba_role_privs where granted_role=’DBA’; 检查那些用户有DBA权限
select * from dba_directories;查看路径所在目录  
select * from V$PWFILE_USERS //查看dba用户
select * from v$version //查看oracle版本以及系统版本
select * from session_privs;// 查看当前用户拥有的权限值
select * from user_role_privs查询当前用户角色
select * from user_sys_privs查询当前用户系统权限

select username,password from dba_users; //查看所有用户密码hash
select * from dba_sys_privs where grantee=’SYSTEM’;查系统权限
grant select any dictionary to system with admin option;登陆不上OEM时候需要此权限
Select name,password FROM user$ Where name=’SCOTT’; //低版本查看单用户密码
Select username,decode(password,NULL,’NULL’,password) password FROM dba_users; //查看用户hash
create user bob identified by iloveyou;建用户bob密码iloveyou
grant dba to bob;赋予bob DBA权限
grant execute on xmldom to bob 赋予用户execute

转自网络

oracle 版本查询命令及相关

查询Oracle各组件的版本信息,最好的方法是用opatch工具,可以查询得到详细的安装组件版本。

select * from PRODUCT_COMPONENT_VERSION;

select * from v$version;

结果似乎不同,看这两者的来源,可以借用一下sqlplus的autotrace功能:

SQL> set autotrace trace explain
SQL> select * from v$version;
可以发现,这两者都来自底层表x$version,也就是说这两个视图同源,只不过展现有所不同而已。
查询一下x$version的基本信息:
SQL> col indx for 9999
SQL> col inst_id for 99
SQL> select * from x$version;

以上来源于网络。

x$version 找不到……比较奇怪
原因有待再查。。。