Oracle管理监控 之 rac环境密码文件管理
密码文件作用:
密码文件用于dba用户的登录认证。
dba用户:具备sysdba和sysoper权限的用户,即oracle的sys和system用户。
RAC环境中多个节点的密码文件应该保证一致,否则在以DBA权限登陆数据库的时候可能造成问题。
密码文件位置:
linux/unix:[oracle@rac1 ~]$ ls $ORACLE_HOME/dbs/orapw$ORACLE_SID
windows:$ORACLE_HOME/database/orapw$ORACLE_SID
密码文件认证还是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)
密码文件管理:
密码文件建立:orapwd命令用法(不建议使用)
[oracle@localhost ~]$ 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.
例如:[oracle@localhost ~]$orapwd file=orapworcl password=rezin entries=1 force=y
RAC环境下对于SYSDBA权限密码更改注意事项:
对于RAC环境,在授权、撤销SYSDBA和SYSOPER权限的时候以及修改拥有SYSDBA和SYSOPER权限的用户密码的时候,应该在每个实例上分别进行,否则会造成密码的不一致。
当然,对于基于裸设备的RAC环境,也可以在RAC环境建立的过程中,通过MAPFILE指定用户的密码文件到裸设备上。这样,每个$ORACLE_HOME/dbs目录下的密码文件实际上就是连接,指向裸设备上的密码文件:
bash-3.00$ cd $ORACLE_HOME/dbs
bash-3.00$ ls -l orapwtradedb1
lrwxrwxrwx 1 oracle oinstall 35 Apr 18 15:25 orapwtradedb1 -> /dev/vx/rdsk/datadg/tradedb_pwdfile
如果采用了这种方法,那么就可以避免多次修改密码问题的。
方法二:软连接方式避免多次修改sys用户密码
1、最简单方式就是更改sys密码的时候,在每个节点上都运行一次alter user命令,使得每个主机上的密码文件都被更新成同一个的密码的密码文件。
2、找一个共享存储的文件系统,nfs或者ocfs或者其他的共享方式都可以。只要保证是共享的文件系统就可以,共享的裸设备不行。然后把各个节点上的密码文件link到共享存储上的同一个密码文件。
下面的例子是以ocfs为例:
rac1:
[root@rac1 root]# cd /ocfs
[root@rac1 ocfs]# mkdir pwdfile
[root@rac1 ocfs]# chown oracle:oinstall pwdfile
[root@rac1 ocfs]# su - oracle
rac1-> cd /ocfs
rac1-> cd pwdfile
rac1-> cp $ORACLE_HOME/dbs/orapwdevdb1 orapwdevdb
rac1-> ll
total 2
-rw-r----- 1 oracle oinstall 1536 Mar 31 00:33 orapwdevdb
rac1-> cd $ORACLE_HOME/dbs/
rac1-> ll
total 2
-rw-r----- 1 oracle oinstall 1536 Mar 30 22:33 orapwdevdb1
rac1-> mv orapwdevdb1 orapwdevdb1.bak
rac1-> ln -s /ocfs/pwdfile/orapwdevdb orapwdevdb1
rac1-> ll
total 3
lrwxrwxrwx 1 oracle oinstall 24 Mar 31 00:35 orapwdevdb1 -> /ocfs/pwdfile/orapwdevdb
-rw-r----- 1 oracle oinstall 1536 Mar 30 22:33 orapwdevdb1.bak
rac2和rac3也类似的建立link:
rac2-> ln -s /ocfs/pwdfile/orapwdevdb orapwdevdb2
rac2-> ll
total 3
lrwxrwxrwx 1 oracle oinstall 24 Mar 31 00:35 orapwdevdb2 -> /ocfs/pwdfile/orapwdevdb
-rw-r----- 1 oracle oinstall 1536 Mar 30 22:33 orapwdevdb2.bak
rac3-> ln -s /ocfs/pwdfile/orapwdevdb orapwdevdb3
rac3-> ll
total 3
lrwxrwxrwx 1 oracle oinstall 24 Mar 31 00:35 orapwdevdb3 -> /ocfs/pwdfile/orapwdevdb
-rw-r----- 1 oracle oinstall 1536 Mar 30 22:33 orapwdevdb3.bak
alter user sys更改sys用户密码时注意事项:
当remote_login_passwordfile= shared时禁止alter user sys的方式更改sysdba用户密码,matalink上解释如下:
|
28046, 0000, "Password change for SYS disallowed" // *Cause: REMOTE_LOGIN_PASSWORDFILE is set to SHARED, prohibiting SYS // password changes. // *Action: Change setting of REMOTE_LOGIN_PASSWORDFILE to EXCLUSIVE or NONE. 翻译如下: 28046,0000,“不允许更改密码系统” / / *原因:remote_login_passwordfile设置为共享,禁止系统 / /密码更改。 / / *作用:改变remote_login_passwordfile独家或没有设置。 |
此时可以通过orapwd命令在操作系统层次修改sys用户密码。
到底有几个用户被授予了sysdba或者sysoper权限,可以通过查询v$pwfile_users获得,v$pwfile_users的信息就是源于口令文件的(this view lists users who have been granted SYSDBA and SYSOPER priveleges as derived from the password file.)
SQL>select * from v$pwfile_users;
username ysdba sysoper
-----------------------------------
SYS TRUE TRUE
Oracle管理监控 之 rac环境密码文件管理的更多相关文章
- Oracle管理监控之测试环境清理用户脚本
--PL/SQL块删除用户 declare cursor cur_duser is select sid, serial# from v$session where username in ( ...
- Oracle管理监控之检查数据库和日常维护数据库
linux系统的系统日志一般位于/var/log目录下.linux的系统日志由一个叫syslog的进程管理的,如下日志都是由syslog服务驱动的. /var/log/ messages:记录linu ...
- Oracle管理监控之如何对数据库进行监控检查
oracle自动工作负载库(AWR):采集与性能相关的统计数据,并从统计的数据中导出性能量度,以跟踪数据库潜在的问题. 如何生成oracle数据库的自动负载库报告. 手工生成一份oracle数据库的快 ...
- Oracle管理监控之Oracle用户权限
数据字典 1.动态数据字典是以v$xxx开始的数据字典,在数据库中约有150个左右,这些数据字典反映数据库动态运行状况,在不同时间查询会得到不同的结果. 2.DBA数据字典是以DBA_xxx表示,该数 ...
- Oracle管理监控之sqlplus实现上下翻页设置
环境: 操作系统:red hat 5.8 OS 数据库:oracle 11g 11.2.0.1 安装软件:IO-Tty-1.07.tar. Term-ReadLine-Gnu-1.16.tar.uni ...
- Oracle管理监控之oracle用户管理方法
创建用户语法: create user 用户名 identified by 密码: em:create user wangwc identified by tiger; 修改用户密码语法: alter ...
- Oracle管理监控之rlwrap-0.37.tar.gz实现sqlplus上下翻页
1.上传rlwrap-0.37.tar.gz到linux 2.解压rlwrap-0.37.tar.gz [root@node1 mnt]# tar zxvf rlwrap-0.37.tar.gz [r ...
- Oracle管理监控之sql developer配置与简单使用
1. 前提:使用sqldeveloper的前提是你的机器上安装了Oracle. 2. 刚打开sql developer 找到所安装的jdk的目录,本人安装的路径为:C:\Java\jdk1.6.0\b ...
- Oracle管理监控之oracle客户端链接服务器配置文档
开始菜单--Oracle - OraClient10g_home1--配置和移植工具--Net Configuration Assistant 打开窗口如下: 选择 本地Net服务名配置 点 下一步 ...
随机推荐
- erlang-百度云推送Android服务端功能实现-erlang
百度云推送官方地址http://developer.baidu.com/wiki/index.php?title=docs/cplat/push 简单的介绍下原理: 百度云推送支持IOS和Androi ...
- Xcode/iOS: 如何判断代码运行在DEBUG还是RELEASE模式下?
原帖链接:http://stackoverflow.com/a/9063469 首先确定下项目的 Build Settings 是否已经设置过宏定义 DEBUG,如何看呢? 点击 Build Sett ...
- js事件总结
事件冒泡: 什么是事件冒泡,就是最深dom节点触发事件,然后逐级向最外层触发事件.打个比方一棵dom tree:li<ul<div每级都有事件绑定,然后我们触发li的事件,这时ul上的事件 ...
- java (java.exe) 解释器 -D 选项
java.exe -h 其中: -D<名称>=<值> : 设置系统属性 如帮助说明的那样,该选项用于设置 java 运行时的 System.getProperty(prop ...
- Unity3d实现幸运转盘
完成效果 我说一下制作流程,然后再看后面的代码1.创建一个image,选择我们的转盘背景图,素材找我或者网上都有,不多说了哈:2.创建一个空物体,位于转盘的正中心,因为我们的转盘指针的旋转中心是根据空 ...
- DOTween中的Time.Scale
因为在做游戏暂停的时候通常会使用Time.Scale = 0 ,可是暂停的时候UI如果需要继续有动画怎么办呢?在DoTween中只需要设置 tweener.SetUpdate(true ...
- cesium可视化空间数据1
---恢复内容开始--- 1.多边形 我们要从经度和纬度列表中为美国怀俄明州添加一个多边形.(怀俄明被选中是因为它是一个简单的多边形.)我们可以复制并粘贴以下代码到Sandcastle中: < ...
- 超全面的JavaWeb笔记day04<dom树等>
1.案例:在末尾添加节点(*****) 创建标签 createElement方法 创建文本 createTextNode方法 把文本添加到标签下面 appendChild方法 2.元素对象(了解) 如 ...
- EF的代码优先设计
CodeFirst 用中文说是代码优先,此技术可以让我们先写代码,然后由Entity Framework根据我们的代码建立数据库 接下来用学生这个例子来演示,有学生表,课程表,和成绩表三张表 首先是M ...
- python处理文本文件
在测试任务过程中都或多或少遇到自己处理文本文件的情况. 举个栗子: 客户端测试从异常日志中收集有用信息. 后端测试需要创建各种规则的压力的词表. ... 这里给大家分享一个使用python脚本处理文本 ...