为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

oraclesid及密码问题解决

2017-10-20 13页 doc 32KB 13阅读

用户头像

is_731942

暂无简介

举报
oraclesid及密码问题解决oraclesid及密码问题解决 1. Oracle卸载后再次安装,设置的SID相同出现“指定的SID在本机上已经存在。请指定一个不同的SID。” SID简介 SID也就是安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权...
oraclesid及密码问题解决
oraclesid及密码问解决 1. Oracle卸载后再次安装,设置的SID相同出现“指定的SID在本机上已经存在。请指定一个不同的SID。” SID简介 SID也就是安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户 具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。 SID的作用 用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给 Windows NT,然后 Windows NT 检查用户试图访问对象上的访问控制列。如果用户被允许访问该对象,Windows NT将会分配给用户适当的访问权限。 访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。 SID号码的组成 如果存在两个同样SID的用户,这两个帐户将被鉴别为同一个帐户,原理上如果帐户无限制增加的时候,会产生同样的SID,在通常的情况下SID是唯一的,他由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。 一个完整的SID包括: ? 用户和组的安全描述 ? 48-bit的ID authority ? 修订版本 ? 可变的验证值Variable sub-authority values 例:S-1-5-21-31044058 8- 2 500 36847- 5 803 895 05-500 我们来先这个重要的SID。第一项S表示该字符串是SID;第二项是SID的版本号,对于 2000来说,这个就是1;然后是标志符的颁发机构(identifier authority),对于2000内的帐户,颁发机构就是NT,值是5。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和 组。 SID的获得 开始,运行,regedit32, HKEY_LOCAL_MACHINESAMSAMDomainsBuiltinAliasesMembers,找到本地的域的代码,展开后,得到的就是本地帐号的所有SID列表。 其中很多值都是固定的,比如第一个000001F4(16进制),换算成十进制是500,说明是系统建立的内置管理员帐号administrator,000001F5换算成10进制是501,也就是GUEST帐号了,详细的参照后面的列表。 这一项默认是system可以完全控制,这也就是为什么要获得这个需要一个System的Cmd的Shell的原因了,当然如果权限足够的话你可以把你要添加的帐号添加进去。 或者使用Support Tools的Reg工具: reg query HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList 还有一种方法可以获得SID和用户名称的对应关系: 1. Regedit32 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion ProfileList 2. 这个时候可以在左侧的窗口看到SID的值,可以在右侧的窗口中ProfileImagePath看到不同的SID关联的用户名, 比如%SystemDrive%Documents and SettingsAdministrator.momo这个对应的就是本地机器的管理员SID %SystemDrive%Documents and SettingsAdministrator.domain这个就是对应域的管理员的帐户 另外微软的ResourceKit里面也提供了工具getsid,sysinternals的工具包里面也有Psgetsid,其实感觉原理都是读取注册表的值罢了,就是省了一些事情。 Oracle SID重复解决 Oracle卸载后再次安装,设置的SID相同出现“指定的SID在本机上已经存在。请指定一个不同的SID。” 实现方法: 1、 开始,,设置,,控制面板,,管理工具,,服务 停止所有Oracle服务。 2、 开始,,程序,,Oracle - OraHome81,,Oracle Installation Products,, Universal Installer 卸装所有Oracle产品,但Universal Installer本身不能被删除 5、 运行regedit,选择HKEY_LOCAL_MACHINE SOFTWARE ORACLE,按del键删除这个入口。 6、 运行regedit,选择HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services,滚动这个列表,删除所有Oracle入口。 7、 运行regedit,HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Eventlog Application,删除所有Oracle入口。 8、 开始,,设置,,控制面板,,系统,,高级,,环境变量 删除环境变量CLASSPATH和PATH中有关Oracle的设定 9、 从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标 10、 删除Program FilesOracle目录 11、 重新启动计算机,重起后才能完全删除Oracle所在目录 12、 删除与Oracle有关的文件,选择Oracle所在的缺省目录COracle,删除这个入口目录及所有子目录,并从Windows 2000目录(一般为CWINNT)下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、 oraodbc.ini等等。 13、 WIN.INI文件中若有[ORACLE]的标记段,删除该段 14、 如有必要,删除所有Oracle相关的ODBC的DSN 15、 到事件查看器中,删除Oracle相关的日志 说明: 其中,6、7两条为重点删除对象,通常删除时我们易删除5,但不易发现6、7. 如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装, 安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了。 2.Oracle 默认密码及修改密码 2010年03月22日 星期一 10:30 P.M. 默认密码: 用户名:sys 密码:change_on_install 用户名:system 密码:manager 用户名:internal 密码:oracle 用户名:scott 密码:tiger 遗失密码后修改密码 一个修改Oracle用户密码的小诀窍数据库版本:9.2.0.5 有时候我们可能不知道一个用户的密码,但是又需要以这个用户做一些操作,又不能去修改掉这个用户的密码,这个时候,就可以利用一些小窍门,来完成操作。 unix 的话,需要转到oracle用户环境变量下,前提是采用操作系统验证。 具体操作过程如下: SQL*Plus: Release 9.2.0.5.0 - Production on 星期日 11月 21 13:32:34 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> connect sys/oracle as sysdba 已连接。 SQL> select username,password from dba_users; USERNAME PASSWORD ------------------------------ ------------------------------ SYS 8A8F025737A9097A SYSTEM 2D594E86F93B17A1 DBSNMP E066D214D5421CCC TOAD A1BA01CF0DD82695 OUTLN 4A3BA55E08595C81 WMSYS 7C9BA362F8314299 已选择6行。 SQL> connect system/oracle 已连接。 SQL> connect sys/oracle as sysdba 已连接。 修改用户system密码为manager SQL> alter user system identified by manager; 用户已更改。 SQL> select username,password from dba_users; USERNAME PASSWORD ------------------------------ ------------------------------ SYS 8A8F025737A9097A SYSTEM D4DF7931AB130E37 DBSNMP E066D214D5421CCC TOAD A1BA01CF0DD82695 OUTLN 4A3BA55E08595C81 WMSYS 7C9BA362F8314299 已选择6行。 SQL> connect system/manager 已连接。 然后此时可以做想要做的任何操作了 SQL> connect sys/oracle as sysdba 已连接。 修改用户system密码为以前的值 SQL> alter user system identified by values '2D594E86F93B17A1'; 用户已更改。 SQL> connect system/oracle 已连接。 SQL> connect sys/oracle as sysdba 已连接。 SQL> connect system/manager ERROR: ORA-01017: invalid username/password; logon denied 警告: 您不再连接到 ORACLE. 又或者删除旧的密码文件,然后新建一个,如 orapwd file=d:\oracle\database\pwdetalker.ora password=newpass entries=10 force=y; 可知使用OS验证登录后修改密码 新建密码文件 转贴(借花献佛) 概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库 的安全性是数据库管理工作的重要内容。本文是笔者在Oracle数据库安全管 理工作的基础上,对Oracle数据库系统密码文件的创建、使用和维护作了详细的 介绍,供大家参考。 关键词:Oracle数据库 密码文件 在Oracle数据库系统中,用户如果要以特权用户身份(INTERNAL,SYSDBA,SYSOPER)登录Oracle数据库可以有两种身份验证的方法:即使用与操作系统集成的身份验证或使用Oracle数据库的密码文件进行身份验证。因此,管理好密码文件,对于控制授权用户从远端或本机登录Oracle数据库系统,执行数据库管理工作,具有重要的意义。 Oracle数据库的密码文件存放有超级用户INTERNAL,SYS的口令及其他特权用户的用户名,口令,它一般存放在ORACLE_HOME,DATABASE目录下。 一、 密码文件的创建: 在使用Oracle Instance Manager创建一数据库实例的时侯,在ORACLE_HOME,DATABASE目录下还自动创建了一个与之对应的密码文件,文件名为PWDSID.ORA,其中SID代表相应的Oracle数据库系统标识符。此密码文件是进行初始数据库管理工作的基础。在此之后,管理员也可以根据需要,使用工具ORAPWD.EXE手工创建密码文件,命令格式如下: C:, >;ORAPWD FILE=, FILENAME , PASSWORD =, PASSWORD , ENTRIES=< MAX_USERS >; 各命令参数的含义为: ---- FILENAME:密码文件名; ---- PASSWORD:设置INTERNAL,SYS帐号的口令; ---- MAX_USERS:密码文件中可以存放的最大用户数,对应于允许以SYSDBA,SYSOPER权限登录数据库的最大用户数。由于在以后的维护中,若用户数超出了此限制,则需要重建密码文件,所以此参数可以根据需要设置得大一些。 有了密码文件之后,需要设置初始化参数REMOTE_LOGIN_PASSWORDFILE来控制密码文件的使用状态。 二、 设置初始化参数REMOTE_LOGIN_PASSWORDFILE: 在Oracle数据库实例的初始化参数文件中,此参数控制着密码文件的使用及其状态。它可以有以下几个选项: NONE:指示Oracle系统不使用密码文件,特权用户的登录通过操作系统进行身份验证; EXCLUSIVE:指示只有一个数据库实例可以使用此密码文件。只有在此设置下的密码文件可以包含有除INTERNAL,SYS以外的用户信息,即允许将系统权限SYSOPER,SYSDBA授予除INTERNAL,SYS以外的其他用户。 SHARED:指示可有多个数据库实例可以使用此密码文件。在此设置下只有INTERNAL,SYS帐号能被密码文件识别,即使文件中存有其他用户的信息,也不允许他们以SYSOPER,SYSDBA的权限登录。此设置为缺省值。 在REMOTE_LOGIN_PASSWORDFILE参数设置为EXCLUSIVE、SHARED情况下,Oracle系统搜索密码文件的次序为:在系统注册库中查找ORA_SID_PWFILE参数值(它为密码文件的全路径名);若未找到,则查找ORA_PWFILE参数值;若仍未找到,则使用缺省值ORACLE_HOME,DATABASE,PWDSID.ORA;其中的SID代表相应的Oracle数据库系统标识符。 三、 向密码文件中增加、删除用户: 当初始化参数REMOTE_LOGIN_PASSWORDFILE设置为EXCLUSIVE时,系统允许除INTERNAL,SYS以外的其他用户以管理员身份从远端或本机登录到Oracle数据库系统,执行数据库管理工作;这些用户名必须存在于密码文件中,系统才能识别他们。由于不管是在创建数据库实例时自动创建的密码文件,还是使用工具ORAPWD.EXE手工创建的密码文件,都只包含INTERNAL,SYS用户的信息;为此,在实际操作中,可能需要向密码文件添加或删除其他用户帐号。 由于仅被授予SYSOPER,SYSDBA系统权限的用户才存在于密码文件中,所以当向某一用户授予或收回SYSOPER,SYSDBA系统权限时,他们的帐号也将相应地被加入到密码文件或从密码文件中删除。由此,向密码文件中增加或删除某一用户,实际上也就是对某一用户授予或收回SYSOPER,SYSDBA系统权限。 要进行此项授权操作,需使用SYSDBA权限(或INTERNAL帐号)连入数据库,且初始化参数REMOTE_LOGIN_PASSWORDFILE的设置必须为EXCLUSIVE。具体操作步骤如下: 创建相应的密码文件; 设置初始化参数REMOTE_LOGIN_PASSWORDFILE,EXCLUSIVE; 使用SYSDBA权限登录: CONNECT SYS,internal_user_passsword AS SYSDBA; 启动数据库实例并打开数据库; 创建相应用户帐号,对其授权(包括SYSOPER和SYSDBA): 授予权限:GRANT SYSDBA TO user_name; 收回权限:REVOKE SYSDBA FROM user_name; 现在这些用户可以以管理员身份登录数据库系统了; 四、 使用密码文件登录: 有了密码文件后,用户就可以使用密码文件以SYSOPER,SYSDBA权限登录Oracle数据库实例了,注意初始化参数REMOTE_LOGIN_PASSWORDFILE应设置为EXCLUSIVE或SHARED。任何用户以SYSOPER,SYSDBA的权限登录后,将位于SYS用户的Schema之下,以下为两个登录的例子: 1. 以管理员身份登录: 假设用户scott已被授予SYSDBA权限,则他可以使用以下命令登录: CONNECT scott,tiger AS SYSDBA 2. 以INTERNAL身份登录: CONNECT INTERNAL,INTERNAL_PASSWORD 五、 密码文件的维护: 1. 查看密码文件中的成员: 可以通过查询视图V$PWFILE_USERS来获取拥有SYSOPER,SYSDBA系统权限的用户的信息,表中SYSOPER,SYSDBA列的取值TRUE,FALSE表示此用户是否拥有相应的权限。这些用户也就是相应地存在于密码文件中的成员。 2. 扩展密码文件的用户数量: 当向密码文件添加的帐号数目超过创建密码文件时所定的限制(即ORAPWD.EXE工具的MAX_USERS参数)时,为扩展密码文件的用户数限制,需重建密码文件,具体步骤如下: a, 查询视图V$PWFILE_USERS,记录下拥有SYSOPER,SYSDBA系统权限的用户信息; b, 关闭数据库; c, 删除密码文件; d, 用ORAPWD.EXE新建一密码文件; e, 将步骤a中获取的用户添加到密码文件中。 3. 修改密码文件的状态: 密码文件的状态信息存放于此文件中,当它被创建时,它的缺省状态为SHARED。可以通过改变初始化参数REMOTE_LOGIN_PASSWORDFILE的设置改变密码文件的状态。当启动数据库事例时,Oracle系统从初始化参数文件中读取REMOTE_LOGIN_PASSWORDFILE参数的设置;当加载数据库时,系统将此参数与口令文件的状态进行比较,如果不同,则更新密码文件的状态。若计划允许从多台客户机上启动数据库实例,由于各客户机上必须有初始化参数文件,所以应确保各客户机上的初始化参数文件的一致性,以避免意外地改变了密码文件的状态,造成数据库登陆的失败。 4. 修改密码文件的存储位置: 密码文件的存放位置可以根据需要进行移动,但作此修改后,应相应修改系统注册库有关指向密码文件存放位置的参数或环境变量的设置。 5. 删除密码文件: 在删除密码文件前,应确保当前运行的各数据库实例的初始化参数REMOTE_LOGIN_PASSWORDFILE皆设置为NONE。在删除密码文件后,若想要以管理员身份连入数据库的话,则必须使用操作系统验证的方法进行登录。 重新设置ORACLE管理员密码 在DOS下,必须是以ADMINISTRATOR登陆 set oracoe_sid = "服务名" sqlplus /nolog conn /as sysdba alter user system identified by ****; 更改之后重新启动机器和实例放可生效 ------------- 怎样使用orapwd新建口令文件 orapwd是oracle提供的创建口令文件的命令,如果口令文件不见了可以用这个命令重新创建。下面是orapwd命令的一些解释。 D:\oracle\ora92\database>orapwd Usage: orapwd file= password= entries= where file - name of password file (mand), password - password for SYS (mand), entries - maximum number of distinct DBA and OPERs (opt), There are no spaces around the equal-to (=) character. 例如:D:\oracle\ora92\database>orapwd file=pwdcjh.ora password=cjh entries=2 其中参数entries的含义是表示口令文件中可以存放的最大用户数,对应于允许以SYSDBA/SYSOPER权限登录数据库的最大用户数,如果用户数超过这个值只能重建口令文件,增大entries。 file后面可以指定口令文件的全路径和文件名,否则创建在当前目录下。 windows下oracle默认的位置是ora92/database目录,默认的文件名是pwdSID.ora,对于别的文件名是不认的。linux下oracle默认的位置是$ORACLE_HOME/dbs目录,默认的文件名是orapwSID,对于别的文件名是不认的。 创建完后,数据库需要重启动,新的口令文件才能生效。 但是这个口令文件对于非操作系统认证例如网络连接的方式才有用。对于在本机登录,因为采用了操作系统认证,不管用什么口令都可以登录,实际上口令没起任何作用。如果在本机登陆不采用操作系统认证,把ora92/network/admin下的sqlnet.ora中的 SQLNET.AUTHENTICATION_SERVICES= (NTS) 改为 SQLNET.AUTHENTICATION_SERVICES= (NONE) 然后用 D:\oracle\ora92\database>sqlplus "sys/cjh@cjh as sysdba" 就可以登陆了。
/
本文档为【oraclesid及密码问题解决】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索