昨天晚上快下班的时候,公司数据库突然堵住了,一个buf表中累计了20多W的数据提取不出来,改了程序,效果不明显。因为之前有一次也重启过oracle,所以这次还是想把oracle重启一下,因为那些数据都是客户要发送出去的东西,比较急,所以,经理就去机房把oracle重启了。他怎么重启的我也不知道,我只知道,重启之后,oracle起不来了。。那个电话啊。。那个催促啊。。

>cmd

>sqlplus sys/**** as sysdba

SQL>startup

ORA-00093:_shared_pool_reserved_min_alloc must be between 4000 and 0

SQL>

然后我找了一个其中有

pga_aggregate_taarget=200M

.....

db_cache_size=200M

....

shared_pool_size=200M

..

的一个init什么w.ora的文件,不知道在哪里找的,把其中这3个参数改过去,改回来,启动还是报上面那个错,还有的错误是:

SQL>startup

ORA-00821:Specified value of sga_target 280M is too small,needs to be at least 692M

SQL>

D:\oracle\product\10.2.0\db_1\admin\orclyxkj\pfile\init.ora.4142011856

##############################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##############################################################################
 
###########################################
# SGA Memory
###########################################
sga_target=890455552

这个错误,我找到了下面这个文件,改了其中的sga_target=890455552(之前是sga_target=290455552),也就是增加了4倍,但奇怪的是,包括上面那个问题,不管你把参数改成多少,他每次报的错还是一样,上面说至少4000,我改了5000,6000都还是报那个错,现在这个,从原来的参数增加了4倍,还是报同样的错,于是我认为,这些文件不起作用。然后问了群里的高人,问题解决了:

1.自建一个init.ora的oracle配置文件(随便放在哪里,我放在C盘根目录下面):

orclyxkj.__db_cache_size=192937984
orclyxkj.__java_pool_size=4194304
orclyxkj.__large_pool_size=4194304
orclyxkj.__shared_pool_size=83886080
orclyxkj.__streams_pool_size=0
*.audit_file_dest='D:\oracle\product\10.2.0\db_1/admin/orclyxkj/adump'
*.background_dump_dest='D:\oracle\product\10.2.0\db_1/admin/orclyxkj/bdump'
*.compatible='10.2.0.1.0'
*.control_files='D:\oracle\product\10.2.0\oradata\orclyxkj\control01.ctl','D:\oracle\product\10.2.0\oradata\orclyxkj\control02.ctl','D:\oracle\product\10.2.0\oradata\orclyxkj\control03.ctl'
*.core_dump_dest='D:\oracle\product\10.2.0\db_1/admin/orclyxkj/cdump'
*.db_block_size=8192
*.db_cache_size=188743680
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orclyxkj'
*.db_recovery_file_dest='D:\oracle\product\10.2.0\db_1/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclyxkjXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=96468992     #这个是pga的大小,96M。oracle 一共 使用内存 1.7 g。1.7g   的话   80% 给 sga(1.36M) ,20% 给 pga(0.34M)

*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=1073741824                     #这个之前很小,启动还是报错,于是把这个参数调大,内存2G,调的1G
*.shared_pool_size=0                            #然后把share_pool都改为0(这个我不知道为什么,回头研究)
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:\oracle\product\10.2.0\db_1/admin/orclyxkj/udump'

2。启动的时候:

SQL>startup pfile=c:\init.ora

然后就发现,oracle可以开起来了!可以在SQL>下面进行查询了。但是,这并不代表着就可以通过pl/sql访问oracle了。

另外还要执行一句非常重要的话,之前没执行这句话,pl/sql一直不能访问oracle,执行完后,终于可以访问:

SQL>create spfile from pfile='c:\init.ora'

注意,pfile=后面的路径一定要加单引号,要不然报“invalied file name”错误。

3。配置监听。

打开oracle的Net Configration Assistent,可以删除曾经的监听,再新建一个监听,或者直接配置之前已经有的监听。

若新建监听:

Oracle Net Configration Assistent--》本地Net服务名配置--》添加--》服务名(自己写,一般和数据库名一样orclyxkj)--》TCP--》主机名:(127.0.0.1)--》不进行测试--》网络服务名(默认和前面设置的服务名一样)--》后面要指定路径的,指定到db_1这一层(D:\oracle\product\10.2.0\db_1)

若更改旧监听:

在Oracle Net Manager页面:

本地--》服务命名--》orclyxkj(自己的服务器名)--》

--》服务标识:

服务名:orclyxkj

SID:(灰的,无法填)

连接类型:数据库默认设置

--》地址配置:

地址1:

协议:TCP/IP

主机名:192.168.1.X(我认为,这里一定要写本机IP,之前试过写本机名或者127.0.0.1,到后来开监听服务的时候,都会报错)

端口号:XXXX(默认是1521)

-------》监听程序

LISTENER:

地址1,和上面配一样,然后保存,监听就配好了。

4。开启服务:

我的电脑--》管理--》服务和应用程序--》服务(需要启动2个oracle服务):

OracleOraDb10g_home1TNSListener (启动这个的时候如果报“进程以外终止”错误,就到上面把监听配置正确)

OracleServiceORCLYXKJ

到这2个服务都正常开启,好了,可以通过pl/sql正常访问oracle了!

精华啊,弄到晚上4点半啊!其中sga_target为什么那么写,我要进一步了解!

oracle启动 init.ora spfile pfile[转]的更多相关文章

  1. Oracle启动中,spfile.ora、init<SID>.ora、spfile<SID>.ora 这三个文件正确的先后顺序是什么?

    Oracle启动中,spfile.ora.init<SID>.ora.spfile<SID>.ora 这三个文件正确的先后顺序是什么? 解答:启动数据库,使用startup命令 ...

  2. 判断ORACLE启动时使用spfile还是pfile

    自Oracle 9i以后启动的时候默认使用的初始化文件是spfile,我们可以通过如下三种方式来判断是SPFILE还是PFILE方式启动数据库.1.show parameter spfile2.sho ...

  3. ORACLE的init.ora配置文件中参数详解

    db_name = "orcl"   一个数据库标识符,应与CREATE DATABASE 语句中指定的名称相对应. instance_name = orcl在多个例程使用相同服务 ...

  4. oracle三个重要参数文件:pfile和spfile和init.ora

    Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动第一个阶段时候加载的, 决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值.数据库的各种物理 ...

  5. init.ora, pfile, spfile

    实例启动时,查找初始化参数文件的顺序为: spfile<sid>.oraspfile.orainit<sid>.ora 如果以上3个文件都不存在,则实例无法启动. init.o ...

  6. oracle的参数文件:pfile和spfile

    1.pfile和spfile Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的,决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值 ...

  7. oracle spfile pfile

    1.如果不指定的話 先后順序: spfileSID.ora spfile.ora initSID.ora init.ora. 2.这样startup spfile='*.oar',不允许的. 3.不过 ...

  8. oracle基础知识(六)----spfile与pfile

    一, 认识参数文件      Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的,决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值 ...

  9. Linux 启动数据库报错:could not open parameter file init**.ora

    sqlplus /nolog.conn /as sysdba.startup命令后显示 SQL> startupORA-01078: failure in processing system p ...

随机推荐

  1. css3学习系列之移动(一)

    transform功能 放缩 使用sacle方法实现文字或图像的放缩处理,在参数中指定缩放倍率,比如sacle(0.5)表示缩小50%,例子如下: <!DOCTYPE html> < ...

  2. axis1.4开发webservice客户端(快速入门)-基于jdk1.4

    写在前面: 对于客户端,服务端开发好了以后,客户端只需要调用就可以了.这里我们讲的是,根据服务的访问地址,来生成客户端所需要用到的代码(听说有几种调用方式,但是用到最常见的就是stub方式,貌似我说的 ...

  3. java 线程 理解 解析

    1 线程的概述 进程:正在运行的程序,负责了这个程序的内存分配,代表了内存中的执行区域. 线程:就是在一个进程中负者一个执行路径. 多线程:就是在一个进程中多个执行路径同时执行. 假象: 电脑上的程序 ...

  4. Django学习(一)---基本配置及创建项目、应用

    安装:在Django官网下载最新版Django然后通过pip安装即可 一.创建项目 进入文件夹,打开cmd窗口,输入django-admin startproject myblog(项目名) 二.创建 ...

  5. 为Dynamics 365启用部署级的跟踪以及跟踪文件的定期删除

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复260或者20170712可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  6. "HK"日常之制作一只QQ刷屏

    刷屏器是什么?可以吃吗?如果可以吃它好吃吗? um. 刷屏器就是可以定时发生信息的东西 刷屏器可以应用于很多方面,例如别人不理你了或者在QQ斗图的时候.警告:本教程仅作为学习研究,禁止其他用途!--- ...

  7. jsp注册页面的省份联动(网上copy别人的,然后自己弄了一下才知道怎么用)

    首先写一个js里面是所有的省份一些七七八八的东西,直接复制黏贴过去就好了. var addressInit = function(_cmbProvince, _cmbCity, _cmbArea, d ...

  8. JavaSE中Map框架学习笔记

    前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...

  9. java面向对象浅析

    1.(了解) 面向对象 vs 面向过程 例子:人开门:把大象装冰箱 2.面向对象的编程关注于类的设计!1)一个项目或工程,不管多庞大,一定是有一个一个类构成的.2)类是抽象的,好比是制造汽车的图纸. ...

  10. docker~写个容器启动的bash脚本

    回到目录 bash脚本在linux里就相当于win里的bat和cmd及ps脚本,可以把一般指令组织在一起,统一去执行,比如我有一些docker容器需要统一去启动,这时,你可以把它们写成一个bash脚本 ...