Oracle 修改SYSsystem用户密码

by:授客 QQ1033553122

概念

SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用于数据库管理的用户。在数据库安装完之后,应立即修改SYS,SYSTEM这两个用户的密码,以保证数据库的安全。

安装完之后修改密码方法

cmd命令行下输入 sqlplus / as sysdba;

法1.SQL>alter user sys identified by huozhe

法2.SQL>grant connect to sys identified by 123456

法3. SQL> password system

更改 system 的口令

新口令:

重新键入新口令:

口令已更改

(只适用于SYSTEM)

验证:

SQL> conn system/huozhe

已连接。

SQL> show user

USER 为 "SYSTEM"

SQL> exit

注:SYS和SYSTEM用户之间可以相互修改口令

修改SYS用户口令后的登录

将SYS用户的口令修改成123456后,可按以下几种方法登录:

法1.sqlplus / as sysdba 【以操作系统认证的方式登录,不需要用户名和口令】

法2.sqlplus sys/abcde as sysdba;

法3.sqlplus sys/ as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 11月 6 19:10:54 2012

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

输入口令:

注意:这里提示输入口令,不输入口令直接回车

连接到:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing optionssqlplus sys as sysdba;

上述语句,都可以登录成功,然后查看当前用户:

SQL> show user

USER 为 "SYS"

这是为什么呢,为什么修改了口令没有效果,不用口令或者随便用什么口令都可以进入呢。

答案是:认证方法。

oracle的口令认证

SYS口令认证分为操作系统认证和Oracle认证方法。

操作系统认证方式

对于如果是Unix操作系统,只要是以DBA组中的用户登录的操作系统,就可以以SYSDBA的身份登录数据库,不会验证SYS的口令。

对于windows操作系统,在oracle数据库安装后,会自动在操作系统中安装一个名为ORA_DBA的用户组,只要是该组中的用户,即可以SYSDBA的身份登录数据库而不会验证SYS的口令。也可以创建名为ORA_SID_DBA(SID为实例名)的用户组,属于该用户组的用户也具备以上特权。

如何修改认证方式

如何修改认证方式为操作系统认证或oracle认证。(windows,unix平台有大同小异)

要将认证方式设置为操作系统认证:

1.  修改sqlnet.ora文件

….\ product\11.2.0\ dbhome_2\ NETWORK\ADMIN\sqlnet.ora

…\product\版本号\home目录\ NETWORK\ADMIN\sqlnet.ora

记事本打开该文件,修改参数为:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

WINDOWS下,默认就是这样,即使用NT认证

2.  修改init.ora文件

….\ product\11.2.0\dbhome_2\dbs\init.ora

说明:…\product\版本号\home目录\dbs\init.ora

记事本打开该文件,修改参数为:

remote_login_passwordfile='NONE'

3.重新启动数据库。

SQL> shutdown immediate

SQL> startup open

将认证方式设置为oracle认证(密码文件认证):

1.  同上,修改sqlnet.ora

….\ product\11.2.0\ dbhome_2\ NETWORK\ADMIN\sqlnet.ora

记事本打开该文件,修改参数为:

#SQLNET.AUTHENTICATION_SERVICES= (NTS) ,#注释掉这句话,即不使用NT认证

或者

SQLNET.AUTHENTICATION_SERVICES= (NONE)

2.  同上,修改init.ora

记事本打开该文件,修改参数为:

remote_login_passwordfile='EXCLUSIVE'

或者

remote_login_passwordfile='SHARED'

EXCLUSIVE表示只有当前实例使用这个密码文件,且允许有别的用户作为SYSDBA登录进入系统,若选择了SHARED,则表示不止一个实例使用这个密码文件。

3.重新启动数据库。

SQL> shutdown immediate

SQL> startup open

如果发生sys密码丢失的情况,怎么办?

步骤1.使用system用户进行密码更改

SQL> conn system/huozhe

已连接。

SQL> alter user sys identified by huozhe

说明:

1)默认情况下,只要用户具有alter   user的权限,那么可以修改 oracle中任意用户,包括alter   user中的所有optional

2)默认情况下,system账户之所以能修改sys的密码,是因为它属于dba角色,而dba角色当然具有alter   user权限

SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP SYSAS

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

SYS                            TRUE  TRUE  FALSE

STUDY                          TRUE  FALSE FALSE

说明现在有sys及STUDY账户拥有sysdba与sysoper的权限[STUDY默认创建的]。

步骤2.创建密码文件

如果存在密码文件(PWDsid.ora),则删除它

路径

….\product\11.2.0\dbhome_2\database\PWDorcl.ora

….\product\版本\home目录\database\PWDsid.ora

然后用orapwd.exe创建密码文件

orapwd路径

…\product\11.2.0\dbhome_2\BIN\orapwd.exe

说明:…\product\版本号\home目录\BIN\orapwd.exe

--cmd下输入 cd 命令进入到….\product\版本号\home目录\BIN 目录下,然后键入命令

orapwd file=filepath\pwd.ora password=password_of_sys entries=N

