前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >oracle12c,各种问题解决方案

oracle12c,各种问题解决方案

作者头像
热心的社会主义接班人
发布于 2018-04-27 05:31:38
发布于 2018-04-27 05:31:38
2.3K00
代码可运行
举报
文章被收录于专栏:cscs
运行总次数:0
代码可运行

近来重装了计算机(双系统windows10+ubuntu16),顺带着也把software升级一下,结果安装最新的oracle12c,出现了一系列问题,我不喜欢折腾,曾经L说过我,喜欢啥折腾,浪费时间,金钱可以解决的,就让自己轻松一下,这次安装oracle12c后,登录名和口令怎么也不对,有折腾了一上午。

oracle12c 安装 使用可以看看这篇文章。 Oracle 12c Windows安装、介绍及简单使用(图文)

oracle12c,感觉变化了好多,首先记得打开一下oracle服务,在计算机,管理,服务中。SQL server如果不开启服务,也进不去,oracle也应该差不多。

服务.jpg

主要二个问题:

1.0 SQL plus登陆,出现用户名/口令无效; 登录被拒绝问题。 2.0 SQL developmer登陆出现 Oracle the network adapter could not establish the connection 的问题。

问题如图:

sql plus.jpg

oracle-error.jpg

如果你也出现这样的问题,那就来对地方了。嘻嘻,我可是花了一上午的时间解决的。

网上看了10多篇教程,在自己的随机应变下终于搞定了。特此写一篇博客,方便遇到同样问题的小伙伴。


解决主要参考了这二篇文章 异常: The Network Adapter could not establish the connection解决方案

Oracle the network adapter could not establish the connection


先仔细看看这二篇文章,如果问题解决了,就可以离开了

遗憾的是,我按照二篇文章做了,还是不行,毕竟oracle12界面变了好多,只能一个个尝试了,最终ok了**

首先我进行了lsnrctl命令

结果如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C:\Users\dflx>lsnrctl

LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production on 18-10-2017 16:19:38

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

欢迎来到LSNRCTL, 请键入"help"以获得信息。

LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
TNS-12541: TNS: 无监听程序
 TNS-12560: TNS: 协议适配器错误
  TNS-00511: 无监听程序
   64-bit Windows Error: 61: Unknown error
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=58.195.5.164)(PORT=1521)))
TNS-12543: TNS: 无法连接目标主机
 TNS-12560: TNS: 协议适配器错误
  TNS-00513: 不能连接的终点主机
   64-bit Windows Error: 51: Unknown error
LSNRCTL>

发现和文章所说一样,感觉看到了希望,可是找oracle12安装目录,。。。。。。,windows10文件存放不一样了,oracle12也是最新的,找了半天,什么everything搜索也没有找到\bin目录,修改注册表也就算了。


首先应该登陆 SQL plus. 网上可以找到三种默认登陆 说一种:id:system 。passward:manager。 如果不行,就按照下面的默认登陆。 id:sqlplus / as sysdba passward:manager.

接着查看用户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select username from dba_users;

结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SYS
SYSTEM
XS$NULL
OJVMSYS
LBACSYS
OUTLN
SYS$UMF
DBSNMP
APPQOSSYS
DBSFWUSER
GGSYS
ANONYMOUS
CTXSYS
SI_INFORMTN_SCHEMA
DVSYS
DVF
GSMADMIN_INTERNAL
ORDPLUGINS
MDSYS
OLAPSYS
ORDDATA
XDB
WMSYS
ORDSYS
GSMCATUSER
MDDATA
SYSBACKUP
REMOTE_SCHEDULER_AGENT
GSMUSER
SYSRAC
AUDSYS
DIP
C##DFLX
SYSKM
ORACLE_OCM
SYSDG
SPATIAL_CSW_ADMIN_USR

创建用户

格式为: create user user_name identified by passward;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create user master identified by zxk123456789;

出现下面错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
在行: 3 上开始执行命令时出错 -
create user master identified by zxk123456789
错误报告 -
SQL 错误: ORA-65096: 公用用户名或角色名无效
65096. 00000 -  "invalid common user or role name"
*Cause:    An attempt was made to create a common user or role with a name
           that was not valid for common users or roles.  In addition to
           the usual rules for user and role names, common user and role
           names must start with C## or c## and consist only of ASCII
           characters.
