[20150529]revoke sysdba from user_name

[20150529]revoke sysdba from user_name.txt

SYS@test> @ver1

PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.3.0     Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

SYS@test> grant sysdba to scott;
Grant succeeded.

SYS@test> select * from V$PWFILE_USERS;
USERNAME             SYSDB SYSOP SYSAS
-------------------- ----- ----- -----
SYS                  TRUE  TRUE  FALSE
SCOTT                TRUE  FALSE FALSE

SYS@test> revoke sysdba from  scott;
Revoke succeeded.

SYS@test> select * from V$PWFILE_USERS;
USERNAME             SYSDB SYSOP SYSAS
-------------------- ----- ----- -----
SYS                  TRUE  TRUE  FALSE

$ strings orapwtest
]\[Z
ORACLE Remote Password file
INTERNAL
921BA08037BF42BA
2E77A75AE2AF294D
SCOTT
57964D8CE8DC6EB2

--可以发现口令文件里面并没有清除,这个是别人问我的问题.why?

SYS@test> revoke sysoper from  scott;
Revoke succeeded.

$ strings orapwtest
]\[Z
ORACLE Remote Password file
INTERNAL
921BA08037BF42BA
2E77A75AE2AF294D
SCOTT
57964D8CE8DC6EB2
--问题依旧.

SYS@test> column VIEW_DEFINITION format a100
SYS@test> select * from V$FIXED_VIEW_DEFINITION where view_name='GV$PWFILE_USERS';
VIEW_NAME                      VIEW_DEFINITION
------------------------------ ----------------------------------------------------------------------------------------------------
GV$PWFILE_USERS                select inst_id,username,decode(sysdba,1,'TRUE','FALSE'),  decode(sysoper,1,'TRUE','FALSE'), decode(s
                               ysasm,1,'TRUE','FALSE')  from x$kzsrt where valid=1  and username != 'INTERNAL'

--格式化:
SELECT inst_id, username, decode(sysdba, 1,'TRUE','FALSE'), decode(sysoper, 1,'TRUE','FALSE'), decode(sysasm,
       1,'TRUE','FALSE')
  FROM x$kzsrt
WHERE valid    =  1
   AND username != 'INTERNAL';

--执行如下:
SYS@test> select * FROM x$kzsrt;
ADDR                   INDX    INST_ID USERNAME                 SYSDBA    SYSOPER     SYSASM      VALID
---------------- ---------- ---------- -------------------- ---------- ---------- ---------- ----------
0000002A9746B908          0          1 INTERNAL                      1          1          0          1
0000002A9746B908          1          1 SYS                           1          1          0          1
0000002A9746B908          2          1 SCOTT                         0          0          0          0

--可以发现revoke全部取消后,实际上修改口令文件某个标识VALID,并没有清除口令文件的信息.

$ cp orapwtest orapwtest.20150529

SYS@test> grant sysdba to scott;
Grant succeeded.

--对比两个文件orapwtest,orapwtest.20150529.
$ xxd -c 16 orapwtest > /tmp/a2.txt
$ xxd -c 16 orapwtest.20150529 > /tmp/a1.txt

$ diff -Nur /tmp/a1.txt /tmp/a2.txt
--- /tmp/a1.txt 2015-05-29 11:59:41.000000000 +0800
+++ /tmp/a2.txt 2015-05-29 11:59:36.000000000 +0800
@@ -54,7 +54,7 @@
0000350: 0000 0000 0000 0000 0000 0000 0500 0000  ................
0000360: 3537 3936 3444 3843 4538 4443 3645 4232  57964D8CE8DC6EB2
0000370: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-0000380: 1000 0000 18f6 7125 c768 6513 0eb8 99ab  .....鰍%莌e.....
+0000380: 1000 0000 1bf6 7125 c768 6513 0eb8 99ab  .....鰍%莌e.....
0000390: b60a 06c3 d063 a9a2 6ca2 c95d 7607 8db1  ...眯c..l.蒥v...
00003a0: 1f1f 0a00 0000 0000 0000 0000 0000 0000  ................
00003b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................

--可以发现仅仅修改1位. 18=>1b.
SYS@test> grant sysoper to scott;
Grant succeeded.

$ xxd -c 16 orapwtest > /tmp/a3.txt
$ diff -Nur /tmp/a1.txt /tmp/a3.txt
--- /tmp/a1.txt 2015-05-29 11:59:41.000000000 +0800
+++ /tmp/a3.txt 2015-05-29 12:03:00.000000000 +0800
@@ -54,7 +54,7 @@
0000350: 0000 0000 0000 0000 0000 0000 0500 0000  ................
0000360: 3537 3936 3444 3843 4538 4443 3645 4232  57964D8CE8DC6EB2
0000370: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-0000380: 1000 0000 18f6 7125 c768 6513 0eb8 99ab  .....鰍%莌e.....
+0000380: 1000 0000 1ff6 7125 c768 6513 0eb8 99ab  .....鰍%莌e.....
0000390: b60a 06c3 d063 a9a2 6ca2 c95d 7607 8db1  ...眯c..l.蒥v...
00003a0: 1f1f 0a00 0000 0000 0000 0000 0000 0000  ................
00003b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................

1000(0x8)=> 1010(0xb) => 1111(0xf)

时间: 2024-10-02 11:42:28

[20150529]revoke sysdba from user_name的相关文章

作为一个新手的Oracle(DBA)学习笔记

Oracle数据库笔记 Jack Chaing 作者QQ595696297 交流群 127591054 祝大家学习进步. 如果大家想看Word版本的可以去下载:Word排版比较清晰一些. http://download.csdn.net/detail/jack__chiang/9810532 此笔记是作者本人去年开始从一个DBA新人的学习笔记,积累至今,希望拿出来给那些对DBA有兴趣的童孩学习,大家一起努力嘛. 此笔记记录了作者工作学习中从零基础的学习的记录,和从中遇见的问题与问题的解决!很高兴

某人的oracle9i学习笔记,与大家分享

oracle|笔记 ######### 创建数据库----look $ORACLE_HOME/rdbms/admin/buildall.sql ############# create database db01 maxlogfiles 10 maxdatafiles 1024 maxinstances 2 logfile GROUP 1 ('/u01/oradata/db01/log_01_db01.rdo') SIZE 15M, GROUP 2 ('/u01/oradata/db01/log

android 常用工具命令

工具 核心功能 使用 adb 一个客户端服务器程序,使用命令行的方式与设备通信,需要设备开启usb debugging.功能包括:列设备.安装apk.拷贝文件.server启停.运行shell adb devicesadb bugreport 打印分析报告adb install path_to_apkadb push local remoteadb pull remote localadb logcat [optons] [filter-spec]:日志查询adb shell bmgr 应用的备

oracle一些重要文件的位置

SID_NAME=tinadb ORACLE_BASE=/u01 ORACLE_HOME=/u01/oracle  spfile文件位置: /u01/oracle/dbs/spfiletinadb.ora  参数文件位置: /u01/oracle/dbs/init.ora  alert文件位置: /u01/diag/rdbms/tinadb/tinadb/trace/alert_tinadb.log  alert log 是一个文本文件,可以用任何文本编辑器打开,它的位置可以通过SQL语句从数据

oracle 密码文件文件

密码文件作用: 密码文件用于dba用户的登录认证. dba用户:具备sysdba和sysoper权限的用户,即oracle的sys和system用户. 本地登录: 1)操作系统认证: [oracle@localhost ~]$ sqlplus "/as sysdba" [oracle@localhost ~]$ sqlplus / as sysdba [oracle@localhost ~]$ sqlplus sys/tiger as sysdba 2)密码文件认证:  [oracle

oracle学习笔记(转)

命令行操作:打开服务: services.msc启动Oracle: net start OracleOraHome92TNSListener     net start OracleService实例名停止Oracle: net stop OracleOraHome92TNSListener            net stop OracleService实例名打开Enterprise Manager Console: oemapp.bat console即会出现enterprise mana

AG阅读总结10.3——密码文件管理*

一.密码文件     作用:主要进行DBA权限的身份认证     DBA用户:具有sysdba,sysoper权限的用户被称为dba用户.默认情况下sysdba角色中存在sys用户,sysoper角色中存在system用户     二.Oracle的两种认证方式:     1.使用与操作系统集成的身份验证     2.使用Oracle数据库的密码文件进行身份认证   三.密码文件的位置     Linux下的存放位置:$ORACLE_HOME/dbs/orapw$ORACLE_SID      

Oracle 密码文件

--============================== -- Oracle密码文件 --============================== /* 一.密码文件    作用:主要进行DBA权限的身份认证    DBA用户:具有sysdba,sysoper权限的用户被称为dba用户.默认情况下sysdba角色中存在sys用户,sysoper角色中存在system用户     二.Oracle的两种认证方式:    1.使用与操作系统集成的身份验证    2.使用Oracle数据库

Oracle 创建用户及数据表的方法_oracle

一.概念 1. 数据库 (Database) 什么是数据库? 数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合.这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增.删.改和检索由统一软件进行管理和控制.从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的. 什么是数据库系统? 数据库系统是一个实际可运行的存储.维护和应用系统提供数据的软件系统,是存储介质.处理对象和管理系统的集合体.它通常由