其中filepath表示密码文件路径,pwd.ora为密码文件名,sid是数据库实例名

eg:

E:\app\Administrator\product\11.2.0\dbhome_2\dbs\PWDorcl.ora

entries表示允许最大的超级用户数。

当没有指定文件路径时,密码文件默认存放在…\product\版本号\dbs\目录下。

Oracle 修改SYS、system用户密码的更多相关文章

  1. oracle 12C SYS,SYSTEM用户的密码都忘记或是丢失

    密码 conn / as sysdba alter user system identified by Abcd1234; manual script first -->manual_scrip ...

  2. KingbaseES R3 集群修改system用户密码方案

    方案说明: 对于kingbaseES R3集群修改system密码相比单机环境有一定的复杂性,需要修改的位置如下: 1)数据库中system用户密码,可以用alter user命令修改 2)在reco ...

  3. oracle忘记sys/system/scott用户密码了,如何重置oracle密码?

    今天用到的oracle数据库,但是发现以前设置的密码,忘记了,怎么输入都不对,所以从网上找了一下资料,解决了,然后整理分享给大家. 一.遇到的问题: 1..忘记除SYS.SYSTEM用户之外的用户的登 ...

  4. java修改AD域用户密码使用SSL连接方式

    正常情况下,JAVA修改AD域用户属性,只能修改一些普通属性, 如果要修改AD域用户密码和userAccountControl属性就得使用SSL连接的方式修改, SSL连接的方式需要操作以下步骤: 1 ...

  5. KingbaseES R3 集群一键修改集群用户密码案例

    案例说明: 在KingbaseES R3集群的最新版本中增加了kingbase_monitor.sh一键修改集群用户密码的功能,本案例是对此功能的测试. kingbaseES R3集群一键修改密码说明 ...

  6. KingbaseES R6 集群sys_monitor.sh change_password一键修改集群用户密码

    案例说明: kingbaseES R6集群用户密码修改,需要修改两处: 1)修改数据库用户密码(alter user): 2)修改.encpwd文件中用户密码: 可以通过sys_monitor.sh ...

  7. oracle中sys,system,scott,hr用户

    https://blog.csdn.net/xingfeng0501/article/details/6699390 scott 是个演示用户,是让你学习ORACLE用的 hr用户是个示例用户,是在创 ...

  8. 烦烦烦SharePoint2013 以其他用户登录和修改AD域用户密码

    sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用Custo ...

  9. SharePoint2013 以其他用户登录和修改AD域用户密码 功能

    sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后: 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用Cust ...

随机推荐

  1. Android_EditText 打勾显示输入的密码 --EditText与setTransformationMethod

    实现目标: 实现原理: 为CheckBox添加一个监听器事件; 实现的源码: package edu.cquptzx.showPassword; import android.app.Activity ...

  2. JDK的windows和Linux版本之下载(图文详解)

    不多说,直接上干货! 简单说下,Eclipse需要Jdk,MyEclipse有自带的Jdk,除非是版本要求 http://www.oracle.com/technetwork/java/javase/ ...

  3. Vue笔记:webpack项目vue启动流程

    VUE启动流程 1. package.json 在执行npm run dev的时候,会在当前目录中寻找 package.json 文件, 有点类似 Maven 的 pom.xml 文件,包含项目的名称 ...

  4. 浏览器对CSS小数点的解析——坑

    在写移动端项目时,为了将一个元素垂直居中,于是我将元素的高和行高设置成一样的,但是显示出来的结果,却让人不得其解,如下: 可以看到按钮的底部有一条缝隙,一开始以为是代码写错了,于是检查了一下,发现没啥 ...

  5. BVH with SAH (Bounding Volume Hierarchy with Surface Area Heuristic)

      - BVH with SAH (Bounding Volume Hierarchy  with Surface Area Heuristic) -      0. Overview 包围层次盒(B ...

  6. java arrayList vector 区别

    1. 关系图 List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList 2. ArrayList.Vector和LinkedList区别 ArrayList是最常用的 ...

  7. CUBA Studio 8.0 发布,企业级应用开发平台

    CUBA Platform 是一款开源且免费的企业级应用开发框架,已有将近10年的发展历史,由俄罗斯的 Haulmont  公司开发,CUBA Platform 近期将正式登陆中国,将提供中文网站.中 ...

  8. 【SpringBoot系列3】SpringBoot使用事务和AOP

    前言: 因为SpringBoot操作两者实在太简单了,我就放一起来写了. 正文(事务): /** * springboot中运用事务 * 真的超级方便,直接加上注解就ok了,连配置都省了 * @ret ...

  9. Netty 接受请求过程源码分析 (基于4.1.23)

    前言 在前文中,我们分析了服务器是如何启动的.而服务器启动后肯定是要接受客户端请求并返回客户端想要的信息的,否则要你服务器干啥子呢?所以,我们今天就分析分析 Netty 在启动之后是如何接受客户端请求 ...

  10. .5-浅析webpack源码之入口函数

    从convert-argv出来后,目前进度在这: yargs.parse(process.argv.slice(2), (err, argv, output) => { // ... // 从这 ...