oracle密码文件管理

密码文件作用:

密码文件用于dba用户的登录认证。

dba用户:具备sysdba和sysoper权限的用户,即oracle的sys和system用户。

本地登录:

1)操作系统认证:

[[email protected] ~]$ sqlplus "/as sysdba"

[[email protected] ~]$ sqlplus / as sysdba

[[email protected] ~]$ sqlplus sys/tiger as sysdba

2)密码文件认证:

[[email protected] ~]$ sqlplus sys/[email protected] as sysdba

远程密码文件登录:

[[email protected] ~]$ sqlplus sys/[email protected]:1521/orcl as sysdba

密码文件位置:

linux/unix:[[email protected] ~]$ ls $ORACLE_HOME/dbs/orapw$ORACLE_SID

/u01/oracle/10g/dbs/orapworcl

/u01/oracle/10g/dbs/orapwrezin

windows:$ORACLE_HOME/oradate/orapw$ORACLE_SID

密码文件查找顺序:

         1)opapw<sid>

2)orapw

以上两个都查找不到,验证失败。

密码文件认证还是OS认证:

1)参数文件:remote_login_passwordfile=none|exclusive|shared

none:不使用密码文件认证

exclusive:使用密码文件认证,自己独占使用(默认)

shared:使用密码文件认证,不同实例dba用户可以共享密码文件(asm下必须使用)

2)$ORACLE_HOME/network/admin/sqlnet.ora文件下:

SQLNET.AUTHENTICATION_SERVICES =none|all|nts(linux下默认没有设置)

none:关闭OS认证,只能密码文件认证

all:linux平台关闭本机密码文件认证,采用操作系统认证,但是远程(异机)可以密码文件认证

nts:windows下使用(桶linux下all)

练习:

1)配置:remote_login_passwordfile=exclusive

SQLNET.AUTHENTICATION_SERVICES =none

结果:可以密码文件认证(本地/远超),不可以操作系统认证

[[email protected] ~]$ sqlplus sys/tiger as sysdba(本地密码文件登录)

[[email protected] ~]$ sqlplus sys/[email protected] as sysdba(本地密码文件登录)

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:00:39 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

???:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> exit

? Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options ??

[[email protected] ~]$ sqlplus / as sysdba(OS认证)

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:00:51 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:

ORA-01031: insufficient privileges

Enter user-name:

[[email protected] ~]$ sqlplus "/as sysdba"(OS认证)

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:01:04 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:

ORA-01031: insufficient privileges

Enter user-name:

2)配置:remote_login_passwordfile=exclusive

SQLNET.AUTHENTICATION_SERVICES =all

结果:本机密码文件认证不可用,但是远程密码文件认证可用,本机OS认证可用

[[email protected] ~]$ sqlplus "/as sysdba"(本机OS认证登录成功)

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:45:35 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

[[email protected] ~]$ sqlplus sys/[email protected] as sysdba(本机密码文件认证失败)

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:46:52 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:

ORA-12641: Authentication service failed to initialize

Enter user-name:

C: >sqlplus sys/[email protected]:1521/orcl as sysdba(远程密码文件登录成功)

SQL*Plus: Release 11.2.0.1.0 Production on 星期六 3月 14 11:58:38 2015

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL>

[[email protected] ~]$ sqlplus scott/tiger(普通用户本地OS登录成功)

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 20:01:57 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL>

[[email protected] ~]$ sqlplus scott/[email protected](登录失败)

[[email protected] ~]$ sqlplus scott/t (登录失败)

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 20:02:52 2015

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:

ORA-12641: Authentication service failed to initialize

Enter user-name:

密码文件管理:

密码文件建立:orapwd命令用法(不建议使用)

[[email protected] ~]$ orapwd

Usage: orapwd file=<fname> password=<password> entries=<users> force=<y/n>

where

file - name of password file (mand),  -->创建密码文件名字:orapw<sid>

password - password for SYS (mand), -->sys用户密码

entries - maximum number of distinct DBA and  -->可以有多少个sysdba和sysoper用户可以放到密码文件里边去(采用二进制方式,即输入1表示最少存放4个,去除重复的)

force - whether to overwrite existing file (opt), -->oracle 10g后新加的参数,用法:force=n或force=y,表示密码文件存在是否覆盖,10g之前只能删除原有的密码文件,再创建。

OPERs (opt),

There are no spaces around the equal-to (=) character.

例如:[[email protected] ~]$orapwd file=orapworcl password=rezin entries=1 force=y

密码文件修改:例如 修改sys用户密码或授予sysdba、sysoper权限

         orapwd重建密码文件:不建议使用,可能会让其他sys用户不能登录

alter user sys identified by <new password>

grant sysdba|sysoper to <user>;

revoke sysdba|sysoper from <user>

查看密码文件内容:strings指令查看二进制文件内容。

