昨天晚上快下班的时候,公司数据库突然堵住了,一个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为什么那么写,我要进一步了解!

最新文章

  1. swap函数的四种写法
  2. [整理] ES5 词法约定文档树状图
  3. 转--object-C 与lua使用wax交互
  4. Socket解决粘包问题1
  5. 在VS Nuget命令行下进行EF数据库迁移
  6. Android开源项目(一)
  7. 【译】Experienced programmers but new to Objective-C(一)
  8. Spring学习(11)---JSR-250标准注解之 @Resource、@PostConstruct、@PreDestroy
  9. Java double和 float丢失精度问题
  10. Git版本控制器的使用
  11. 利用模板template动态渲染jsp页面
  12. java容器类2:Map及HashMap深入解读
  13. 在AndroidManifest.xml文件中设置Android程序的启动界面方法
  14. docker上传自己的镜像
  15. Selenium之table操作
  16. Oracle的DQL
  17. sqlserver乱码问题解决
  18. 【MySQL】MySQL视图创建、查询。
  19. 12.13java过关测试
  20. vsphere脚本等

热门文章

  1. 页面异步请求会保留原有的js内容
  2. mvcSSHweb.xml要配置的信息
  3. SQL执行过程中的性能负载点
  4. MySQL 'localhost' (10061)解决方法
  5. 只有第三方控件pas代码生成控件
  6. FTP DOS 命令行
  7. POJ 2195 Going Home (带权二分图匹配)
  8. 前端页面——Cookie与Session有什么区别
  9. 启动Tomcat提示:指定的服务未安装
  10. 1分钟选好最合适你的JavaScript框架