整理一下自己遇見過的 SQL 各種報錯信息及相應解決方法,方便以後查閱,主要平台為 Oracle:
sqlplus /nolog
進入 SQL Plus 後,想連接數據庫 conn username/password as sysdba
時,會報 Connected to an idle instance.
錯誤。startup
啟動數據庫時,會報 ORA-01012: not logged on
錯誤。通過查閱資料,判斷報錯原因是在關閉數據庫意外退出後,ORACLE一直處於鎖定狀態,不再允許其他操作。
先關閉ORACLE進程:
ps -ef|grep ora_dbw0_$ORACLE_SID //找到ORACLE進程 kill -9 PID //通過找到的進程PID號kill掉該進程
然後重啟ORACLE:
sqlplus /nolog //進入SQL Plus startup //啟動ORACLE
最後附上關閉ORACLE的命令說明,以免造成錯誤的關閉操作:
insert into table_1 (?, ?) values (?, ?, ?)
插入值比字段多了一個,則會報該錯誤
select distinct a from table1 where ... order by b;
這是因為 order by 根據 b 列排序時與 distinct 產生沖突,distinct 找不到 b 列。
select distinct a,b from table1 where ... order by b;