控制文件
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