Oracle数据库使用FAQ记录

1 篇文章 0 订阅
1 篇文章 0 订阅


今天使用PLSQL Developer工具连接数据库时,出现”ora-12514监听程序当前无法识别连接描述符中请求的服务“,
在解决该问题的过程中,出现了一系列的数据库错误,经过本人努力奋战4个小时,终于搞定了它了,记录一下,以备后用。

数据库的基础知识介绍:
在安装ORACLE的时候,需要设置
Oracle根目录(oracle base directory),简写为ORACLE_BASE
Oracle主目录(oracle home directory), 简写为ORACLE_HOME
Oracle清单目录(oracle invertory directory), 简写为ORACLE_INVERT

上述3个目录对应于我电脑上的如下3个目录:
%ORACLE_BASE%  -- E:\Oracle\product\10.2.0
%ORACLE_HOME%  -- %ORACLE_BASE%\Db_1
备注:如果在同一台主机的同一个根目录下安装多个产品或安装了第2次,则ORACLE_HOME主目录会以db_n的形式出现,即Db_2、Db_3等。
%ORACLE_INVERT%  -- E:\Oracle_SoftwareEntry\inventory   //Oracle_SoftwareEntry该目录是Oracle软件安装后生成的目录。

Oracle常用命令行:
sqlplus / as sysdba #表示连接到空闲例程
startup #表示启动数据库
lsnrctl start #表示启动监听服务


FAQ1 --
问题描述:
ORA-12514监听程序当前无法识别连接描述符中请求的服务

原因分析:
数据库安装目录下的listener.ora文件中没有配置监听数据库实例从而导致出现该问题,
listener.ora文件的全路径是:E:\Oracle_SoftwareEntry\network\admin\listener.ora

解决方案:
文件内容:
# listener.ora Network Configuration File: E:\Oracle_SoftwareEntry\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = E:\Oracle_SoftwareEntry) #此处是实际的oracle软件安装后的根目录
      #(PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = orcl))
      (ADDRESS = (PROTOCOL = TCP)(HOST = PC-20150531CTFZ)(PORT = 1521)) #oracle服务器使用的地址--电脑的名称
    )
  )
 
 
FAQ2 --
问题描述:
ORA-12518: TNS: 监听程序无法分发客户机连接

原因分析:
经查看是由于OracleServiceORCL服务没启动导致的

解决方案:
打开服务-->启动OracleServiceORCL


FAQ3 --
问题描述:
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated

现象如下所述:
C:\Users\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期日 10月 11 16:41:59 2015
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
已连接到空闲例程。
SQL> startup
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01263: Name given for file destination directory is invalid
OSD-04018: ??????????????????????????
O/S-Error: (OS 2) ??????????????????????

原因分析:
查看ORA-01261,发现是db_recovery_file_dest这个配置错误,而E:\Oracle_SoftwareEntry\database目录下的SPFILEORCL.ORA这个文件中
有db_recovery_file_dest的配置,需将文件中的*.db_recovery_file_dest='E:\Oracle\product\10.2.0\flash_recovery_area'这项配置到正确的
目录,即 flash_recovery_area 的目录刚好是E:\Oracle\product\10.2.0\flash_recovery_area

解决方案:       
修改文件SPFILEORCL.ORA中的*.db_recovery_file_dest配置为:  *.db_recovery_file_dest='E:\Oracle\product\10.2.0\flash_recovery_area'                                                                                                                                                                                                                                                                                                                                                                                                                   orcl.__db_cache_size=402653184
orcl.__java_pool_size=16777216
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=180355072
orcl.__streams_pool_size=0
*.audit_file_dest='E:\admin\orcl\adump'
*.background_dump_dest='E:\admin\orcl\bdump'
*.compatible='10.2.0.3.0'
*.control_files='E:\oradata\orcl\control01.ctl','E:\oradata\orcl\control02.ctl','E:\oradata\orcl\control03.ctl'
*.core_dump_dest='E:\admin\orcl\cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='E:\Oracle\product\10.2.0\flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=203423744
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=612368384
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='E:\admin\orcl\udump'


FAQ4 --
问题描述:
ORA-01078: failure in processing system parameters

现象如下所述:
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on 星期日 10月 11 17:33:05 2015
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
已连接。
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file 'E:\ORACLE_SOFTWAREENTRY\DATABASE\INITO
RCL.ORA'

原因分析:
目录E:\Oracle_SoftwareEntry\database下缺少initorcl.ora文件

解决办法:
将Oracle_Home下的E:\Oracle\product\10.2.0\admin\orcl\pfile\init.ora.2262014214939文件拷贝到E:\Oracle_SoftwareEntry\database下的initorcl.ora文件
并修改initorcl.ora中的db_recovery_file_dest=E:\Oracle\product\10.2.0\flash_recovery_area这个配置到正确的flash_recovery_area目录路径

附加问题:
当前数据库,我拷贝的是这个目录下的文件--E:\admin\orcl\pfile\init.ora.972015182328,而拷贝E:\Oracle\product\10.2.0\admin\orcl\pfile\init.ora.2262014214939
这个文件会有问题,会出现
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  532676608 bytes
Fixed Size                  1291576 bytes
Variable Size             155192008 bytes
Database Buffers          369098752 bytes
Redo Buffers                7094272 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF' --路径不对


FAQ5 --
问题描述:
ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询

原因分析:
没有装载数据库

解决方案:
1.先链接 输入SQL> conn 用户名/密码 as sysdba 参考SQL> conn sys/orcl as sysdba
2.查看你的数据库信息SQL> select * from v$log;
3.关闭 例程,并卸载了数据库(放心,不是那个卸载意思,没事儿!) SQL> shutdown immediate;
4.从启数据库,并装载数据库 SQL> startup #打开数据库
5.修改数据库打开方式SQL> alter database open;
 6.SQL> alter database open resetlogs;


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值