不知道密码情况下创建用户 (转)
很多数据库迁移要求使用exp,或者需要使用exp,比如我这次为用户做的数据库升级,从oracle9i升级到oracle11g。
我们需要在新服务器上创建数据库,创建表空间,创建用户,赋予用户权限,然后再执行imp命令导入数据。
创建用户之前我们可以通过select username from dab_users来获取需要创建的用户名,可是如何获得该用户的密码呢?
在创建语句create user <username> identified by <password>中,password怎么办?我们都知道oracle的用户密码是密文,无法直接使用。
在这里我们采用一个小方法来搞定这件事,请看下面的实验:
1,创建一个测试用户
SYS@PRACTICE >create user Lily identified by panda;
2,为用户Lily授权
SYS@PRACTICE >grant connect,resource to Lily;
3,查看用户Lily的密文密码
SYS@PRACTICE >col name for a20
SYS@PRACTICE >col password for a30
SYS@PRACTICE >select user#,name,password from user$ where name='LILY';
USER# NAME PASSWORD
---------- -------------------- ------------------------------
91 LILY 1EE128BE3115C31B <==密码panda加密后的模样
4,测试新用户登录
SYS@PRACTICE >conn Lily/panda
Connected.
5,在新数据库中创建用户Lily,密码和原数据库一致。
grant connect, resource to Lily identified by values '1EE128BE3115C31B';
6,在新系统上测试登录
conn Lily/panda
Connected.
到此利用密文密码创建用户成功。
有一点需要注意的是这个密文密码是和用户相关联的,两个不同的用户即使密码相同,它们的密文密码并不相同。
比如:
SYS@PRACTICE >create user u1 identified by panda;
User created.
SYS@PRACTICE >create user u2 identified by panda;
User created.
SYS@PRACTICE >col name for a20
SYS@PRACTICE >col password for a30
SYS@PRACTICE >select user#,name,password from user$ where name in ('U1','U2');
USER# NAME PASSWORD
---------- -------------------- ------------------------------
149 U1 3F7B709FE0BD3E6A
150 U2 0EB66C29105D811E
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
2010-09-03 FusionCharts完全入门手册12
2010-09-03 FusionCharts完全入门手册11
2010-09-03 FusionCharts完全入门手册10
2010-09-03 FusionChart完全入门手册9
2010-09-03 FusionChart完全入门手册8
2010-09-03 FusionChart完全入门手册7
2010-09-03 FusionChart完全入门手册6