更改Oracle数据库的非归档模式

来源:互联网 发布:江苏商贸职业学院网络 编辑:程序博客网 时间:2024/05/01 19:33

更改Oracle数据库的非归档模式需要重新启动数据库,在mount模式下修改,简要步骤

1 以shutdown immediate方式关闭数据库

2 启动实例到mount状态

3 更改运行非模式并打开数据库

操作步骤:连接到数据库(必须以管理员身份登录) conn test/test@orcl as sysdba 或者 conn /as sysdba 连接到空闲例程
连接时 如果出现
SQL> conn cdws/cdws@orcl as sysdba
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
这样的错误,首先到sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)

SQLNET.AUTHENTICATION_SERVICES= (NONE) 注释掉这行

或者
sqlplus “/ as sysdba” 连不上,报ora-01031:insufficient privileges解决方法

注意多个数据库实例时候,set ORACLE_SID=”,
检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上
检查登陆windows的用户(administrator或安装Oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。
要保证 remote_login_passwordfile 参数 = EXCLUSIVE .
看看是否需要使用orapassw生成口令文件

1 登录数据库查看数据库的归档状态

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence 2923

Next log sequence to archive 2925

Current log sequence 2925

2 关闭数据库

SQL>shutdown immediate;
数据库已关闭

3 启动数据库到mount状态

SQL>startup mount;

可能出现的错误
SQL> startup mount;
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
(有时候会出现各种错误,最靠谱的方法是重新连接到一个新的例程,在执行)
如果启动失败可以尝试如下操作:

本机登录,如果有多个数据库,应该先设置登录ORACLE_SID
windows 下打开cmd窗口 set ORACLE_SID=实例名
linux unix 下 export ORACLE_SID=实例名
之后输入sqlplus /nolog
conn /as sysdba;
startup mount; 即可

4 启动归档模式

SQL>alter database noarchivelog; (非归档模式为:alter database noarchivelog)

如果报错:

SQL> alter database noarchivelog;

alter database noarchivelog

*

ERROR at line 1:

ORA-38774: cannot disable media recovery - flashback database is enabled

先关闭flashback

SQL> alter database flashback off;

Database altered.

再更改为非归档模式

SQL> alter database noarchivelog;

Database altered.

5 打开数据库

SQL>alter database open;

0 0
原创粉丝点击