表現出的錯誤:
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(同上)
|