I know that When the parameter "remote_login_passwordfile" is set to "shared", we can not grant sysdba or sysooper priviledge to a user other than SYS. But at this time i can revoke sysdba or sysoper from a user who was granted these priviledges when the "remote_login_passwordfile" is "exclusive".Here is my experiments:
SQL>show parameter remote_login_passwordfile
NAME TYPE VALUE
------------------------------------ ----------- -----------
remote_login_passwordfile string EXCLUSIVE
SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
A FALSE TRUE
SYSTEM FALSE TRUE
SQL> alter system set remote_login_passwordfile=shared scope=spfile;
system altered
SQL> shutdown immediate
database closed
database dismounted
ORACLE instance shutdown
SQL> startup
ORACLE instance started

Total System Global Area 252779340 bytes
Fixed Size 453452 bytes
Variable Size 209715200 bytes
Database Buffers 41943040 bytes
Redo Buffers 667648 bytes

SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE

SQL> revoke sysoper from a;
revoke succeeded

After i set the remote_login_passwordfile to "exclusive" again and restart the database,user A is still granted the sysoper priviledge, Why ? the revoke command didn't work,did it ?
SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
A FALSE TRUE
SYSTEM FALSE TRUE

I think that When remote_login_passwordfile is set to none or shared, Oracle should not give a "revoke succeeded" response after "revoke sysoper from a" command was executed, what it should give is "cannot revoke users from public password file" which is just like the error info after "grant sysoper to a" in "shared" or "none" mode. Am I right ?