坎坷的oracle安装学习

一、安装问题

1、win11 安装Oracle19c报错:【TINS-130011】 此操作系统不支持 Oracle 数据库。安装程序将不在系统上执行先决条件检查。

先决条件检查不通过,这个需要更改电脑的归属用户名,不能使用中文的,就算是跳过,后边一样会阻塞到。

需要在我的电脑处属性里重命名该电脑,不然安装进行不下去的。

二、登陆好难

1、创建的用户无法使用

在安装过程中创建的用户很可能不能用,登陆的时候如果用创建的用户一直登陆不进去


那么直接使用系统管理员用户进行登陆吧,登陆进去之后去解锁你创建的用户,然后同时可以改个密码。

#连接到sqlplus,如果你直接使用的本机自带的sqlplus,已经进入到该状态,不需要执行该步
sqlplus /nolog

#以管理员的身份连接到数据库
conn /as sysdba

#解锁system用户,(去替换成你自己的)
alter user system account unlock;

#登陆不上也可能是密码问题,下一条也会写,尽量不要使用特殊字符,使用了之后会报错,也可能和我的编码格式有关系吧

alter user system identified by pass123;

2、密码问题

输入密码的时候建议输的简单点,特殊字符输入会有问题,并且在sql plus命令行里修改密码这个也修改不了。(也可能和我的编码格式有关系吧)

三、使用过程中的问题

1、oracle19c新建模式报错

SQL 错误 [65096] [99999]: ORA-65096: 公用用户名或角色名无效  Error : 65096, Position : 12, SQL = CREATE USER SCOTTT IDENTIFIED BY "123456", Original SQL = CREATE USER SCOTTT IDENTIFIED BY "123456", Error Message = ORA-65096: 公用用户名或角色名无效  ORA-65096: 公用用户名或角色名无效

原因是oracle12c之后的版本出现此错误时需要在用户名前加"c##"。

2、cdb和pdb

cdb容器(数据库容器)和pdb容器(可插拔数据库)(12c之后引入了这个概念)

如果在cdb模式下,创建用户,创建模式都需要加c##,如果在pdb模式下,则一切正常,初始化进去都是cdb模式,需要手动切换。

#这里要用系统管理员连接,不然切换不成功

#以管理员的身份连接到数据库
sqlplus / as sysdba   或  conn /as sysdba

然后查看当前使用的数据库类型
select sys_context('USERENV','CON_NAME') from dual;
若是CDB,则需要切换,先查看当前PDB数据库名称


显示pdb名称和状态
show pdbs;

#如果pdb对应的状态不是on,则需要手动开启pdb,文尾放了pdb自启动
alter pluggable database ORCLPDB open;
根据显示的pdb名称进行切换到PDB数据库
alter session set container=ORCLPDB1;
再查看当前使用容器
select sys_context('USERENV','CON_NAME') from dual;

这个时候创建用户的时候不加c##就不会再报错了

pdb数据库自启动

create or replace trigger open_pluggable_db
after startup 
on database
begin
   execute immediate 'alter pluggable database all open';
end open_pluggable_db;
/

3、SQL 错误 【1950】 【42000】: ORA-01950: 对表空间 'USERS' 无权限

模式创建好以后,用户没有权限,这个是DBeaver的报错

解决方式:

先把之前创建的模式删除后->
-- 使用超级管理员登录 -进入cmd窗口  sqlplus 登录进去后
sqlplus / as sysdba   或  conn /as sysdba

-- 创建c##scott用户

CREATE USER c##scott IDENTIFIED BY tiger ;

-- 为用户授权

GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO c##scott CONTAINER=ALL ;

-- 设置用户使用的表空间

ALTER USER c##scott DEFAULT TABLESPACE USERS;

ALTER USER c##scott TEMPORARY TABLESPACE TEMP;

结束之后,dbeaver需要重新连接一下,然后删掉之前的sql界面,在这个表里重新开一个,然后就可以正常使用了。

4、重启电脑后发现oracle的sql语句执行速度特别慢

执行完垃圾清理之后,我这个就恢复正常了。

PURGE RECYCLEBIN;

有的是通过清空临时表来解决,先创建a临时表空间,然后把临时表空间指向a,然后删掉原来的表空间,然后重新创建原有的表空间,然后再指回来,然后干掉。

###初学者学习过程中碰到的问题,如有不对,欢迎指正。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值