表现出的错误:
Navicat链接oracle数据库的时候弹出的错误信息:
错误一:ORA-12541:TNS:no listener错误二:ORA-01033:ORACLE 正在初始化或关闭
错误一:解决历程

找到该文件:进行编辑


注意:
-
SID_NAME的名字是数据库实例的名字
-
对ora文件进行修改后都需要重新启动监听服务
-
cmd--命令;lsnrctl stop; lsnrctl start
-
任务资源管理器--服务--OracelOraDb10g_home1TNSListener
到此第一个问题OK。
验证:
网上还有一些说法,做的验证
1、先找(GLOBAL_DBNAME = BJPOWERNODE.COM) 找不到再找SID_NAME?
(SID_DESC =(GLOBAL_DBNAME = BJPOWERNODE.COM)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME = BJPOWERNODE))
BJPOWERNODE.COM是服务器的名字,监听配置的文件中可以不写这个,也一样运行成功。
但不写SID_NAME = BJPOWERNODE,会出现以下(在Lisstener.ora中的参数不正确,指定路径不存在)错误。
找不到对应的oracle服务在服务中用的是数据库实例的名字

2、HOST = 电脑名称 要改为IP吗?
LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-ASVGKT1)(PORT = 1521))))
我把HOME = 192.168.1.2 改为电脑名称后,在Navicat中主机填写localhost;IP;127.0.0.1都可以成功登陆

错误二:ORA-01033:ORACLE 正在初始化或关闭
问题原因:删除了创建表空间时候的.DBF文件,但是删了文件并不代表表空间也删了,所以会出现找不到文件的情况,也就链接不上数据库了。
在cmd下输入如下内容;
C:\Users\Administrator>
sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 3月 4 11:51:29 2020
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
startup
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 92275368 bytes
Database Buffers 192937984 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF'
SQL>
select name from v$datafile;
NAME
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\USERS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\EXAMPLE01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\DRP.DBF
已选择7行。
SQL>
alter database datafile
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF'
offline;
alter database datafile D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF offline
*
第 1 行出现错误:
ORA-01145: 除非启用了介质恢复, 否则不允许立即脱机
SQL>
alter database datafile'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF'OFFLINE DROP ;
数据库已更改。
SQL>
shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
startup
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 92275368 bytes
Database Buffers 192937984 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开。
SQL>
PS:
sqlplus "/as sysdba"
|
以操作系统权限认证的oracle sys管理员登陆
|
shutdown immediate
|
马上关闭开启的应用(终止当前进程)
|
startup
| 开启当前应用 |
select name from v$datafile;
| 从控制文件中获取数据库某基表下的name |
alter database datafile XXX offline;
| offline drop命令相当于把一个数据文件至于离线状态 |
alter database datafile XXX OFFLINE DROP ;
|
是将数据文件的状态更改为
recover
(同上)
|