*Action:   Specify a valid common user or role name.

原因大概说一下:

oracle 12c推出了可插拔库,管理用户也分为两种:本地用户和公用用户。本地用户是指在插拔数据库(PDB)中的用户,和12c之前的版本没有什么区别。公用用户只存在于可插拔环境中,在传统的数据库环境中不存在这种应用。怎么理解公用用户呢?可以简单的把它当做容器(CDB)用户,可以在各个通用与所有可插拔数据库(PDB)中使用。

参考文章: 12c 创建公用用户和本地用户

所以解决方法如下:用户名前面加上c##

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create user c##master identified by zxk123456789;

结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User C##MASTER 已创建。

重要的授权,oracle权限很重要,我喜欢上帝权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grant connect,resource,dba to c##master;

结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Grant 成功。

更多东西可以参考 Oracle-04-用SQL*PLUS创建用户&新用户授权等


修改用户名和密码:

格式为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 update user$ set name='MY_USER2' where name='MY_USER1';

我好像失败了:

在sqlplus中操作如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SQL> update user$ set name='master' where name='c##master';

已更新 0 行。

在客户端进行,错误是这样的。

SQL 错误: ORA-00942: 表或视图不存在
00942. 00000 -  "table or view does not exist"
*Cause:    
*Action:

准备尝试一下如下语句:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
update dba_users set username='master' where username='c##master';

结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SQL 错误: ORA-01031: 权限不足
01031. 00000 -  "insufficient privileges"
*Cause:    An attempt was made to perform a database operation without
           the necessary privileges.
*Action:   Ask your database administrator or designated security
           administrator to grant you the necessary privileges

有想着sql plus 登陆,使用dba执行上面语句,结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 行出现错误:
ORA-01031: 权限不足

好像还是权限的问题。

修改密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
格式如下:alter user 用户名 identified by 新密码;

我的操作如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alter user c##master identified by mm123456;

结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User C##MASTER已变更。

sql plus链接成功。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
请输入用户名:  c##master
输入口令:

连接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

在说一下最重要的 SQL developer链接,

如果按照上面那篇文章:Oracle the network adapter could not establish the connection 进行操作了,还是解决不了问题,那就在看看下面的东西,或许会有用。

oracle-succeed.jpg

链接名,应该随意,我默认和用户相同。用户名和口令,你可以安装上面的讲解,通过SQL plus自己创建一个。---重点:把选择类型改成本地/继承。##################我就是这样成功了,如果还不行,在试一试,oracle12c界面其它的选择,我感觉它们很有用。

成功图.jpg

近来又出现协议适配器错误 监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。

image.png

看文章 Oracle协议适配器错误解决办法 解决了


同是天涯沦落人,相逢何必曾相识。

文章如果解决了你的问题,喜欢一下,嘻嘻。

