当前位置:  数据库>oracle

Oracle切换为归档模式的步骤及问题解决

    来源: 互联网  发布时间:2014-10-04

    本文导语:  直接如题查看当前数据库模式 连接进入数据库,键入以下命令: 代码如下: SQL> archive log list; 可查看当前数据库的模式,若“数据库日志模式    非存档模式”则有必要进行以下的切换流程。 在切换之前,请确保以下参数...

直接如题

查看当前数据库模式

连接进入数据库,键入以下命令:

代码如下:

 SQL> archive log list;
 

可查看当前数据库的模式,若“数据库日志模式    非存档模式”则有必要进行以下的切换流程。

在切换之前,请确保以下参数的设置

log_archive_dest_n 参数设置归档日志目标,其中n用数字替换。在Oracle9i中n的范围是1~5,在Oracle10g中n可以取值1~10。设置方式如下:

代码如下:

 SQL> alter system set log_archive_dest_1="location=path" scope=both;
 

其中,path是存储归档日志文件的文件夹路径。最后的scope=both是为了将设置应用到当前数据库实例,以及将参数设置保存到SPFILE中,数据库重启时直接加载SPFILE中的参数信息。
可以设置多个归档日志目标。设置多个目标,在进行归档的时候归档日志文件可以同时保存成多个归档版本,设置多个目标是个好习惯,虽然在问题出现之前似乎没有必要^_^

关闭数据库

代码如下:

 SQL> shutdown immediate
 

关闭数据库一般不会出现什么问题,但在数据库投入使用之后,关闭数据库必须是迫不得已的(即使你是故意关闭它也要表现得很迫不得已,呵呵)——最好确保关闭是没有人正在使用数据库,要不然,有你等的^_^。

启动数据库为挂起(mount)状态

代码如下:

SQL> startup mount

行至此步,真正的问题才出现。mount了无数次始终startup不上,说是监听程序无法监听到你当前的例程了。当然,如果监听程序配置得当,此类问题是不会在这里出现的。既然是监听程序出现问题,那么就从这里入手进行解决。在oracle数据库的安装目录下(路径可能如:E:oracleproduct10.2.0db_1NETWORKADMIN)可以找到listener.ora这种参数文件,可用记事本打开它们进行编辑和保存。当然直接手工修改这个文件并非明智之举,因为其中的括号可以扼杀你无数的脑细胞。在安装oracle时一般都会默认安装Net Manager这个组件,它可以帮助你轻松地配置监听程序的烦人参数:
Oracle Net配置 》监听程序 》LISTENER,在窗体右边最上边的下拉框中选择“数据库服务”。如果你尚未监听数据库服务,那么这就是你解决问题的关键所在。添加数据库,全局数据库和SID设置为与tnsnames.ora文件中的SERVICE_NAME相同的值(注:tnsnames.ora文件与listener.ora文件在同一个目录下)。保存,则在listener.ora中就会多出一些设置,如下:

代码如下:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = E:oracleproduct10.2.0db_1)
      (SID_NAME = ORCL)
    )
  )

红色部分正式监听程序中未配置完整的内容,现在配置好它,则以上无法使数据库进入挂起状态的问题就可以解决了。注意,以上假设tnsnames.ora文件中的SERVICE_NAME就是ORCL。当然,配置好监听程序参数后并未马上应用到监听程序中,我们还需要重新载入监听程序,进入命令行:

代码如下:

 C:>lsnrctl
 LSNRCTL> reload

重新连接一次数据库,则结果是“已连接到空闲例程”。此时再startup mount,则可顺利进入挂起状态。

在挂起状态的数据库例程中切换模式

代码如下:

 SQL> alter system archivelog;
 

提示“数据库已更改”。在打开数据库后,用archive log list可以查看当前模式:数据库日志模式    存档模式。

打开数据库

代码如下:

 SQL> alter database open;
 

挂起状态的数据库并非真实可用的状态,只有打开的数据库才是运行中可使用的例程。

结尾工作

打开自动归档

代码如下:

 SQL> alter system set log_archive_start = true; scope=both;
 

手工归档;

代码如下:

 SQL> alter system switch logfile; --可进行手工归档检测以上设置是否已经被应用到当前数据库中

设置快闪区大小

代码如下:

 SQL> alter system set db_recovery_file_dest_size=5368709102;  --5G
 

其他问题
在切换模式的过程中我还碰到一个问题,即在我用写字板打开SPFILE时无意中按了保存。小小的保存带来大大的问题,SPFILE是一种二进制文件,写字板虽然能打开正常浏览大部分内容却无法读取文件中第一行的文件标识(正常情况下用写字板打开文件第一行是乱码,关键啊)。保存,得,SPFILE就被改成普通文本了,人是好读了,但Oracle不认识。没办法,重新建一个呗。

重建SPFILE需要系统中的PFILE。PFILE好的地方是它是文本文件^_^一般在建数据库的同时就已经创建了它,它所在的路径可能如下:E:oracleproduct10.2.0adminorclpfile。在此路径下有一个以init.ora.为文件名开头的文件,该文件的文件名结尾的部分是一串数字(默认情况下)。以sysdba的身份连接到数据库空闲例程(没有SPFILE数据库无法启动打开,只能连接到空闲例程如:conn / as sysdba),重建SPFILE的命令如下:

代码如下:

SQL> create spfile='E:oracleproduct10.2.0db_1dbsSPFILEORCL.ORA' from pfile='E:oracleproduct10.2.0adminorclpfileinit.ora.************';

若重建成功,则提示“文件已创建”。创建新的SPFILE后数据库就能正常启动了,但是,以后请记住用系统命令alter system set...... scope=spfile;去修改SPFILE的内容。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问:谁在linux下安装过oracle?详细安装步骤共享一下吧!我有急用。谢谢了!
  • 有人在fedora 10下安装 oracle database 11g,没有呀?提供个安装步骤
  • 上传一个非常详细的Oracle10G在IBMAIX 5L上的安装步骤与大家分享
  • Oracle移动数据文件到新分区步骤分析
  • oracle 创建表空间步骤代码
  • 使用X manager连接oracle数据库的步骤
  • oracle定时备份压缩的实现步骤
  • Linux/UNIX下,C++程序通过那些步骤访问Oracle或者Sybase SQL数据库?
  • oracle scott 解锁步骤
  • oracle单库彻底删除干净的执行步骤
  • oracle SQL解析步骤小结
  • 在oracle数据库里创建自增ID字段的步骤
  • oracle停止数据库后linux完全卸载oracle的详细步骤
  • Oracle与FoxPro两数据库的数据转换步骤
  • oracle 10g 精简版安装步骤分享
  • Oracle数据库的十种重新启动步骤
  • Oracle回滚段空间回收步骤
  • Oracle中取固定记录数详细步骤
  • 安装Linux与Oracle数据库步骤精讲
  • Oracle 10g表空间创建的完整步骤
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3