[[email protected] dbs]$ strings orapworcl

]\[Z

ORACLE Remote Password file

INTERNAL

9D9FF9FDAFB17385

E6BAA2164C375C09

sysdba和sysoper具体区别:查看官方文档

通过system_privilege_map视图查看系统权限:

SQL> select * from system_privilege_map

2  where name like ‘%SYS%‘;

PRIVILEGE NAME                                       PROPERTY

---------- ---------------------------------------- ----------------------------------------------------------

-3 ALTER SYSTEM                                      0

-4 AUDIT SYSTEM                                      0

-83 SYSDBA                                            0

-84 SYSOPER                                           0

查看用户系统权限通过密码文件视图v$pwfile_user查看:

SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP

------------------------------ ----- -----

SYS                            TRUE  TRUE

通过以上查询可以知道,sys用户登录方式既可以通过as sysdba登录schema显示‘SYS’,也可以通过as sysoper登录schema显示‘PUBLIC’。

LAST验证:

1、按照组合:

1)remote_login_passwordfile=none                       sqlnet.authentication_services=none

2)remote_login_passwordfile=exclusive  sqlnet.authentication_services=none

3)remote_login_passwordfile=none                       sqlnet.authentication_services=all

如果是win,请你把all改为nts

4)remote_login_passwordfile=exclusive               sqlnet.authentication_services=all

分别测试:

本机:sqlplus / as sysdba

sqlplus sys/<pswd> as sysdba

sqlplus sys/<pswd>@<sid> as sysdba

远程:sqlplus sys/<pswd>@<sid> as sysdba

sqlplus sys/<pswd>@ip:port/<sid> as sysdba

测试哪些组合可以登录成功,哪些不能登录成功。

总结出如果关闭OS验证;如何关闭密码文件验证;如何关闭本地密码文件验证;如何关闭远程密码文件验证。

2、修改remote_login_passwordfile=shated然后使用alter user sys identified by <pswd>;修改密码,测试能否修改成功。

3、如果sys密码丢失或不对,你如何做?

4、sysdba、sysoper区别在哪,普通用户如何使用密码文件已sysdba或sysoper登录。

时间: 2024-12-22 23:30:14

oracle密码文件管理的相关文章

rac环境密码文件管理

密码文件作用: 密码文件用于dba用户的登录认证. dba用户:具备sysdba和sysoper权限的用户,即oracle的sys和system用户. RAC环境中多个节点的密码文件应该保证一致,否则在以DBA权限登陆数据库的时候可能造成问题. 密码文件位置: linux/unix:[[email protected] ~]$ ls $ORACLE_HOME/dbs/orapw$ORACLE_SID windows:$ORACLE_HOME/database/orapw$ORACLE_SID 密

[读书笔记]ORACLE数据库文件管理

数据库文件包括数据文件.日志文件.控制文件和密码文件.参数文件等,对于这些文件的管理可以看作是增删改查的过程. 1.数据文件管理 增: 新增表空间时增加数据文件 create tablespace test_2016 datafile '/u01/app/oracle/oradata/orcl/test_01.dbf' size 10M autoextend on next 10M maxsize 100M; 表空间增加数据文件 alter tablespace test_2016 add da

oracle 密码文件文件

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

(转)Oracle 密码文件

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

Oracle 数据文件管理

1.手工改变数据文件的大小 SQL>conn / as sysdba SQL>Createtablespace exampletb Datafile 'E:\ examp01.dbf' size 10M ; SQL>alter database datafile 'E:\examp01.dbf' resize 20m; SQL>alter database datafile 'E:\examp01.dbf' resize 9m; 2.添加数据文件到表空间 SQL> alter

Oracle 密码文件与用户密码的关系

今天一位同事接到一项任务是修改数据库SYS和SYSTEM用户的密码,老大在布置任务的时候还带了一句别忘了同步密码文件,于是想到了自己前几天写的一篇博客介绍Oracle密码文件的,当时只是写了如何创建密码文件,如何远程使用SYSDBA登录数据库做操作,但是并没有提到密码文件中用户的密码跟数据库中用户的密码是否有关系. 下面来测试一下,我用的平台是11.2.0.4 首先修改SYS的密码 [email protected]>alter user sys identified by zhaoxu; Us

oracle归档文件管理

归档文件管理 oracle归档文件,常常出现爆满或者挂载不上,这里简单介绍一例爆满的案例. 备份归档文件:Backup archivelog all: 备份归档日志 1.sql>alter system archive logcurrent;   归档一下当前日志 2.Sql>show parameter archive;          查看归档目录 3.Rman>backup archivelog all;           备份归档 Rman>backup archive

修改oracle密码

开始- 运行 - 输入“CMD” 确定在弹出来的窗口中,输入SQLPLUS / AS SYSDBA 回车然后,用命令修改:alter user 用户名 identified by "密码"; 回车~ 注意冒号~ 修改oracle密码

【翻译自mos文章】oracle密码管理策略

oracle密码管理策略 参考原文: Oracle Password Management Policy (Doc ID 114930.1) 细节: 密码管理通过使用profile来建立. 当密码过期后,如果user有能力独立地从 end-user application(前台业务软件)修改密码的话,通常的推荐是只指派给这些schemas 一个profile,该profile有  password aging an expiration features . 通常这意味着application(