Oracle 用户如何连接SysDBA?
我们在数据库上启动Oracle审计和Onlogon过程审计。 我们弄糊涂了,SysDBA可以连接到哪个系统。SysDBA是Oracle用户吗? 在SQL*Plus中,是否有此帐户的命令 我们的登录PL/SQL代码Oracle 用户如何连接SysDBA?,oracle,security,audit,database-administration,Oracle,Security,Audit,Database Administration,我们在数据库上启动Oracle审计和Onlogon过程审计。 我们弄糊涂了,SysDBA可以连接到哪个系统。SysDBA是Oracle用户吗? 在SQL*Plus中,是否有此帐户的命令 我们的登录PL/SQL代码 CREATE OR REPLACE TRIGGER logon_audit_trigger AFTER LOGON ON DATABASE ... insert into logon_log (user_id , session_id ,
CREATE OR REPLACE TRIGGER logon_audit_trigger AFTER LOGON ON DATABASE
...
insert into logon_log
(user_id ,
session_id ,
sid ,
serial# ,
host ,
ip_address ,
last_action ,
last_module ,
logon_day ,
logon_time ,
logoff_day ,
logoff_time ,
elapsed_minutes,
elapsed_seconds)
values(
user,
sys_context('USERENV','SESSIONID'),
sys_context('USERENV','SID'),
dbms_debug_jdwp.current_session_serial,
sys_context('USERENV','HOST'),
sys_context('USERENV','IP_ADDRESS'),
action_name,
module_name,
lo_dt,
to_char(lo_dt, 'hh24:mi:ss'),
null,
null,
null,
null
);
从登录日志中选择*
USER_ID SESSION_ID SID SERIAL# HOST IP_ADDRESS LAST_MODULE LOGON_DAY
JOHN 393900 282 1186 ERO\APPS 192.168.1.103 frmweb.exe 1/31/2013 9:27:49 AM
JOHN 393903 189 1005 ERO\SECC 192.168.1.110 SQL*Plus 1/31/2013 9:28:12 AM
JOHN 393929 167 288 ERO\SECC 192.168.1.110 plsqldev.exe 1/31/2013 9:38:37 AM
JOHN 393930 198 858 ERO\SECC 192.168.1.110 plsqldev.exe 1/31/2013 9:38:37 AM
JOHN 393983 179 6066 ERO\SECC 192.168.1.110 frmbld.exe 1/31/2013 9:58:21 AM
JOHN 393987 182 231 ERO\SECC 192.168.1.110 frmbld.exe 1/31/2013 9:59:17 AM
JOHN 393941 278 1429 ERO\SECC 192.168.1.110 plsqldev.exe 1/31/2013 9:42:26 AM
JOHN 394060 305 1337 ERO\SECC 192.168.1.110 plsqldev.exe 1/31/2013 10:36:34 AM
JOHN 394129 261 5236 ERO\SECC 192.168.1.110 plsqldev.exe 1/31/2013 11:16:40 AM
JOHN 394196 269 783 ERO\SECC 192.168.1.110 SQL*Plus 1/31/2013 11:58:20 AM
JOHN 394199 309 701 ERO\APPS 192.168.1.103 frmweb.exe 1/31/2013 12:00:04 PM
JOHN 394240 196 578 ERO\SECC 192.168.1.110 SQL*Plus 1/31/2013 12:28:53 PM
JPHN 394243 248 702 ERO\SECC 192.168.1.110 frmbld.exe 1/31/2013 12:30:56 PM
SysDBA 394249 196 580 ERO\SECC 192.168.1.110 1/31/2013 12:31:56 PM
JOHN 394252 248 704 ERO\SECC 192.168.1.110 frmbld.exe 1/31/2013 12:32:57 PM
JOHN 394259 248 706 ERO\SECC 192.168.1.110 frmbld.exe 1/31/2013 12:35:29 PM
JOHN 394263 196 587 ERO\SECC 192.168.1.110 SQL*Plus 1/31/2013 12:36:49 PM
SysDBA 394264 196 589 ERO\SECC 192.168.1.110 1/31/2013 12:37:07 PM
为什么UserID是SysDBA
其他数据:
Select * From DBA_USER
USERNAME SysDBA
USER_ID 390
PASSWORD BD40E271960C5535
ACCOUNT_STATUS OPEN
LOCK_DATE
EXPIRY_DATE
DEFAULT_TABLESPACE USERS
TEMPORARY_TABLESPACE TEMP
CREATED 8/1/2012 10:28:51 AM
PROFILE DEFAULT
INITIAL_RSRC_CONSUMER_GROUP DEFAULT_CONSUMER_GROUP
EXTERNAL_NAME
你没有完全明白你的想法。您询问“SysDBA Oracle用户是吗?”,答案是“否”,不是。被授予该权限的用户可以使用管理权限进行连接,如:
connect / as sysdba
这与您的SysDBA
用户的连接方式截然不同:
connect "SysDBA"/sysdba
该用户是由您组织中的某个人在您的数据库中创建的;这不是一个默认的Oracle帐户,它们是完全不相关的,尽管我认为它也可以被授予SYSDBA
特权,只是为了真正搞乱你。(是的,恐怕这就是密码)
还要注意,它是用混合大小写创建的,这意味着在查询外部使用时需要引用它。你可以做:
select * from dba_users where username = 'SysDBA';
。。。但是如果您没有引用表列值,则必须引用它,如上面的connect
和alter user
中所示:
alter user "SysDBA" account lock;
它看起来可能是一个应用程序的内部帐户,并且没有通过调用设置模块(
v$session.program
?),因此可能是一个内部应用程序。如果是这样的话,您可能会发现它为什么在那里以及它在做什么,以及它为什么被命名为一个令人困惑的名称,但是锁定它可能会给运行该应用程序的人带来问题。您需要与DBA/安装Oracle的人谈谈。SYSDBA是具有DBA权限的Oracle系统用户。你真的不应该用它。我发现该用户的资本化可疑(即,它实际上可能不是SYSDBA)。它在输出中呈现为SYSDBA还是SYSDBA?在输出中呈现为SYSDBA,这种类型的用户让我们感到困惑。。。选择*from dba_user-->结果:239 SysDBA 390 BD40E271960C5535 OPEN USERS TEMP 8/1/2012 10:28:51 AM DEFAULT_CONSUMER_groups这真的是同一个问题吗?作为SysDBA连接和作为SysDBA
用户连接之间有很大的区别。用户SYSDBA
不存在;因为它是用混合大小写创建的(真的吗?谁认为这是个好主意?),使用时需要引用它,例如,alter“SysDBA”account lock
。您的应用程序中可能有东西正在连接到该帐户,因此锁定它可能会破坏一切。@Ben-SYSDBA
是一种系统特权,而不是用户帐户;我不希望在dba\u用户中看到它(无论如何!)。