扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
-- 直接修改底层表USER$更改用户名(该方法在Oracle9i中测试通过)SQL UPDATE USER$ SET NAME='TT' WHERE USER#=91;已更新 1 行。SQL COMMIT;提交完成。SQL ALTER SYSTEM CHECKPOINT;系统已更改。SQL ALTER USER TT IDENTIFIED BY VALUES '294CE6E7131DD890';ALTER USER TT IDENTIFIED BY VALUES '294CE6E7131DD890'*ERROR 位于第 1 行:ORA-01918: 用户'TT'不存在 强制Oracle 读取实际数据,而不是读取缓存SQL ALTER SYSTEM FLUSH SHARED_POOL;系统已更改。SQL ALTER USER TT IDENTIFIED BY VALUES '294CE6E7131DD890';用户已更改。 测试连接SQL CONN TT/TT已连接。SQL SELECT * FROM TAB;TNAME TABTYPE CLUSTERID------------------------------ ------- ----------TEST_TT TABLESQL CONN / AS SYSDBA已连接。SQL SHOW USERUSER 为"SYS"SQL SHUTDOWN IMMEDIATE数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL STARTUPORACLE 例程已经启动。......数据库装载完毕。数据库已经打开。
成都创新互联专注于顺河网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供顺河营销型网站建设,顺河网站制作、顺河网页设计、顺河网站官网定制、小程序定制开发服务,打造顺河网络公司原创品牌,更为您提供顺河网站排名全网营销落地服务。
1.创建新的用户;
2.对已有用户进行相关属性的修改操作。
部分属性的修改涉及到生产环境的要申请停业,避免业务交易无法正常进行:
1.创建新用户对原有的业务无影响,风险级别低,但要考虑新用户导入的数据量,避免数据表空间爆满,TEMP空间与归档空间不足。
2.修改用户密码:
1)会导致继续使用之前密码连接数据库的应用出现连接故障,如果该应用有重连机制,超过尝试次数会导致用户被锁,风险级别高。
2)会导致其他库上未进行修改的 DBLINK,无法远程连接到本数据库,风险级别 高。
3.修改用户默认表空间,不影响现有的业务,风险级别低。
4.修改用户默认临时表空间,不影响现有的业务,风险级别低。
5.修改用户 profile,会影响用户会话的连接配额,如连接会话数、密码过期设定、 空闲时间、连接时间等,风险级别中。
6.修改账户状态,会影响会话连接数据库,风险级别高。
7.修改密码口令过期,会影响会话连接数据库,风险级别高。
8.修改用户表空间配额,会影响用户在表空间中的使用额度,风险级别中。
9.修改用户权限,会影响会话的执行权限,风险级别中。
不管是生产环境还是测试环境,备份永远是第一步操作,在评估时也要考虑是否有回退的可能,不要拿开弓没有回头箭当挡箭牌:
1.修改密码时,提前保存密文密码,同时找出到修改库的 DBLINK 也要修改。
2.修改用户属性时,提前保存原来的用户属性信息。
3.同研发确认用户需求,确保不影响业务。
4.安排变更窗口,停止应用。
1.创建新用户
2.用户属性修改
3.修改密码 修改用户密码:
4.修改远程库 DBLINK 的用户密码:
5.修改默认表空间及临时表空间
6.修改 profile
7.修改账户状态(锁定,解锁)
8.修改口令过期
9.修改表空间配额
10.权限,角色授予与回收
1.重新登陆进行账户验证新密码及账户锁定状态是否符合预期。
2.在远程库进行 DBLINK 连接验证是否正常。
3.检查用户账号状态是否正常
4.检查具体的权限是否符合要求
5.应用启动后,日志是否正常,最后观察业务是否正常进行
1.删除新用户
2.修改回用户旧密码:
3.修改远程库 DBLINK 的用户密码:
4.修改默认表空间及临时表空间
5.修改 profile配置
6.修改账户状态(锁定,解锁)
7.修改表空间配额
8.权限,角色授予与回收
1.用户旧密码登录验证是否正常
2.DBLINK连接是否正常
3.查看用户的默认表空间与临时表空间是否与最初状态一致
4.profile配置是否与最初状态一致
5.账户的状态是否与最初状态一致
6.表空间配置是否与最初状态一致
7.权限等是否与最初状态一致。
备注:回退方案的验证最重要的就是第一个步骤的备份与信息记录。这样才能验证回退方案是否达到预期。
建议新建用户,不建议改。
如果真的要改,那只能是修改user$表,修改后再清除相关的数据字典信息。
比如用户叫做aa,修改为BB,那么就是
update user$ set name='BB' where name='AA';
commit;
alter system checkpoint;
alter system flush shared_pool;
不过我记得修改后,好像有些内容会失效,这个需要注意一下。
在以SYSDBA身份登陆时可以修改其他用户的密码,比如:用户已更改。在以SYSDBA身份登陆时可以修改其他用户的密码,比如:用户已更改。一般来说,oracle数据库安装后,里面有很多个默认账号和密码,比较常用的是:账号:scott
密码:tiger
账号:system
密码:manager
账号:sys
密码:任意字符。当我们想创建一个账号时,可以使用sys登录sysdba后,创建用户(需要授权),代码如下我们一般使用的是用scott登录sysdba,这时候有可能出现账户未解锁的状态,这时候可以用来解锁账户。解锁之后可能会要求你改密码:可以用
你是要改用户名吗?
比如要把用户TEXT改为TEXT_BAK:
SQL select user#,name,password from user$ where name ='TEXT';
USER# NAME PASSWORD
---------- ------------------------------ ---------------------------
78 TEXT 21EDA78F89D6FACD
更改用户名
SQL update user$ set name='TEXT_BAK' where user#=78;
1 row updated.
SQL commit;
Commit complete.
用户名更改后需要清楚缓存数据字典信息。
SQL alter system checkpoint; ----强制写入数据文件
System altered.
SQL alter system flush shared_pool; ----清楚缓存数据字典信息,强制oracle读实际数据(即更改后的数据)
System altered.
并变更用户登录密码。
SQL alter user TEXT_BAK identified by 'aaaaaa';
User altered.
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流