今天没有跑步,没有。。。。。,电脑终于基本按照好了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.10.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
访问网站首页 index.php,跟着执行流程走一遍
访问网站首页 index.php,跟着执行流程走一遍,细节不深究,碰到不太明白的变量,直接var_dump()输出看看: 1. index.php——首页入口页面,版本判定、是否开启调试、引入 ThinkPHP框架 路径:‘./index.php‘ 判断PHP版本需是5.3.0以上:version_compare(PHP_VERSION,‘5.3.0‘,‘<‘); 系统调试设置:define(‘APP_DEBUG‘, true ); 应用目录设置:define ( ‘APP_PATH‘, ‘./Application/‘ ); 缓存目录设置:define ( ‘RUNTIME_PATH‘, ‘./Runtime/‘ ); 引入ThinkPHP:require ‘./ThinkPHP/ThinkPHP.php‘; 2. ThinkPHP.php——ThinkPHP框架的入口文件,定义各种常量、判断系统环境,初始化应用 路径:‘./ThinkPHP/ThinkPHP.php‘ 定义常量:版本号 THINK_VERSION、URL 模式定义(4 种模式)、类文件后缀 EXT、是否为SAE 环境、常用的系统路径常量(如Think类库目录、应用公共目录、缓存目录、配置目录等); 引入核心类Think.class.php:require CORE_PATH.‘Think‘.EXT; 应用初始化:Think\Think::start(); //命名空间\类名::方法(); //这里用到了命名空间 3. Think.class.php——框架的核心类,初始化应用程序,加载配置、类库,错误和异常处理,实例化对象 路径:‘./ThinkPHP/Library/Think/Think.class.php‘ 声明:Think\Think start()方法:加载需用的类、配置、语言包,是否需要缓存,运行应用 ①设定方法: spl_autoload_register(‘Think\Think::autoload‘); 自动加载类的方法,以及一些错误异常处理方法; ②分布式存储类初始化,用于读取、写入、删除文件;Storage::connect(STORAGE_TYPE); ③开发模式不缓存加载的核心类文件$runtimefile,用户模式将所有需引用的类并到同一个文件中缓存,加快后续访问速度。 ④加载应用的配置文件、需要的函数和类文件、行文扩展等文件路径的数组$mode;include ‘./ThinkPHP/Mode/common.php‘ ⑤循环加载处理$mode 数组中的各路径的文件; ⑥检查应用目录结构是否存在,不存在则会默认生成目录结构;(这个针对ThinkPHP新建一个应用,首次访问时使用) ⑦开始运行应用 App::run(); 即:‘./ThinkPHP/Library/Think/App.class.php‘ 4. App.class.php——加载公共文件配置、URL解析、调用对应的控制器方法 路径:‘./ThinkPHP/Library/Think/App.class.php‘ 声明:Think\App run()方法: ①App::init(); load_ext_file 加载应用的公共文件(./Application/Common/Common/)配置 (./Application/Common/Conf) Think\Dispatcher::dispatch(); URL解析,获取控制器 index、方法 index ②App::exec(); 执行应用程序,及新建控制器HomeConstroller 的实例,即对象; 创建控制器实例:$module = controller(CONTROLLER_NAME,CONTROLLER_PATH); 即=new IndexController(); 利用 php 反 射 机 制 获 取 action 方 法 对 象 , $method = new \ReflectionMethod($module, $action); 执行这个方法:$method->invoke($module); //无参数时执行,访问首页默认执行这个 $method->invokeArgs($module,$args); //有参数时执行; 以上即执行了控制器 ./Application/Hom
PM吃瓜
2019/08/13
4K0
Github-ThinkPHP 2.X 任意代码执行
ThinkPHP 3.0 版本因为 Lite 模式下没有修复该漏洞,也存在这个漏洞。所以先来看看preg_replace这个函数,这个函数是个替换函数,而且支持正则,使用方式如下:
Baige
2022/03/22
9290
Github-ThinkPHP 2.X 任意代码执行
开发中经常用到的代码
http://surl.sinaapp.com/ 引入百度CDN公共库 地址:http://t.cn/zYDC8wj
老高的技术博客
2022/12/27
4710
ThinkPHP-PHP开发中的主流框架
PHP 中的框架是什么? 框架就是通过提供一个开发 Web 程序的基本架构,PHP 开发框架把 PHPWeb 程序开发摆到了流水线上。换句话说,PHP 开发框架有助于促进快速软件开发(RAD),这节约了开发时间,有助于创建更为稳定的程序,并减少开发者的重复编写代码的劳动。 框架专门用于为这些常用元素(数据库交互、表示层、应用程序逻辑)提供结构,以便可以花费更少的时间来编写数据库接口代码或者表示层接口,而花费更多的时间来编写应用程序本身。以这种方式分解应用程序,这种架构被称为模型-视图-控制器(Mod
沈唁
2018/05/24
2.9K0
PHP-ThinkPHP框架学习
每个项目都有一个独立的配置文件(位于项目目录的Conf/config.php),配置文件的定义格式均采用PHP返回数组的方式,例如:
偏有宸机
2020/11/04
7K0
thinkjs学习笔记
IMWeb前端团队
2017/12/29
1.2K0
thinkPHP3.0框架实现模板保存到数据库的方法
本文实例讲述了thinkPHP3.0框架实现模板保存到数据库的方法。分享给大家供大家参考,具体如下: 在开发cms的时候用到如果将模板文件存入到数据库并显示到页面中 由于thinkphp3.0都是直接从模板文件中读取再解析的那么对于模板存入数据库中就只有自己开发了,还有thinkphp3.0中有mode的功能我们可以定义自己的mode这样就可以达到目的了,那么如何来扩展自己的mode呢?如下: 1.在你的入口文件中输入
用户2323866
2021/07/01
7430
骑士CMS模版注入+文件包含getshell复现
骑士cms人才系统,是一项基于PHP+MYSQL为核心开发的一套免费 + 开源专业人才网站系统。软件具执行效率高、模板自由切换、后台管理功能方便等诸多优秀特点。
Timeline Sec
2020/12/16
1.6K0
ThinkPHP框架运行流程
$GLOBALS['_beginTime'] = microtime(TRUE);
PM吃瓜
2019/08/13
1.2K0
CI基础知识笔记
1.知识点 $config[‘url_suffix’] = ”;//url后缀 $config[‘enable_query_strings’] = FALSE; $config[‘controller_trigger’] = ‘c’;//类似Thinkphp当中的m,可以传递c=news控制器名 $config[‘function_trigger’] = ‘m’;//类似Thinkphp当中的a,可以传递a=index方法名 $config[‘directory_trigger’] = ‘d’;
苦咖啡
2018/05/08
1.4K0
thinkphp框架解析0 -- 起源
THINKPHP是国人开发的PHP框架,如今终于深入内部打探了一番,下面给大家分享老高的心得。
老高的技术博客
2022/12/27
1.3K0
Yaf---Session | 模板 | 模型 | Cli模式
Yaf_Session是Yaf对Session的包装, 实现了Iterator, ArrayAccess, Countable接口, 方便使用.关于Yaf_Session的文档介绍:http://www.laruence.com/manual/yaf.class.session.html
Marco爱吃红烧肉
2021/07/23
2K0
Phalcon VS Spring 用法对照手册
Phalcon VS Spring 摘要 Phalcon VS Spring 用法对照表 ---- 目录 1. Install 1.1. Phalcon 1.2. Spring 2. Project initialization 2.1. Phalcon 2.2. Spring 3. Controller 3.4.1. Phalcon 3.4.2. Spring 3.3.1. Phalcon 3.3.2. Spring 3.2.1. Phalcon 3.2.2. Spring 3.1.1. Phalcon
netkiller old
2018/03/05
1.1K0
Thinkphp的Common模块作用
Common模块和普通模块一样,可以添加控制器、模型和视图,并且支持多层,但不能直接访问,只能继承,其中模型层 可以作为公用模型,在D方法实例化中调用。D函数实例化的时候 才能自动判断 当前模块模型类不存在的时候实例化公共模块中的同名模型,自己实例化肯定做不到这点了。
PM吃瓜
2019/08/12
2.7K0
Thinkphp的Common模块作用
带你走进PHP session反序列化漏洞
前些天打了巅峰极客,遇到了一题 session 反序列化,借此机会整理一下php session 反序列化的前生今世,愿与君共勉,如若有错,还望斧正
p4nda
2023/01/03
1.8K0
Thinkphp框架的项目规划总结和踩坑经验
1、项目分为PC端、移动端、和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin;
PM吃瓜
2019/08/12
2.5K0
Thinkphp框架的项目规划总结和踩坑经验
thinkphp3.2.3代码审计
源码地址:http://www.thinkphp.cn/download/610.html
F12sec
2022/12/30
1.2K0
thinkphp3.2.3代码审计
thinkphp常用配置config
下载解压 ThinkPHP 3.2.3,在默认的应用 Application(./Application) 中,包含一个默认的模块 Home(./Application/Home)。
PM吃瓜
2019/08/12
3.1K0
thinkphp常用配置config
骑士 CMS 远程代码执行分析
续师傅前些天跟我说骑士 CMS 更新了一个补丁,assign_resume_tpl 这个全局函数出现了问题,让我分析看看能不能利用,我看了下官网公告:
p4nda
2023/01/03
1.1K0
骑士 CMS 远程代码执行分析
使用easyswoole进行开发web网站
easyswoole作为swoole入门最简单的框架,其框架的定义就是适合大众php,更好的利用swoole扩展进行开发,
仙士可
2019/12/19
1.7K0
使用easyswoole进行开发web网站
相关推荐
访问网站首页 index.php,跟着执行流程走一遍
更多 >
LV.1
PHP开发
作者相关精选
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验