change archivelog all crosscheck;
Showing posts with label oracle. Show all posts
Showing posts with label oracle. Show all posts
Tuesday, 15 January 2013
RMAN-06059: expected archived log not found
If rman unable to find archivelog run crosscheck
Monday, 24 September 2012
Recreate controlfile - change oracle database sid
From sqlplus
alter database backup controlfile to trace;
From trace (trace location you can find in alert_log)
#change reuse to set and remove controlfile
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "DM02DEV" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/data/s_ora01dmdev/oradata/dm02dev/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/data/s_ora01dmdev/oradata/dm02dev/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/data/s_ora01dmdev/oradata/dm02dev/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/data/s_ora01dmdev/oradata/dm02dev/system01.dbf',
'/data/s_ora01dmdev/oradata/dm02dev/sysaux01.dbf',
'/data/s_ora01dmdev/oradata/dm02dev/undotbs01.dbf',
'/data/s_ora01dmdev/oradata/dm02dev/users01.dbf'
CHARACTER SET AL32UTF8
;
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE '/data/s_ora01dmdev/oradata/dm02dev/temp01.dbf'
SIZE 39845888 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
alter database backup controlfile to trace;
From trace (trace location you can find in alert_log)
#change reuse to set and remove controlfile
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "DM02DEV" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/data/s_ora01dmdev/oradata/dm02dev/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/data/s_ora01dmdev/oradata/dm02dev/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/data/s_ora01dmdev/oradata/dm02dev/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/data/s_ora01dmdev/oradata/dm02dev/system01.dbf',
'/data/s_ora01dmdev/oradata/dm02dev/sysaux01.dbf',
'/data/s_ora01dmdev/oradata/dm02dev/undotbs01.dbf',
'/data/s_ora01dmdev/oradata/dm02dev/users01.dbf'
CHARACTER SET AL32UTF8
;
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE '/data/s_ora01dmdev/oradata/dm02dev/temp01.dbf'
SIZE 39845888 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
Rman backup script
#!/bin/bash
export ORACLE_SID=orcl_1
export ORACLE_BASE=/u01/app/oracle
export PATH=/u01/app/oracle/database/product/11.2.0/dbhome_1/bin:/u01/app/11.2.0/grid/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
export ORACLE_HOME=/u01/app/oracle/database/product/11.2.0/dbhome_1
basedir=/u01/app/oracle/backup
host=`hostname`
backup_dir=`date '+%Y.%m.%d'`
filename=`date '+%Y.%m.%d_%H.%M.%S'`
test -d ${basedir}/${host}/${backup_dir} || mkdir -p ${basedir}/${host}/${backup_dir}
if [ "x$1" = "x0" -o "x$1" = "x1" ]; then
inclevel=$1
rman target / log=${basedir}/${host}/${backup_dir}/backup_${filename}.log << !
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
backup as compressed backupset incremental level ${inclevel} database format '${basedir}/${host}/${backup_dir}/data_lv${inclevel}_${filename}.%U';
backup as compressed backupset archivelog all delete all input format '${basedir}/${host}/${backup_dir}/arch_${filename}.%U';
backup as compressed backupset current controlfile format '${basedir}/${host}/${backup_dir}/control_${filename}.%U';
backup spfile format '${basedir}/${host}/${backup_dir}/spfile_${filename}.%U';
delete noprompt obsolete recovery window of 7 days;
}
!
else
rman target / log=${basedir}/${host}/${backup_dir}/backup_${filename}.log << !
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup as compressed backupset archivelog all delete all input format '${basedir}/${host}/${backup_dir}/arch_${filename}.%U';
backup as compressed backupset current controlfile format '${basedir}/${host}/${backup_dir}/control_${filename}.%U';
backup spfile format '${basedir}/${host}/${backup_dir}/spfile_${filename}.%U';
delete noprompt obsolete recovery window of 7 days;
}
!
fi
export ORACLE_SID=orcl_1
export ORACLE_BASE=/u01/app/oracle
export PATH=/u01/app/oracle/database/product/11.2.0/dbhome_1/bin:/u01/app/11.2.0/grid/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
export ORACLE_HOME=/u01/app/oracle/database/product/11.2.0/dbhome_1
basedir=/u01/app/oracle/backup
host=`hostname`
backup_dir=`date '+%Y.%m.%d'`
filename=`date '+%Y.%m.%d_%H.%M.%S'`
test -d ${basedir}/${host}/${backup_dir} || mkdir -p ${basedir}/${host}/${backup_dir}
if [ "x$1" = "x0" -o "x$1" = "x1" ]; then
inclevel=$1
rman target / log=${basedir}/${host}/${backup_dir}/backup_${filename}.log << !
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
backup as compressed backupset incremental level ${inclevel} database format '${basedir}/${host}/${backup_dir}/data_lv${inclevel}_${filename}.%U';
backup as compressed backupset archivelog all delete all input format '${basedir}/${host}/${backup_dir}/arch_${filename}.%U';
backup as compressed backupset current controlfile format '${basedir}/${host}/${backup_dir}/control_${filename}.%U';
backup spfile format '${basedir}/${host}/${backup_dir}/spfile_${filename}.%U';
delete noprompt obsolete recovery window of 7 days;
}
!
else
rman target / log=${basedir}/${host}/${backup_dir}/backup_${filename}.log << !
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup as compressed backupset archivelog all delete all input format '${basedir}/${host}/${backup_dir}/arch_${filename}.%U';
backup as compressed backupset current controlfile format '${basedir}/${host}/${backup_dir}/control_${filename}.%U';
backup spfile format '${basedir}/${host}/${backup_dir}/spfile_${filename}.%U';
delete noprompt obsolete recovery window of 7 days;
}
!
fi
Size oracle object in system schema
select owner,segment_name,segment_type
,bytes/(1024*1024) size_m
from dba_segments
where tablespace_name = 'SYSTEM'
and bytes/(1024*1024) >1
order by size_m desc;
Friday, 30 March 2012
Oracle tips 2
Oracle ASM requiered packages
oracleasm-2.6.18-194.el5xen-2.0.5-1.el5.x86_64.rpm
oracleasmlib-2.0.4-1.el5.x86_64.rpm
oracleasm-support-2.1.7-1.el5.x86_64.rpm
Configuration disk for ASM
/etc/init.d/oracleasm configure
/etc/init.d/oracleasm createdisk data /dev/xvdb1
Connecting to asm from SQLPLUS
sqlplus / as sysasm
Checking ASM Groups
select g.name, d.path
from v$asm_Diskgroup g, v$asm_disk d
where g.GROUP_NUMBER=d.GROUP_NUMBER;
RMAN
Changing location of files
catalog start with '+DATA';
Checking archievelog
crosscheck archivelog all;
delete expired archivelog all;
Checking all backups
RMAN> run {
crosscheck backupset;
delete expired backupset;
}
Checking database to copy
switch database to copy;
Restoring controlfile:
restore controlfile from '/u01/app/oracle/backup/control_2012.03.28_10.44.23.0un70f5n_1_1';
Select for create new name of files
select 'set newname for datafile ' || file# || ' to ''+DATA'';' as newname
from v$datafile
Saving result to file
SYS:orclasm > save newname
Adding service name to database
alter system
set service_names='orclasm','orcl'
scope=both;
Adding listerner to database configuration
alter system
set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=10.8.2.2)(PORT=1523))'
scope=both;
Change database unique name
alter system
set db_unique_name='orclasm'
scope=spfile;
Database restart
startup force mount
Package for undo in SQLPLUS
rlwrap-0.37-1.el5.x86_64.rpm
alias sqlplus='rlwrap -r sqlplus'
alias rman='rlwrap -r rman'
Calculating from console
echo "2147483648/1024/1024" | bc
Checking system page_size
getconf PAGE_SIZE
Recompilation binaries - turning of options
make -f ins_rdbms.mk rac_off ioracle
Opening database after unclean recovery
alter database open resetlogs;
oracleasm-2.6.18-194.el5xen-2.0.5-1.el5.x86_64.rpm
oracleasmlib-2.0.4-1.el5.x86_64.rpm
oracleasm-support-2.1.7-1.el5.x86_64.rpm
Configuration disk for ASM
/etc/init.d/oracleasm configure
/etc/init.d/oracleasm createdisk data /dev/xvdb1
Connecting to asm from SQLPLUS
sqlplus / as sysasm
Checking ASM Groups
select g.name, d.path
from v$asm_Diskgroup g, v$asm_disk d
where g.GROUP_NUMBER=d.GROUP_NUMBER;
RMAN
Changing location of files
catalog start with '+DATA';
Checking archievelog
crosscheck archivelog all;
delete expired archivelog all;
Checking all backups
RMAN> run {
crosscheck backupset;
delete expired backupset;
}
Checking database to copy
switch database to copy;
Restoring controlfile:
restore controlfile from '/u01/app/oracle/backup/control_2012.03.28_10.44.23.0un70f5n_1_1';
Select for create new name of files
select 'set newname for datafile ' || file# || ' to ''+DATA'';' as newname
from v$datafile
Saving result to file
SYS:orclasm > save newname
Adding service name to database
alter system
set service_names='orclasm','orcl'
scope=both;
Adding listerner to database configuration
alter system
set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=10.8.2.2)(PORT=1523))'
scope=both;
Change database unique name
alter system
set db_unique_name='orclasm'
scope=spfile;
Database restart
startup force mount
Package for undo in SQLPLUS
rlwrap-0.37-1.el5.x86_64.rpm
alias sqlplus='rlwrap -r sqlplus'
alias rman='rlwrap -r rman'
Calculating from console
echo "2147483648/1024/1024" | bc
Checking system page_size
getconf PAGE_SIZE
Recompilation binaries - turning of options
make -f ins_rdbms.mk rac_off ioracle
Opening database after unclean recovery
alter database open resetlogs;
Friday, 4 November 2011
Wylistowanie userów i ich dropowanie
select 'drop user ' || username || ' cascade; ' FROM DBA_USERS;
odświeżenie statystyk na bazie danych oracle
dbms_utility.analyze_schema(schema=>'INSIS',method=>'ESTIMATE',estimate_percent=>5);
Odblokowanie statystyk na tabelach oracle'a
select 'exec DBMS_STATS.UNLOCK_TABLE_STATS(''' || owner ||''' ,''' || table_name || '''); ' from dba_tab_statistics where stattype_locked is not null and owner not in ('SYS','SYSTEM');
Czyszczenie REDO logów
run {
crosscheck archivelog all;
delete expired archivelog all;
}
run {
BACKUP ARCHIVELOG ALL;
DELETE COPY OF ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1';
}
run {
DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE
'sysdate-10/24'; ---kasuje wszystkie z przed 13h
}
crosscheck archivelog all;
delete expired archivelog all;
}
run {
BACKUP ARCHIVELOG ALL;
DELETE COPY OF ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1';
}
run {
DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE
'sysdate-10/24'; ---kasuje wszystkie z przed 13h
}
Oznaczenie w rmanie przeterminowanych redo logów na sysdate -1
set serveroutput on;
spool /tmp/output_del_logs.txt
declare CURSOR cur IS
SELECT a.name
FROM v$asm_alias a, v$asm_file b
where a.group_number = b.group_number
and b.creation_date < sysdate-1
and a.file_number = b.file_number
and b.type='ARCHIVELOG'
and a.name like '%.arc'
order by a.name;
sqlstr VARCHAR2(250);
BEGIN
FOR cur_rec IN cur
LOOP
sqlstr := 'alter diskgroup ASM_BACKUP drop file ''+ASM_BACKUP/DB1/' || cur_rec.name || '''';
DBMS_OUTPUT.PUT_LINE(sqlstr);
EXECUTE IMMEDIATE sqlstr;
END LOOP;
END;
/
spool off;
exit
spool /tmp/output_del_logs.txt
declare CURSOR cur IS
SELECT a.name
FROM v$asm_alias a, v$asm_file b
where a.group_number = b.group_number
and b.creation_date < sysdate-1
and a.file_number = b.file_number
and b.type='ARCHIVELOG'
and a.name like '%.arc'
order by a.name;
sqlstr VARCHAR2(250);
BEGIN
FOR cur_rec IN cur
LOOP
sqlstr := 'alter diskgroup ASM_BACKUP drop file ''+ASM_BACKUP/DB1/' || cur_rec.name || '''';
DBMS_OUTPUT.PUT_LINE(sqlstr);
EXECUTE IMMEDIATE sqlstr;
END LOOP;
END;
/
spool off;
exit
Subscribe to:
Posts (Atom)