1、进入docker环境oracle
docker exec -it oracle /bin/bash 进入docker
su - oracle
输入sqlplus /nolog
conn / as sysdba
2、进入linux系统中的oracle
root 登陆切换到oracle 用户(su - oracle),或直接oracle用户登陆linux系统
输入sqlplus /nolog,回车;
输入“conn / as sysdba”;
输入“alter user sys identified by 新密码”
注意:新密码最好以字母开头,否则可能出现错误Ora-00988。有了这个方法后,只要自己对oracle服务器有管理员权限,不记得密码的时候就可以随意修改密码了。
3、sqlPlus登陆其它方式
1.sqlplus username/pwd as sysdba;这种方式是最基础,也是最常见的连接方式,这种方式是让choy用户使用管理员身份进行登录
2.sqlplus /@实例名 as sysdba; 这种方式是直接使用sys用户进行登录
3.sqlplus username/pwd@host_id:1521/实例名; 这种是连接远程数据库使用的方式,在本地,如果想使用SQLPLUS命令连接到远程服务器就可以使用这种方式
4.sqlplus /nolog 先使用sqlplus命令,而不连接数据库,然后使用conn命令登录
4、查看所有用户
select USERNAME ,default_tablespace
from dba_users
WHERE username LIKE '%CPS%';
5、解决密码过期
受影响版本:Oracle11g以上版本。
导致密码失效的原因:Oracle 11g中默认的DEFAULT概要文件中口令有效期PASSWORD_LIFE_TIME默认值为180天。
当以客户端登陆Oracle提示ORA-28002,则基本可以确定登陆帐号已过有效期,使用具有DBA权限的帐号重置该帐号密码即可。
解决方法:
以下步骤以具有DBA权限用户操作
1.查看口令失效用户的profile文件
SQL>SELECT username,profile FROM dba_users;
EM:服务器>用户,查看口令失效的用户对应的概要文件,这里假设为DEFAULT,下同。
2.查看对应的概要文件的口令有效期设置
SQL>SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
EM:服务器>概要文件>选择刚刚查到的概要文件DEFAULT>查看,查看口令下面的有效期值。
3.将口令有效期默认值180天修改成“无限制”
SQL>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
EM:服务器>概要文件>选择刚刚查到的概要文件DEFAULT>编辑>口令,在有效期输入或选择你需要的值,保存。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
使用这个命令来修改有效期为一直有效,不会过期
看到配置文件已更改 就表示已经设置完成了
该参数修改实时生效。
出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,即建议客户能够定期修改数据库用户口令。
在修改PASSWORD_LIFE_TIME值之前已经失效的用户,还是需要重新修改一次密码才能使用。
SQL>alter user user_name identified by password;