oracle基础文件操作

控制文件

1.查看路径

a.show parameter control

b.select * from v$controlfile

c.show parameter control_files;查看控制文件副本数

2.修改路径

a.法一

show parameter control --首先查看 controlfiles 的原本路径

alter system set control_files='/u01/app/oracle/oradata/sink/control01.ctl','/u01/app/oracle/oradata/sink/control02.ctl' scope=spfile;--设置需要修改的

controlfile 路径

shutdown immediate;--

mv /u01/app/oracle/fast_recovery_area/sink/control02.ctl /u01/app/oracle/oradata/sink/control02.ctl--移动控制文件到目标目录

startup--数据库重启,spfile 被重新启用

show parameter control;

select * from v$controlfile

b.法二

show parameter control;--查看 controlfile 的实际位置,明确目标路径的位置

show parameter spfile;--查看数据库以什么参数启动(是 pfile,还是 spfile)

create pfile from spfile;--spifle 是二进制文件不能直接文本编辑,所以以 spfile 创建 pfile

shutdown immediate;--为了移动控制文件必须先关闭数据库

mv /u01/app/oracle/oradata/sink/control01.ctl

/u01/app/oracle/oradata/sink/control01.ctl--移动控制文件到目标目录

vim initsink.ora--编辑 修改对应控制文件路径

startup pfile=$ORACLE_HOME/dbs/initsink.ora --以秀改后的静态参数文件启动数据库

select name from v$controlfile;--验证路径

create spfile from pfile; --更新 spfile 参数文件

shutdown immediate;

startup--不带参数重启

select name from v$controlfile;--查看路径

数据文件

1.查看数据文件路径

a.select file_name from dba_data_files;

b.select name from v$datafile;

2.修改数据文件路径

a.法一:关库下操作

lsnrctl stop -停监听

shutdown immediate--关库

startup mount;--启动到 mount 状态

cd /u01/app/oracle/oradata/--切换到数据文件路径下

cp * .dbf /datafile/oradata --操作系统层面移动数据文件,(先保留原路径下的数据文件)

alter database rename file '/app/oracle/oradata/index.dbf' to '/datafile/oradata/ndex.dbf';修改控制文件中数据文件的路径

alter database open;--起库

elect name from v$datafile;

select file_name from dba_data_files;--验证(无误,且生产库无异常再删原路径下文件)

b.法二:在线修改

select file_name,tablespace_name from dba_data_files; --查看路径 及表空间和数据文件对应关系

alter tablespace lmis offline;--设置对应表空间为离线状态

host mv /u01/app/oracle/oradata/lmis01.dbf /u01/datafile/lmis01.dbf--操作系统层面

移动数据文件到新路径

alter database rename file '/u01/app/oracle/oradata/lmis01.dbf' to '/u01/datafile/lmis01.dbf';--数据库层面修改路径

alter tablespace lmis online;---设置表空间为在线状态

select file_name from dba_data_files;--验证

在线重做日志文件

1.查看路径

a.select member from v$logfile;

2.修改路径

a.

shutdown immediate;

cp /u01/app/oracle/flash_recovery_area/orcl/redo01.dbf /u01/app/oradata//redo01.log

startup mount -启动到 mount 状态

alter database rename file '/u01/app/oracle/flash_recovery_area/orcl/redo01.dbf' to '/u01/app/oradata//redo01.log'

alter database open;--启库

select member from v$logfile;--验证

归档日志

select name from v$archived_log--查看归档路径

archive log list --查看归档路径

alter system set log_archive_dest_1='location=D:\arch'; --修改归档路径

shutdown immediate

startup mount --启动到 mount 状态

alter database archivelog; --设置归档模式

alter database open 打开数据库

alter system switch logfile; --切换日志产生归档

archive log list--验证路径

show parameter log_archive_format--查看归档格式

alter system set log_archive_format='BOP%t_%s_%r.dbf' scope=spfile;--更改归档文件名

shutdown immediate

startup --起库

alter system switch logfile; --切换日志产生归档

查看归档名称验证是否生效

闪回恢复区 fast_recovery_area

1.DB_RECOVERY_FILE_DEST 路径

show parameter db_recovery

2.修改闪回区大小

alter system set db_recovery_file_dest_size=10G;

