连接ORACLE
- 连接Oracle
sqlplus / as sysdba
创建表空间
create tablespace PM_DATA_DEV datafile '/opt/oracle/db02/oradata/orcl/PM_DATA_DEV.dbf'size 1000M online;
create tablespace PM_INDEX_DEV datafile '/opt/oracle/db02/oradata/orcl/PM_INDEX_DEV.dbf' size 500M online;
create tablespace NMS_DEV datafile '/opt/oracle/db02/oradata/orcl/NMS_DEV.dbf' size 2048M online;
创建用户
create user nms_dev identified by nms_dev default tablespace NMS_DEV temporary tablespace TEMP;
报错:
ORA-65096: invalid common user or role name
在数据库中建立的用户对应以上两个层级:
COMMOM USERS , 普通用户, 一般建立在CDB层, 用户名需要以 C#或C##开头;
LOCAL USERS , 本地用户, 仅建立在PBD层,建立的时候需要指定容器
说明当前在CDB容器下,COMMOM USERS 需要以 C#或C##开头, 所有这里的用户名不合规范。
1、查看当前容器
select sys_context ('USERENV', 'CON_NAME') from dual;
结果:
SYS_CONTEXT('USERENV','CON_NAME')
--------------------------------------------------------------------------------
CDB$ROOT
2、当前容器是CDB容器,需要切换至PDB容器创建用户:
SQL> col NAME for a30
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
结果:
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 1427660486 PDB$SEED READ ONLY
3 4138724457 ORCLPDB1 READ WRITE
3、修改PDB容器状态:打开ORCLPDB1
alter pluggable database ORCLPDB1 open;
4、切换到PDB容器
alter session set container=ORCLPDB1;
5、正常创建用户,成功,授权。
其他错误
1、删除表空间错误可以执行:
alter database datafile '/opt/oracle/db02/oradata/orcl/PM_INDEX_DEV.dbf' offline drop;
2、 用户解锁
alter user nms_pro account unlock;
3、低版本取得连接Oracle 19c报错:ORA-28040: No matching authentication protocol
Oracle 19c Server端进行配置,$ORACLE_HOME/network/admin/sqlnet.ora 增加如下配置:
$ vi sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
不生效则需要修改用户密码
alter user 用户名 identified by 密码;