目录
OracleOraDB12Home1TNSListener服务启动的问题
本篇基于oracle数据库版本oracle12c 12.2.0.1.0版本
oracle12c简单介绍
oracle12c和以前版本不太一样,oracle12c是插拔式数据库,分为CDB和PDB库。在oracle 12c之前数据库和数据库实例之间的关系是多对一或者一对一的关系(这也是以前我对oracle数据库的大致概念),在oracle 12c 中引进了多租户的概念,实现了数据库实例可以对应多个数据库。cdb代表的是容器数据库,pdb代表的是可插拔数据库,实际上就是传统的数据库.而且现在也衍生了两种用户,一种是cbd用户,另外一种是pdb用户。
建议使用PDB数据库,在PDB数据库中创建用户,使用PDB数据库中的模式
各种问题产生的背景
前不久入职了一家新的公司,作为一个java程序员,没想到的是2023年还有公司的业务是使用oracle数据库,在电脑上安装环境的时候和使用过程中产生了一些问题,在这里写一下,提供一些思路,一些问题的解决方法已经满足我日常开发使用的需要,但是我不确定这样解决是否正确。专业的问题解决还是得请教oracle数据库专家。
使用sys用户通过sqlplus登录的问题
oracle自带了sys,system两个用户,在安装完毕后,我就使用sqlplus使用sys登录,但是是不允许这样登录的,需要输入sys as sysdba回车以后输入密码才能已管理员账户登录,这也是我一个oracle新手碰到的问题
新建用户的问题
使用sys用户通过sqlplus登录以后使用的数据是CDB数据库,在这里只能创建以创建c##字符开头的用户名,这不太复合使用习惯。但是可插拔数据库PDB中,是可以创建符合使用习惯的用户名。在安装数据库过程中,oracle已经默认替我们创建了一个PDB数据库ORCLPDB,我们是可以在PDB数据库中创建符合使用习惯的用户名的。安装oracle12c数据库_wallwamusic的博客-CSDN博客oracle新手安装oracle数据库,java程序员安装oracle数据库https://blog.csdn.net/qq_36494752/article/details/129837757
通过以下步骤可以在PDB数据库中创建一个新的用户
首先查看有哪些PDB数据库
show pdbs;
查看orclpdb数据库的状态,如果不是处于READ WRITE状态,处于MOUNTED挂载状态的话,可以使用下面的语句打开ORCLPDB数据库
alter pluggable database orclpdb open;
再次确认oraclepdb状态,如果处于READ WRITE状态,可以通过 下面的语句,进入到oraclpdb数据库
alter session set container = orclpdb;
然后就可以按照以前oracle版本的语句创建新用户了
# 创建用户normaldev,密码为123456test
create user normaldev identified by 123456test;
# 授权
grant connect, resource,dba to singer;
新用户创建以后需要修改一下tnsnames.ora文件(安装数据库时创建的home路径下面oracle12c\home\network\admin),不修改的话JAVA程序应该是无法使用的。
原始文件
# tnsnames.ora Network Configuration File: C:\Users\lihaojie\oracle12c\home\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(