第一、ORA-12514:listener does not currently know of service requested in connect descriptor
监听器巴拉巴拉一堆,然后用IDEA连了下,成功!!!这就怪了,怎么搞的!!!然后就开始在网上搜索相关问题的解答,结果是,我把自己本地的ORACLE的配置搞乱了,最终就是,连本机的数据库都连不上了。。。
后来实在没招了,找项目经理来帮忙,然后,然后就把IDEA的配置CV到navicat里面,结果连接成功!!!经理的鄙视的眼神,估计能笼罩我好几天。
后来仔细看了下,是SID写错了一个字母。好吧,这个教训能记好久。
BUT,现在我的数据库已经崩溃了,肿么办???这里又有一个教训,就是在更改配置前,要备份下原来的文件!!!
第二、ORA-01031:insufficient privileges
重装了数据库,版本号、安装地址甚至密码等等,全都完全跟之前的保持一致,还暗自庆幸下,幸好之前把业务数据表空间放到了别的盘,不然数据就全完了。
但是,重装完后,怎么将原来的DBF文件跟这个新数据库关联起来呢???
吸取前一次的教训,我先把DBF文件备份了下,在开始按照网上的“教程”来一步一步的做,结果是怎么着都不行,关联不来,所以我想直接新建一个然后替换掉,看这里。悲剧从此而生:替换掉之后,数据库直接打不开了。。。
报这个错误:ORA-01031:insufficient privileges
第三、第二个问题还没解决,然后就遇到了第三个问题,问题就在第二个答案里面:在登录sysdba账户时,提示没有权限!!!
靠啊,老子是管理员权限登录的,咋滴就没权限了??后来发现,这个问题的解答,大都驴唇不对马嘴,老子要的是权限,不是乱七八糟的sql,连登录都登不上了,哪来的sql可以运行??!!
后来,在海淘一番后,才明白,这货是Windows的一个东西:我的电脑->右键管理->本地用户和组->组->双击打开ora_dba->成员添加->输入对象名称来选择(不知道本机用户名的,用cmder的whoami来找)->添加用户后,一路确认->重启电脑->over
完事,就这么解决了权限的问题了。这个事完后,老子就想说一句:WHOAMI!!!我只是搞java开发,这是要被逼成DBA的节奏吗?
完了回到第二个问题:ORA-01031!!!
命令如下:
sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期日 1月 22 17:30:21 2017 Copyright (c) 1982, 2010, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> shutdown normal ORA-01109: 数据库未打开 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount ORACLE 例程已经启动。 Total System Global Area 3373858816 bytes Fixed Size 2180424 bytes Variable Size 1845496504 bytes Database Buffers 1509949440 bytes Redo Buffers 16232448 bytes 数据库装载完毕。 SQL> alter database open; alter database open * 第 1 行出现错误: ORA-01110: 数据文件 6: 'E:DATABASEDEMO_DATA.DBF' ORA-01115: 从文件 6 读取块时出现 IO 错误 (块 # 1) ORA-27069: 试图超出文件范围执行 I/O OSD-04026: 传递的参数无效。 O/S-Error: (OS 1) 函数不正确。 SQL> alter database datafile 6 offline drop; 数据库已更改。 SQL> alter database open; 数据库已更改。 SQL> shutdown normal 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 startup ORACLE 例程已经启动。 Total System Global Area 3373858816 bytes Fixed Size 2180424 bytes Variable Size 1845496504 bytes Database Buffers 1509949440 bytes Redo Buffers 16232448 bytes 数据库装载完毕。 数据库已经打开。 SQL>
至此,完事!!!
BUT,原来的DBF文件怎么跟新的数据库关联呢??这个还是没解决啊。
第四、ORA-28000: the account is locked
Oracle有一个通用的纪念版用户,叫做scott,密码为tiger,试了一下,结果返回28000错误,为用户已锁定;
解决办法为:使用system或sys账户登录到Oracle,执行命令ALTER USER scott ACCOUNT UNLOCK;
执行完后,此用户就可以进行登录了.