预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共75页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数据库建立以后,会产生两个重要的用户:sys和system sys是超级管理员,必须作为sysdba登陆,这是安全措施 因为sys的权限太大,使用sysdba登陆以后,审计文件会记录登录的时间信息,system没有sys的权限大 最通常的用法是:日常管理中,不要使用sys和system登录数据库,而是建立一个用户、并赋予DBA角色,使用该用户进行日常的管理工作创建用户CREATEUSER"SYSADMIN"PROFILE"DEFAULT"IDENTIFIEDBY"*******"PASSWORDEXPIREDEFAULTTABLESPACE"USERS"TEMPORARYTABLESPACE"TEMP"ACCOUNTUNLOCKGRANT"CONNECT"TO"SYSADMIN"看一下外部认证(操作系统认证的例子)CREATEUSER"OPS$ORA"PROFILE"DEFAULT"IDENTIFIEDEXTERNALLYDEFAULTTABLESPACE"USERS"TEMPORARYTABLESPACE"TEMP"ACCOUNTUNLOCKGRANT"CONNECT"TO"OPS$ORA"不需要使用用户名和密码就可以直接登录。这就是一个反例,如果在数据库里面没有建立相应的用户名,不能使用外部认证。1、对于普通用户来说,账号存储在数据字典的表里面,数据库没有启动以前,不能对用户进行认证。 2、对sys用户的认证方式有些特殊,因为sys用户需要在数据库还没有启动的情况下进行登录,对sys用户的认证主要有两种方式 操作系统认证 密码文件认证 操作系统认证 unix下面,如果用户属于DBA组,那么用户登录操作系统后就可以使 用sysdba进行登录 windows下面,如果用户属于ora_dba组,那么用户登录操作系统以 后,可以使用sysdba进行登录 //如果用户属于DBA组,那么就可以使用操作系统认证,使用DBA角色登录数据库。在这方面,我们使用最多的就是Oracle用户。 上面的认证需要我们的用户登陆Oracle所在的数据库服务器上。是否使用操作系统认证,还取决于一个设置如果改成NONE,那么表示不能使用操作系统进行认证。远程登录Oracle,如何实现sys认证,就需要使用口令文件。 远程登录,必须提供sys的密码,这是安全要求。但是密码又不能存放在数据字典表里面,只能存放在另外一个位置,那就是密码文件。 1、在服务器上建立一个密码文件 unix上位于$ORACLE_HOME/dbs windows上位于$ORACLE_HOME/database上面建立了一个口令文件,这个口令文件可以允许5个不同的oracle用户拥有sysdba权限。2、设置初始化参数禁用操作系统以后,只能使用口令文件登陆。 因为sysdba只有两种认证方式。目前使用口令文件只允许Oracle用户。显然可以使用口令文件进行认证了,但是目前为止只能sys用户使用口令文件。修改了参数以后,权限不够了。 因为OS和口令文件全部禁止了,因此没有办法启动数据库了,只能修改OS认证了。//要启用口令文件认证,需要设置口令文件和配置上面的remote参数 默认只有sys可以使用口令文件。密码文件丢失的情况可以重建口令文件。sysadmin也进入了口令文件中。用户sysadmin也可以在数据库没有启动的情况下,使用口令文件进行认证了。用户sys的密码存在口令文件和数据字典中,修改了密码以后,会同时更新两个地方的密码。口令文件中可以存放多个用户,这些用户都可以使用sysdba在数据库没有启动的情况下登录数据库。建立了一个用户shd,给这个用户分配了连个权限。另起一个会话,使用shd登陆,建立一个用户。这个用户不能够被删除,因为这个用户正在连接中。 如何强行中断呢?session一直没有删除,可能是PMON未启动或者未能成功的解锁。如果能够找到SPID的,那么就直接在linux上将这个进程给kill掉。虽然还是显示这个会话存在,但是过了一段时间以后,我们继续删除这个用户。发现另外报了一个错误,原来是这个用户下面对象。Profile的作用主要表现在两个方面 1、密码策略 2、对用户所能使用的资源进行管理 3、profile存放在数据字典里面,默认有一个名字为default的profile资源:kernel 密码:password单位为天,在指定的天数以内,设定的密码不能重复。密码复杂度,通过一个函数来实现。如何建立这个函数,有一个样例。…..可以修个脚本来建立密码函数,默认这个脚本执行后建立一个函数,这个函数绑定到defaultprofile上。我们可以修改这个脚本达到我们的目的。一个密码函数绑定到了这个配置文件上。同一个用户同时最多能够产生多少个sessionSE