`

Oracle普通用户密码验证和通过网络连接验证

阅读更多

普通用户采用的是数据字典的验证方式:

 select username,password from dba_users;

查看视图dba_users的源代码发现视图的主表来自于user$,我们在提交alter user XX identified by XX时,修改的就是这个表里的密码,然而有一点需要注意的是,如果修改完用户的名字,必须得将更改强制写回到数据文件中 alter system checkpoint;  ,并清除缓存里的数据字典信息才能生效 alter system flush shared_pool;

实验如下:

SQL> update user$ set name='SCOTT' where user#=54;

已更新 1 行。

SQL> commit;

提交完成。

SQL> select name from user$ where user#=54;

NAME
------------------------------
SCOTT

SQL> alter user scott identified by tiger;
alter user scott identified by tiger
           *
第 1 行出现错误:
ORA-01918: 用户 'SCOTT' 不存在

 

SQL> alter system checkpoint;

系统已更改。
SQL> alter user scott identified by tiger;
alter user scott identified by tiger
           *
第 1 行出现错误:
ORA-01918: 用户 'SCOTT' 不存在

SQL> alter system flush shared_pool;

系统已更改。

SQL> alter user scott identified by tiger;

用户已更改。

 

以SYSDBA身份通过网络连接数据库时需要通过密码文件的验证

密码文件保存了一个用户名和密码列表,这些用户名和密码分别对应于可以通过网络远程认证为SYSDBA 的用户。Oracle 必须使用这个文件来认证用户,而不是数据库中存储的正常密码列表。

查看口令文件中的用户命令:select * from v$pwfile_users;

当授予某用户SYSDBA权限时密码文件会自动添加一条新条目,并且会保持同步,当更改该用户的密码时密码文件也会自动更改(注意:若不是以SYSDBA身份登陆,即使是通过网络连接也用走的是普通用户验证路线)

 

分享到:
评论

相关推荐

    NCC1909系统管理员和普通用户密码重置与解锁oracle脚本

    总的来说,"NCC1909系统管理员和普通用户密码重置与解锁oracle脚本"是一个提高数据库管理效率的实用工具,它简化了在Oracle环境中处理用户密码和账户状态的复杂性。理解并熟练使用这样的脚本对于任何Oracle数据库...

    Oracle 12C数据库连接到PDB(添加scott普通用户).docx

    ### Oracle 12C数据库连接到PDB及添加scott普通用户详解 #### 一、Oracle 12C与PDB简介 Oracle Database 12c引入了一个重要的新特性——可插拔数据库(Pluggable Database,简称PDB),这是一种全新的数据库容器化...

    Oracle设置用户权限

    #### 一、Oracle 创建新用户和密码 在Oracle数据库中,创建新用户是一项基本且重要的管理任务。通过创建用户并分配相应的权限,可以确保数据的安全性和完整性。 ##### 步骤: 1. **打开命令行工具**: - 打开...

    oracle密码找回

    在Oracle中忘记密码是常见的问题之一,但通过上述步骤,无论是普通用户还是DBA用户,都可以有效地找回密码。值得注意的是,在进行密码管理时,一定要遵循最佳安全实践,确保数据库的安全性和稳定性。此外,定期更换...

    oracle用户权限

    ### Oracle用户权限:解决...通过上述步骤和解释,我们不仅解决了SYSTEM用户登录方式的问题,还深入了解了SYSDBA与NORMAL登录的区别以及如何避免类似问题的发生。这对于Oracle数据库的日常管理和维护都是非常有帮助的。

    解决Oracle 11g中scott用户默认被锁定的问题

    ### 解决Oracle 11g中scott用户默认被锁定的问题 ...通过上述方法,我们不仅解决了`scott`用户被锁定的问题,而且还了解了如何有效地管理和维护Oracle数据库中的用户账户。这对于日常维护和管理工作非常有帮助。

    java 连接数据库实现用户登录功能

    通过以上步骤,你可以实现一个基本的Java程序,连接Oracle数据库并验证用户登录。这个例子适合初学者入门,进一步学习可以涉及事务处理、错误处理、连接池等高级主题。阅读Oracle JDBC驱动的官方文档以及Java SQL ...

    OracleMembershipProvider asp.net角色管理的oracle版本

    Oracle Membership Provider是ASP.NET框架中用于身份验证和用户管理的一个组件,特别针对Oracle数据库进行了优化。这个组件使得开发者能够在Oracle数据库上实现类似于SQL Server Membership Provider的功能,为网站...

    ORACLE常用命令总结

    在Oracle数据库中,如果忘记了`system`或`sys`用户的密码,可以通过以下步骤进行重置: 1. **以普通用户登录数据库**:首先,需要以一个具有适当权限的普通用户登录数据库。 2. **使用操作系统认证连接为sysdba**...

    oracle开发

    测试连接时,通常使用system用户和其默认密码manager进行验证。 在Oracle数据库中,所有系统级别的数据和SQL关键字默认为大写,但用户输入时并不区分大小写,Oracle会自动转换。这为开发者带来了便利,但推荐在编写...

    oracle12c安装步骤和注意事项

    总之,安装Oracle 12c时要注意网络连接、服务设置、口令安全以及系统兼容性等问题,按照上述步骤操作,一般能够顺利完成安装。在后续使用中,还需要对数据库进行定期维护和优化,以确保系统的稳定性和性能。

    JSP+oracle新闻发布浏览管理系统.

    此外,还应防止SQL注入攻击,对用户输入进行适当的验证和过滤。为了提高性能,可以考虑使用缓存技术来减少数据库查询频率。 总的来说,"JSP+Oracle 新闻发布浏览管理系统"是一个集成了前后端开发和数据库管理的综合...

    oracle链接的认证方式

    - **安全性**:相比于操作系统认证,密码文件认证提供了更高的安全性,因为它允许对不同数据库用户进行单独管理和认证。 3. **数据库认证(Database Authentication)** - **定义**:这是最基本的认证方式,也是...

    oracle 10g 的学习笔记

    连接Oracle数据库的外部程序通常需要指定网络服务名、用户名和密码,而连接字符串会因数据库类型不同而有所差异,例如,与SQL Server或Access的连接字符串格式就有明显的区别。 在登录数据库时,除了验证用户名和...

    《Oracle9i关系数据库实用教程》电子教案

    创建、修改和删除用户是基本操作,同时还需要实施数据库存取控制,如通过操作系统确认、Oracle数据库确认或网络服务确认来鉴别用户。用户鉴别可以提高登录效率,集中控制用户身份,并减少Oracle存储和管理密码的需求...

    oracle知识

    - **1.1.4 数据库验证机制**:Oracle 支持三种验证机制:操作系统验证、密码文件验证和数据库验证。其中,普通用户通常采用数据库验证,而 Sys 用户可以采用操作系统验证或密码文件验证。 ##### 1.2 Oracle 的启动...

    oracle权限管理基础

    对于普通用户忘记密码,通常由管理员使用ALTER USER语句重置,或者启用密码锁定策略后,用户可以通过安全问题或邮件验证进行密码重置。 此外,Oracle的Role功能可以简化权限管理。Role是一组权限的集合,可以一次性...

    Oracle 10g 学习笔记

    ### Oracle 10g 学习笔记 #### 一、Oracle认证及...通过以上介绍,我们不仅了解了Oracle 10g的基础使用和命令操作,还深入探讨了用户管理和权限控制的核心概念,这对于掌握Oracle数据库的基本操作和管理是非常关键的。

    Oracle自学(学习)材料 (共18章 偏理论一点)

    允许密码管理 14-5 帐号密码锁定 14-6 密码寿命和过期 14-7 密码历史 14-8 密码验证 14-9 用户自定义密码函数 14-10 密码验证函数 VERIFY_FUNCTION 14-11 创建配置文件:密码设置 14-12 修改配置文件:密码设置 14-...

Global site tag (gtag.js) - Google Analytics