--查看oralce版本
select * from v$version;
--查看当前使用容器
select sys_context ('USERENV', 'CON_NAME') from dual;
--查看数据库存在的容器及其状态等
select con_id, dbid, guid, name, open_mode from v$pdbs;
--或
show pdbs;
--创建新用户
create user 用户名 identified by 密码;
--用户授权
grant connect,resource,dba to 用户名;
--修改用户密码
alter user 用户名 identified by 密码;
--删除用户
drop user 用户名;
drop user 用户名 cascade;
需要注意: 1、由于oracle从12c开始引入了容器(PDB和CDB)、租户的概念。直接连接sysdba用户创建新用户时,会默认在CDB中创建公有用户,用户名需要以“C##”或“c##”开头。如果用户名开头不想使用“C##”或“c##”,则需要做如下操作。
--方法1:关闭容器(未尝试)
--a. 执行命令
alter pluggable database pdb名称 close;
--b. 或者在安装创建oracle的时候将“创建为容器数据库”前面的打勾✔去掉。
--方法2:切换会话container到PDB容器(尝试可用)
--打开容器
alter pluggable database pdb名称 open;
--关闭容器
--alter pluggable database pdb名称 close;
--保存容器当前状态,避免主机/orcl服务重启时,pdb自动关闭
--alter pluggable database all save state;
--切换容器
alter session set container=pdb名称(指定容器);
2、删除用户时,若用户拥有对象,则不能直接删除,否则将返回一个错误值。 需要指定关键字cascade,可删除用户所有的对象,然后再删除用户。
3、在创建用户,重启电脑/数据库服务后,发现一个用户登录的问题。详细描述如下: 问题描述: a、在将用户创建到其他pdb容器后,电脑重启。 b、然后再次用新创建的用户连接数据库时,发现报错“ORA-01109 数据库未打开”。 c、查看用户pdb状态为MOUNTED,而不是一个打开的可读可写的状态。 问题原因分析: 重启电脑,或oracle服务重启后,pdb状态被重置为open之前的状态。 解决问题方法: a、打开容器。