【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的一些新特性
搞定。

相关内容

热门资讯

“一次愉快的会晤”,泽连斯基披... 在俄乌互相加大对对方纵深目标打击之际,乌克兰总统泽连斯基7月28日造访了白宫,与美国总统特朗普举行会...
总统连遭“逼宫”,少帅临危受命 躲避着燃烧瓶和火箭弹袭击,四辆苏制BMP步兵战车快速穿行在马里乌波尔市区。即将出城的路口,迎面出现1...
独居女子在卧室玩偶内发现摄像头... 租房独居女子意外发现家中玩偶内藏着偷拍设备,报警后偷拍设备竟“不翼而飞”,门锁记录显示有人在她出门的...
伊学者:乌克兰袭击行动适得其反... 乌克兰袭击与伊朗有关的船只后,伊朗和俄罗斯接连作出强硬回应。伊朗外交学院教授法拉吉扎德在接受凤凰卫视...
20万人怒火不会停!蓝议员挺蒋... 海峡导报综合报道 在蓝白号召台湾民众上凯道呐喊“反毒台”后,台北市长蒋万安日前透露,近日不少民代私下...
柯文哲妻子陈佩琪畅游大陆,民进... 台湾民众党前主席柯文哲妻子陈佩琪27日在脸书发文证实,自己早前由儿子陪同前往上海、杭州与北京旅游一周...
高市早苗被问如何改善中日关系 据日本东京新闻报道,当地时间7月27日,日本首相高市早苗在首相官邸举行记者会。当被问及如何改善中日关...
扎哈罗娃批小泉进次郎涉核言论:... 【环球网报道 记者 张江平】综合俄新社等媒体报道,对于日本防卫大臣小泉进次郎涉核言论,俄罗斯外交部发...
“特高课”再现?日本强推“国家... 无视反对战争正义呼声 复刻战前军国主义体制日本强推“国家情报局”引发广泛担忧和批评(国际视点)本报记...
6G相比5G不只是速度更快 将...   6G相比5G不只是速度更快  【6G相比5G不只是速度更快】7月28日,相比5G,6G不仅是速度...