参数文件文件 (pfile: 初始化参数文件 :pfile 默认的名称为“init+例程名.ora” spfile:服务器参数文件:spfile 默认的名称为“spfile+例程名.ora”二进制文件不能直接修改)

show parameter spfile;--查看参数文件路径

SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';--查看参数文件目录

select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified ='TRUE';--查看数据库默认启动参数文件

若之前存在 pfile ------- 然后又 create pfile from spife

若之前存在 spife ------ 然后又 create spfile from pfile

如果在 startup 里指定了 pfile=''的话,Oracle 将从你指定的文件作为启动参数文件,如果是没有指定 pfile 的话,Oracle 会先去默认目录($ORACLE_HOME/)下找 spfileSID.ora,如果没有找到,则找 spfile.ora,如果还是没有,找 initSID.ora,这个就是以前的静态参数文件了,如果没有则找 init.ora;如果没有找到的话,这时候,启动就会有,找不到参数文件的错误,同时会动态注册实例名到监听服务里。密码文件路径

/u01/app/oracle/product/11.2.0/db_1/dbs

口令文件的命名规则:orapw+sid

select *from v$pwfile_users;--口令文件存放的是 sys

remote_login_passwordfile 是静态参数。修改了该值之后,数据库需要重启。

alter system set remote_login_passwordfile=none scope=spfile;

a.当 remote_login_passwordfile 是 EXCLUSIVE

--没有 sqlnet.ora 文件

sqlplus sys/oracle as sysdba

sqlplus / as sysdba

sqlplus sys/oracle@db as sysdba

以上均成功

--sqlnet.ora 文件参数 SQLNET.AUTHENTICATION_SERVICES=none

sqlplus sys/oracle as sysdba 成功

sqlplus / as sysdba 不成功

sqlplus sys/oracle@togogo as sysdba 成功

-- sqlnet.ora 文件参数 SQLNET.AUTHENTICATION_SERVICES=all

sqlplus sys/oracle as sysdba 成功

sqlplus / as sysdba 成功

sqlplus sys/oracle@togogo as sysdba 不成功

b.当 remote_login_passwordfile 是 none

--没有 sqlnet.ora 文件

sqlplus sys/oracle as sysdba 成功

sqlplus / as sysdba 成功

sqlplus sys/oracle@togogo as sysdba 不成功

--sqlnet.ora 文件参数 SQLNET.AUTHENTICATION_SERVICES=none

sqlplus sys/oracle as sysdba 不成功

sqlplus / as sysdba 不成功

sqlplus sys/oracle@togogo as sysdba 不成功

-- sqlnet.ora 文件参数 SQLNET.AUTHENTICATION_SERVICES=all

sqlplus sys/oracle as sysdba 成功

sqlplus / as sysdba 成功

sqlplus sys/oracle@togogo as sysdba 不成功

--创建口令文件 orapwd file=口令文件名称 password=用户密码

告警日志路径

show parameter ground

show parameter dump

改变日志组大小

a、创建两个新的日志组

alter database add logfile group 4 ('/u01/app/oracle/log/orclredo04.log') size 10MB;

alter database add logfile group 5 ('/u01/app/oracle/log/orclredo05.log') size 10MB;

b、切换当前日志到新的日志组

alter system switch logfile;

alter system switch logfile;

c、删除旧的日志组

alter database drop logfile group 1;

alter database drop logfile group 2;

alter database drop logfile group 3;

d、操作系统下删除原日志组 1 2 3 的文件

e、重建日志组 1 2 3

alter database add logfile group 1 ('/u01/app/oracle/log/orclredo01.log') size 10MB;

alter database add logfile group 2 ('/u01/app/oracle/log/orclredo02.log') size 10MB;

alter database add logfile group 3 ('/u01/app/oracle/log/orclredo03.log') size 10MB;

f、切换日志组

alter system switch logfile;

alter system switch logfile;

alter system switch logfile;

g、删除中间过渡用的日志组 4 5

alter database drop logfile group 4;

alter database drop logfile group 5;

h、到操作系统下删除原日志组 4 5 的文件

i、备份当前最新的控制文件

alter database backup controlfile to trace resetlogs
上一篇:RAC11.2.0.4GI安装执行root.sh脚本报错


下一篇:RAC权限还原脚本