oracle用户名密码丢失找回办法和查找所有用户名
- 格式:doc
- 大小:26.50 KB
- 文档页数:1
查看用户、权限、角色的命令和视图a1.查看所有用户:select * from dba_users;select * from all_users;select * from user_users;2.查看用户系统权限:select * from dba_sys_privs;select * from session_privs;select * fromuser_sys_privs;3.查看用户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * fromuser_tab_privs;4.查看所有角色:select * from dba_roles;5.查看用户所拥有的角色:select * from dba_role_privs;select * from user_role_privs;b概述与权限,角色相关的视图大概有下面这些:DBA_SYS_PRIVS:查询某个用户所拥有的系统权限USER_SYS_PRIVS:查询当前用户所拥有的系统权限SESSION_PRIVS:查询当前用户所拥有的全部权限ROLE_SYS_PRIVS:查询某个角色所拥有的系统权限注意:要以SYS用户登陆查询这个视图,否则返回空.ROLE_PRIVS:当前角色被赋予的角色SESSION_ROLES:当前用户被激活的角色USER_ROLE_PRIVS:当前用户被授予的角色另外还有针对表的访问权限的视图:TABLE_PRIVILEGESALL_TAB_PRIVSROLE_TAB_PRIVS:某个角色被赋予的相关表的权限oracle与用户角色权限相关的视图Oracle 本身的数据字典设计我个人觉得很合理,因为DBA_xxx,ALL_xxx,USER_xxx让人一看大概就知道这个视图是干什么用的.本文简要总结了一下与权限,角色相关的视图.一.概述与权限,角色相关的视图大概有下面这些:1、DBA_SYS_PRIVS:查询某个用户所拥有的系统权限。
oracle恢复表数据的sql语句恢复表数据是在数据库中非常常见的操作,当我们需要恢复被误删除或者修改的表数据时,可以使用Oracle数据库提供的一些SQL 语句来完成。
下面列举了10个常用的Oracle恢复表数据的SQL语句。
1. 使用INSERT INTO语句恢复单条数据在Oracle中,可以使用INSERT INTO语句将备份的数据插入到目标表中,从而实现恢复。
例如:```INSERT INTO 表名(列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);```其中,表名为需要恢复数据的目标表,列1、列2、列3为目标表的列名,值1、值2、值3为备份数据中对应列的值。
2. 使用UPDATE语句恢复单条数据如果仅需要恢复某个或某几个列的数据,可以使用UPDATE语句来进行恢复。
例如:```UPDATE 表名 SET 列1 = 值1, 列2 = 值2, 列3 = 值3 WHERE 条件;```其中,表名为需要恢复数据的目标表,列1、列2、列3为目标表的列名,值1、值2、值3为备份数据中对应列的值,条件为恢复数据的条件。
3. 使用INSERT INTO SELECT语句批量恢复数据如果需要恢复多条数据,可以使用INSERT INTO SELECT语句来进行批量恢复。
例如:```INSERT INTO 表名 (列1, 列2, 列3, ...)SELECT 列1, 列2, 列3, ... FROM 备份表名 WHERE 条件;```其中,表名为需要恢复数据的目标表,列1、列2、列3为目标表的列名,备份表名为备份数据的表名,条件为恢复数据的条件。
4. 使用FLASHBACK TABLE语句恢复整个表如果表中的数据被误删除或修改,可以使用FLASHBACK TABLE语句将整个表恢复到某个时间点的状态。
例如:```FLASHBACK TABLE 表名 TO TIMESTAMP TO_TIMESTAMP('时间点', '日期格式');```其中,表名为需要恢复数据的表名,时间点为需要恢复到的具体时间,日期格式为时间的格式。
Cognos8.3错误解决方法总结1、jre 路径导致报错这个时候我遇到一个问题,Cognos Configuration 无法正常启动,提示信息忘记截图了,不过这个问题比较简单。
错误提示中已经详细的描述了解决办法,其实是因为我的开发机上有Tomcat,设置了JA V A_HOME。
并且用的是JDK142的包,所以必须先修改其路径为Cognos的jre。
否则启动Cognos Configuration的时候会报错。
2、Cognos8 运行数据库无法连接遇到这个问题,是因为jdbc的缘故,如果是Oracle作为运行数据库,就会遇到。
将oracle\jdbc\lib\classes12.jar拷贝到Cognos8/webapps/p2pd/WEB-INF/lib下即可.3、错误码:CFG-ERR-0103 Unable to start Cognos 8 service.这个错误出现的原因是你的内容库是oracle,而且oracle数据库没有试用UTF-8编码。
将内容库的oracle更改成UTF-8编码就可以解决问题。
4、CFG-ERR-0106 问题这个问题就比较诡异了,反正就是启动超时,但是又没有具体原因,百度也没有任何解决办法。
外事不决问Google,还是Google强大,E文网站上倒是有不少同学遇到此类问题。
其实,是因为开发机上跑的程序太多,资源占用厉害导致的。
最后确定的解决办法是修改配置文件,增加Cognos的启动时间。
修改c8_location /configuration/ cogconfig.prefs增加以下两个配置ServiceWaitInterval=*默认是500,代表0.5秒ServiceMaxTries=*默认360,代表倍数默认应该是3分钟超时。
我增加到1000*500,8分多钟。
5、CFG-ERR-0103这个问题是在我们的Cognos测试服务器上遇到的,首先想到的就是BAIDU,发现也有不少朋友碰到这个问题。
Oracle数据库中查看用户名的方法1.引言在Or ac le数据库中,用户名是用于标识数据库用户身份的重要信息。
通过正确的方法查看用户名,可以帮助管理员或开发人员更有效地管理和维护数据库。
本文将介绍几种常用的方法来查看O ra cl e数据库中的用户名。
2.使用系统视图查看用户名O r ac le数据库提供了一些系统视图,可以方便地查看用户信息。
以下是几个常用的系统视图及其用途:2.1.D B A_U S E R S视图D B A_US ER S视图包含了数据库中所有用户的详细信息。
使用该视图可以查看用户名、用户类型、是否临时用户等信息。
S E LE CT us er na me,us e r_id,a cc ou nt_st a tu sF R OM db a_us er s;2.2.A L L_U S E R S视图A L L_US ER S视图包含了当前用户有访问权限的所有用户信息。
使用该视图可以查看用户名、用户类型等信息。
S E LE CT us er na me,us e r_idF R OM al l_us er s;2.3.U S E R_U S E R S视图U S ER_U SE RS视图包含了当前用户的详细信息。
使用该视图可以查看当前用户的用户名、用户类型等信息。
S E LE CT us er na me,us e r_idF R OM us er_u se rs;3.使用SQ L语句查看用户名除了使用系统视图外,还可以通过SQ L语句直接查询数据库来查看用户名。
以下是几个基本的SQ L语句示例:3.1.查询所有用户名S E LE CT DI ST IN CT use r na meF R OM al l_us er s;3.2.查询当前用户的用户名S E LE CT us erF R OM du al;3.3.查询指定用户的用户名S E LE CT us er na meF R OM db a_us er sW H ER Eu se rn am e='指定用户名';4.使用PL/SQL块查看用户名除了使用SQ L语句外,还可以使用P L/S Q L块来查看用户名。
SYS,默认密码为CHANGE_ON_INSTALL,当创建一个数据库时,SYS用户将被默认创建并授予DBA角色,所有数据库数据字典中的基本表和视图都存储在名为SYS的方案中,这些基本表和视图对于Oracle数据库的操作时非常重要的。
为了维护数据字典的真实性,SYS 方案中的表只能由系统来维护,他们不能被任何用户或数据库管理员修改,而且任何用户不能在SYS方案中创建表。
SYSTEM,默认密码为MANAGER,与SYS一样,在创建Oracle数据库时,SYSTEM用户被默认创建并被授予DBA角色,用于创建显示管理信息的表或视图,以及被各种Oracle数据库应用和工具使用的内容表或视图。
DBSNMP是Oracle数据库中用于智能代理(Intelligent Agent)的用户,用来监控和管理数据库相关性能的用户,如果停止该用户,则无法提取相关的数据信息;
SYSMAN是Oracle数据库中用于EM管理的用户,如果你不用该用户,也可以删除;。
ORACLE使用数据文件恢复数据库一、问题描述Oracle控制文件丢失,数据文件完整,导致数据库实例不能启动。
在修改数据库服务器的计算机名称、IP地址后,修改和文件中的HOST地址后不能启动数据库实例或启动后不能登录使用数据,以及未能查找并解决数据库启动失败原因时可以通过重建控制文件的方式对数据库实例进行恢复。
二、恢复方法1、恢复前准备工作1)备份数据文件,文件路径为%ORACLE_NOME%/oradata/xxxx(xxxx为数据库实例)。
2)备份ORACLE安装路径下的Oracle\product\(xxxx为数据库实例)。
3)ORACLE安装文件2、恢复步骤1)安装oracle数据库,安装时不要创建数据库实例2)创建数据库实例:安装完成后创建数据库实例,实例名与原数据库实例相同,并创建监听服务。
3)拷贝数据文件:停止oracle相关服务,拷贝备份的数据文件到新安装的oracle数据库安装位置对应路径下,删除新成的控制文件及日志文件(%ORACLE_NOME%/oradata/下所有文件)、完成后重启oracle相关服务。
4)准备重建控制文件脚本:打开事先备份的文件,查找最后一个create controlfile 语句并修改以下几部分。
a)若该语句中包含NORESETLOGS,则将其修改为RESETLOGS;原因是重做日志文件已经丢失。
b)LOGFILE段是指定重做日志文件到期望的文件位置。
c)DATAFILE段是指定到数据文件的实际文件位置。
不能包含临时表空间用到的文件,否则报错(ora-01503,ora-01160,ora-01110)。
注意:create controlfile语句中如果包含NOARCHIVELOG,则为非归档模式,如为ARCHIVELOG,则为归档模式,没有则保持没有。
5)重建控制文件a)打开sqlplus,使用DBA(sys)用户登录到数据库示例:打开cmd,执行sqlplus /nolog 回车SQL>Conn sys/password as sysdbab)关闭数据库示例:SQL>Shutdown immediate;c)启动数据库,但不挂载数据文件SQL>Startup nomount;d)重建控制文件,执行准备好的重建控制文件脚本示例:Create controlfile reuse set database "cognos" MAXINSTANCES 8MAXLOGHISTORY 1MAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100Datafile'C:\oracle\product\','C:\oracle\product\','C:\oracle\product\','C:\oracle\product\','C:\oracle\product\'LOGFILE GROUP 1 ('C:\oracle\product\') SIZE 51200K, GROUP 2 ('C:\oracle\product\') SIZE 51200K,GROUP 3 ('C:\oracle\product\') SIZE 51200K RESETLOGS e)带resetlogs参数启动数据库,目的重新生成重做日志文件SQL>Alter database open resetlogs注意:执行启动数据库时报错(ORA-01194,ORA-01110),解决办法:recover重做日志文件。
EXP SYSTEM/PASSWORD@SID FULL=Y FILE=D:\SYSTEM.DMP LOG=D:\SYSTEM.LOG2.数据入库(a)从数据库中删除SDE和SDE USER用户DROP USER SDE CASCADE;DROP USER SDEUSER CASCADE;(b)创建新的SDE用户和SDEUSER下为创建SDE用户过程:(i)创建表空间CREATE TABLESPACE "SDE"LOGGINGDA TAFILE 'C:\ORACLE\ORADATA\ORACLE\SDE.ora' SIZE 200MEXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO(ii)创建用户CREATE USER "SDE" PROFILE "DEFAULT"IDENTIFIED BY "PASSWORD" DEFAULT TABLESPACE "SDE"TEMPORARY TABLESPACE "TEMP"ACCOUNT UNLOCK;(iii)创建角色GRANT "DBA" TO "SDE";GRANT "CONNECT" TO "SDE";GRANT "RESOURCE" TO "SDE";(iiii)系统权限GRANT ALTER ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT ALTER ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT ANAL YZE ANY TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY TRIGGER TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY VIEW TO "SDE" WITH ADMIN OPTION;GRANT CREATE SESSION TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY VIEW TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT EXECUTE ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT SELECT ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT SELECT ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT UNLIMITED TABLESPACE TO "SDE" WITH ADMIN OPTION;3.导入SDE和SDEUSER的数据注意顺序,先SDE,后SDEUSERIMP SYSTEM/PASSWOR@SID FROMUSER=SDE TOUSER=SDEIMP SYSTEM/PASSWOR@SID FROMUSER=SDEUSER TOUSER=SDEUSER以上提到的SDE和SDEUSER是不同的用户,SDE是ArcSDE安装时的默认用户,SDEUSER 是指用户存储数据的用户,如果之间使用SDE默认用户存储,则省去所以的SDEUSER操作空间数据的备份、导出/导入(以Oracle为例):1、首先为什么oracle的exp/imp不能使用?一个feature class (shp文件)导入数据库后,会生成3个table 和7个index,这些表或者是index 可以保存在不同的表空间中。
标题:Oracle 解除账户锁定规则一、背景介绍Oracle数据库作为一种重要的关系型数据库管理系统,广泛应用于各行各业的信息管理和数据存储中。
在使用Oracle数据库的过程中,经常会碰到账户被锁定的情况,这给数据库管理人员带来了一定的困扰。
为了解决这一问题,Oracle提供了一定的解除账户锁定规则。
二、账户锁定的原因1. 输入错误超过一定次数2. 管理员手动锁定账户3. 其他未知原因导致的账户锁定三、账户锁定的解除规则1. 通过重置密码解除锁定当账户因为密码输入错误次数过多被锁定时,可以通过重置密码解除锁定。
具体操作步骤如下:(1)使用管理员账户登入Oracle数据库;(2)执行ALTER USER username ACCOUNT UNLOCK语句,将被锁定的账户解锁;(3)执行ALTER USER username IDENTIFIED BY new_password语句,重置该账户的密码。
2. 等待一定时间自动解锁当账户被锁定时,可以选择等待一定时间让系统自动解锁账户。
Oracle默认的自动解锁时间为30分钟,当超过这个时间后,系统会自动解锁账户。
3. 通过SYS用户解锁在特殊情况下,可以使用SYS用户来解锁被锁定的账户。
操作步骤如下:(1)使用SYS用户登入Oracle数据库;(2)执行ALTER USER username ACCOUNT UNLOCK语句,将被锁定的账户解锁。
四、账户锁定规则的设置和管理1. 设置账户锁定策略为了保障数据库的安全性,可以设置账户锁定策略,限制密码错误次数并设置账户锁定时间。
可以通过以下SQL语句设置账户锁定策略:ALTER PROFILE profile_name LIMIT F本人LED_LOGIN_ATTEMPTS n;ALTER PROFILE profile_name LIMIT PASSWORD_LOCK_TIME t;2. 监控账户锁定情况数据库管理员应当定期查看和监控数据库中账户的锁定情况,及时发现并处理异常情况,保障数据库的正常运行。