在日常的数据库维护过程中,有很多朋友为了权限赋予的方便,一般都会直接赋予新建用户dba角色。dba这个角色是数据库中权限非常大的,这里我们来看看如何通过一个dba角色来获得sysdba权限。
在dba角色的权限列表中有一项:alter user权限,这个权限可以允许我们修改数据库所有用户账户信息,包括sys用户的。
>alter user sys identified by mypassword;
这样修改之后你会发现,你可以使用修改后的密码来登入sys,这样你就获得了sys的权限。有时候由于sys密码频繁修改,或者长时间不用,导致密码丢失可以用这种方法很好的解决。 当然,如果觉得直接去修改原先的sys密码会很不安全,因为这会引起管理员的注意,只是需要使用之后再还回去,但又不知道原先的密码,不能通过上面的语句 修改回去,这个时候,可以用alter user 的另一个语句来实现
>alter user sys identified by values 's1213asdwe';
下面是个修改过程的例子。
SQL*Plus: Release 10.1.0.3.0 - Production on Wed Jun 30 19:41:28 2010 Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn Enter user-name: justay
Enter password:
Connected.
SQL> select username,password from dba_users where username='SYS'; USERNAME PASSWORD -----------------
SYS 4001B8AE29A7B401
SQL> alter user sys identified by oracle;
User altered.
SQL> disconn
Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production With the Partitioning, OLAP and Data Mining options
SQL> conn
Enter user-name: sys as sysdba
Enter password:
Connected.
SQL> create user hideac identified by oracle;
User created.
SQL> grant sysdba to hideac;
Grant succeeded.
SQL> disconn
Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production With the Partitioning, OLAP and Data Mining options
SQL> conn
Enter user-name: justay
Enter password: Connected.
SQL> alter user sys identified by values '4001B8AE29A7B401'; --将sys用户密码还原 User altered.
从上面可以看出在拥有dba权限的情况下,新建了一个拥有sysdba权限的用户hideac。 这个现象告诉我们
1.不要轻易给一个用户dba权限。
2.如果非要给dba权限,请修改sys为OS验证,并确保数据库服务器操作系统口令的安全
3.当然,也可以revoke掉dba的grant权限和alter user权限
SQL>revoke alter user from dba
SQL>revoke grant any role from dba
SQL>revoke grant any privilege from dba
SQL>revoke grant any object privilege from dba
分享到:
相关推荐
在Oracle数据库管理系统中,DBA(Database Administrator)和SYSDBA是两个紧密相关但又有所区别的概念。DBA通常是指数据库管理员这一职位,而SYSDBA是一种特殊的身份标识,用于执行数据库的管理操作。接下来,我们将...
与`sysdba`权限相比,`dba`角色的权限相对较小,不包括对数据库实例的管理。 当一个非`sys`用户以`as sysdba`登录时,实际上是模拟`sys`用户进行操作,这意味着所有在此模式下创建的对象都将属于`sys`用户。同样,...
1. **登录到SYS用户**:由于DBA角色的创建涉及到系统级别的操作,因此需要以具有足够权限的用户身份登录,通常是SYSDBA或SYSAUX用户。使用`sqlplus / as sysdba`命令进入SQL*Plus环境。 2. **检查当前系统角色**:...
1. 以 OS 的默认身份连接数据库:`sqlplus / as sysdba` 2. 直接进入 SQLPLUS 命令提示符:`sqlplus /nolog` 3. 以 SYSTEM 的身份连接数据库:`connect system/xxxxxxx@服务名` 查看用户信息 1. 显示当前用户名:`...
7. **故障诊断与问题解决**:DBA需要具备诊断和解决问题的能力,包括通过日志分析、使用trace文件、性能监视工具(如Oracle Enterprise Manager)来定位和解决性能问题。 8. **数据库升级与迁移**:了解Oracle版本...
"DBA常用命令270条" DBA(Database Administrator)是管理和维护数据库的专业人员,需要掌握丰富的数据库管理命令。 Oracle 是一种流行的关系数据库管理系统, DBA 需要熟悉 Oracle 的管理命令来高效管理数据库。 ...
### Oracle DBA常用运维命令详解 #### 一、SQLPLUS工具使用 **1. 运行SQLPLUS工具** - **命令**: `sqlplus` - **描述**: SQL*Plus 是 Oracle 提供的一个强大的命令行工具,用于执行 SQL 命令、脚本文件等。 - **...
#### 一、Oracle DBA 日常操作与命令 **1. 连接数据库** - 使用 `tnsping` 检测网络连接是否正常: ``` c:>tnsping ora9 ``` - 使用 `sqlplus` 连接到数据库: ``` c:>sqlplus user/password@SID ``` - 以...
可以通过SQL*Plus以SYSDBA身份连接到数据库,然后运行`SELECT * FROM v$version;`来查看BANNER列,其中包含关于Oracle版本和体系结构的信息。 5. **SVRMGR和SQLPLUS** SVRMGR是Oracle早期版本中的服务器管理工具...
SYSDBA特权允许用户以最高权限连接到数据库,通常只有DBA拥有此权限。 ###### 2.2.2 SYSOPER 特权 SYSOPER特权允许用户执行某些数据库操作,如启动和关闭数据库,但不能访问数据字典。 ###### 2.2.3 DBA 角色 ...
sys 用户拥有 dba , sysdba , sysoper 等角色或权限,是 oracle 权限最高的用户。 【 system 】 用户用于存放次一级的内部数据,如 oracle 的一些特性或工具的管理信息。 system 用户拥有普通 dba 角色权限。 ...
根据提供的标题、描述、标签及部分内容,我们可以总结出以下与Oracle DBA相关的知识点: ### Oracle DBA 常用命令 #### 一、系统管理与维护 **1. SQL*Plus登录** - **命令**: `sqlplus / as sysdba` - **描述**...
为了高效地管理Oracle数据库,DBA需要熟练掌握一系列的命令与工具。 #### 二、SQL*Plus工具入门 SQL*Plus是Oracle提供的一个命令行工具,用于执行SQL语句和PL/SQL块。它是Oracle DBA最常用的工具之一。 - **启动SQL...
8. **故障诊断与问题解决**:通过日志文件、告警日志、trace文件等工具,DBA要学会诊断和解决数据库出现的各种问题,如性能下降、锁等待、内存错误等。 9. **高可用性与灾难恢复**:Oracle的Real Application ...
3. **数据库安装与配置**:DBA应能熟练安装和配置Oracle数据库实例,理解_SID、服务名的区别,以及如何设置初始化参数文件(init.ora)以优化数据库性能。 4. **备份与恢复**:Oracle的RMAN(恢复管理器)是备份和...
3. **性能监控与优化**:通过工具如SQL*Plus、企业管理器(EM)或性能监控视图(如V$视图),DBA需持续监控数据库性能,分析SQL语句执行效率,使用索引、分区、绑定变量等技术提升查询速度。 4. **备份与恢复**:...
5. **性能监控与调优**:通过SQL*Plus、Enterprise Manager或AWR(Automatic Workload Repository)报告,DBA可以监控数据库性能。了解如何分析等待事件、优化SQL语句和调整系统参数以提高性能是日常工作的一部分。 ...
#### 三、SYSDBA、SYSOPER与DBA之间的区别与联系 1. **权限范围**: - **SYSDBA**:拥有最高级别的权限,可以进行所有数据库操作。 - **SYSOPER**:权限次于SYSDBA,主要负责数据库的启动与关闭。 - **DBA**:...
sqlplus / as sysdba ``` ##### 步骤2:创建目录 在SQL*Plus中执行命令来创建一个目录对象: ```sql CREATE DIRECTORY 目录名 AS '路径'; ``` 例如: ```sql CREATE DIRECTORY dmp目录 AS 'D:/expdp_dmp'; ``` ###...