【Oracle12C】部署服务建立用户及建库建表中遇到的问题以及12C的一些新特性
admin
2023-04-21 05:42:05
0

这是一篇oracle小白由于领导压迫,不堪折磨,苦苦挣扎研究所作。
详细安装文档在上篇博客,安装中可能遇到的错误以及亲测可用的解决方式已给出。

Oracle12C与11g版本的差异

在创建用户时遇到一个问题(我的发现都是根据遇到的问题来研究的):
问题描述:
在创建服务所需用户时提示ORA-65096:公用用户名或角色无效。
问题原因:
根据Oracle官方文档得知,12C版本创建公有用户名(CDB用户)必须以c##或C##开头,测试后发现登陆时也必须加C##用户名登陆。
【Oracle12C】部署服务建立用户及建库建表中遇到的问题以及12C的一些新特性

CDB与PDB解释:
Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。
CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。
在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。
下面是官方文档给出的概念图:
【Oracle12C】部署服务建立用户及建库建表中遇到的问题以及12C的一些新特性
我的理解:这个结构有点类似于docker的关系。一个管理库(CDB)来管理所有的可插拔数据库(PDB),如果你想在PDB库中创建用户是不用加c##的,但是同样这个用户也只能在这一个PDB库中使用,无法应用到其他库中。
创建公有用户的示例sql:
CREATE USER c##test IDENTIFIED BY test DEFAULT TABLESPACE test ACCOUNT UNLOCK ;
同样在做授权或登陆等操作时也必须加c##:
GRANT RESOURCE TO c##test;

附带PDB与CDB有关的一些常用SQL语句:
创建PDB空间的示例语句(需要先创建表空间文件):
create tablespace TSCREDITLOG datafile '/home/oracle/app/oracle/creditdb/CREDITLOG/TSCREDITLOG01.dbf' size 20M;

查询所有的PDB及CDB的Name:
SELECT name, pdb FROM v$services ORDER BY name;

只查看PDB库:show pdbs;
(PDB我看到的有两种状态 读写和只读 )

打开所有PDB库: alter pluggable database all open;
切换到某个PDB(容器切换):ALTER SESSION SET container=NAMEPDB;
切换到CDB:alter session set container=cdb$root;
察看现在的容器的名称:show  conname;


操作中遇到的一些问题以及解决方式:

只是报错为问号或乱码:字符集不一致导致 :
运行:alter session set nls_language=american;
如果数据库提示符都为问号乱码:
需要在oracle用户下.bash_profile中添加环境变量NLS_LANG
创建表空间失败问题:
1.表空间文件夹授权有问题;
2.表空间文件夹不存在
创建表时提示创建失败(提示权限不足,没有用户等等):
检查了创建用户的脚本,在第一遍执行的时候返回的都是授权成功或者创建成功但是没有权限,所以重新执行了一遍,问题解决(问题规律—大招:很多问题都可以通过重启实例或者重新执行来解决)。
创建表空间错误ORA-65048:
在可插入数据库PDBORCL中处理当前DDL语句时出错 ORA-00959:表空间‘TEST’不存在
只需要重启数据库即可解决!
 Oracle数据库的启动与关闭方法
  sql>shutdown abort;    --一一异常关闭,但是最快的关机方式,因新装的数据库,就没有那么多顾忌。
sql>startup 
可以开心的正常创建用户了~~

Navicat无法连接oracle12c问题,提示没有匹配的验证协议:
问题原因:Navicat有一个OCI.dll文件版本过低。再深入的没研究,下面直接放找到的解决方法。
需要Oracle 的二个文件:
百度云链接:http://pan.baidu.com/s/1jIfQ95G 密码:wm9l
如果没有Navicat就去百度下一个(Nacicat for oracle)
这里直接把 instantclient-basic-nt-12.1.0.2.0.zip 解压到 Navicat for Oracle 的解压目录的instantclient_10_2目录下
然后这个目录下多了instantclient_12_1 这个目录 ,然后再把instantclient-sqlplus-nt-12.1.0.2.0.zip 解压到 instantclient_12_1下
完成
最后打开Navicat for Oracle 单击 工具->选项-> OCI
这里有二个选项 参考我的路径就知道了
OCI 你的路径\instantclient_12_1.oci.dll
SQL 你的路径\instantclient_12_1.sqlplus.exe
【Oracle12C】部署服务建立用户及建库建表中遇到的问题以及12C的一些新特性

然后新建连接,连接数据库:
【Oracle12C】部署服务建立用户及建库建表中遇到的问题以及12C的一些新特性
搞定。

相关内容

热门资讯

著名作曲家在沈病逝!《十五的月... 12月29日,著名作曲家铁源在沈阳因病逝世,代表作《十五的月亮》《在那桃花盛开的地方》家喻户晓。铁源...
玩家分享攻略“决胜奕福辅助器?... 家人们!今天小编来为大家解答决胜奕福透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
【特稿】“人工智能时代”领衔德... “人工智能时代”领衔德国年度十大热词 李函林 德国语言协会近日公布2025年度十大热词,其中热度最高...
AI和算力的升级大幅提高了轮式... 一、从“看见”到“看懂” · 传统方式:依赖预先编程的规则和简单的传感器(如磁条、二维码)进行导航,...
【第一财经】“新青鸟拼三张真的... 【第一财经】“新青鸟拼三张真的有挂吗?”(果然有透视挂)您好,新青鸟拼三张这个游戏其实有挂的,确实是...
【今日要闻】“富豪麻将开挂器?... 网上科普关于“富豪麻将有没有挂”话题很是火热,小编也是针对富豪麻将作*弊开挂的方法以及开挂对应的知识...
最新引进“新圣游炸/金/花有没... 家人们!今天小编来为大家解答新圣游炸/金/花透视挂怎么安装这个问题咨询软件客服徽9752949的挂在...
最新引进“新皇豪牛牛到底有挂吗... 最新引进“新皇豪牛牛到底有挂吗?”(必胜开挂神器)您好,新皇豪牛牛这个游戏其实有挂的,确实是有挂的,...
玩家分享攻略“鱼扑克有挂吗?”... 网上科普关于“鱼扑克有没有挂”话题很是火热,小编也是针对鱼扑克作*弊开挂的方法以及开挂对应的知识点,...
最新引进“微乐陕西挖坑开挂器?... 网上科普关于“微乐陕西挖坑有没有挂”话题很是火热,小编也是针对微乐陕西挖坑作*弊开挂的方法以及开挂对...