在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
直接如题 连接进入数据库,键入以下命令: 复制代码 代码如下: 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:\oracle\product\10.2.0\db_1\NETWORK\ADMIN)可以找到listener.ora这种参数文件,可用记事本打开它们进行编辑和保存。当然直接手工修改这个文件并非明智之举,因为其中的括号可以扼杀你无数的脑细胞。在安装oracle时一般都会默认安装Net Manager这个组件,它可以帮助你轻松地配置监听程序的烦人参数: 复制代码 代码如下: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = E:\oracle\product\10.2.0\db_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需要系统中的PFILE。PFILE好的地方是它是文本文件^_^一般在建数据库的同时就已经创建了它,它所在的路径可能如下:E:\oracle\product\10.2.0\admin\orcl\pfile\。在此路径下有一个以init.ora.为文件名开头的文件,该文件的文件名结尾的部分是一串数字(默认情况下)。以sysdba的身份连接到数据库空闲例程(没有SPFILE数据库无法启动打开,只能连接到空闲例程如:conn / as sysdba),重建SPFILE的命令如下: 复制代码 代码如下: SQL> create spfile='E:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA' from pfile='E:\oracle\product\10.2.0\admin\orcl\pfile\init.ora.************'; 若重建成功,则提示“文件已创建”。创建新的SPFILE后数据库就能正常启动了,但是,以后请记住用系统命令alter system set...... scope=spfile;去修改SPFILE的内容。 |
请发表评论