In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >
Share
Shulou(Shulou.com)06/01 Report--
TSPITR is the abbreviation of Tablespace Point In Time Recovery in English. That is, the table space is restored at a fixed time.
TSPITR is a relatively fine-grained incomplete recovery technique. The restore operation we usually see is to restore all tablespaces and data to the same point in time.
On the other hand, TSPITR takes the tablespace as the granularity unit and separately restores the contents of a tablespace to a specific recoverable point in time.
For example, an Oracle database runs in archive mode, keeping a full backup at 00:00 at night. At seven o'clock in the morning, a misoperation occurred in the data table on a particular table space (a single table occupies the table space exclusively), and the data was corrupted. Requires that the tablespace data be restored to six o'clock in the morning without harming other table data. The scenario of partial data recovery is a typical application of TSPITR.
Switch to pams users to start:
1. Create a tablespace
SQL > create tablespace tspitr datafile'/ home/oracle/app/oradata/pamsdb/tspitr01.dbf' size 10m
Tablespace created
two。 Create a table on this tablespace and insert data
SQL > create table tspitr_test tablespace tspitr as select * from sys.t2
Table created
SQL > select count (*) from tspitr_test
COUNT (*)
-
eight
3. Make a backup of the database
Due to the limited space in the installation directory, the previous backup set needs to be deleted to make room.
RMAN > delete backupset
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: SID=20 device type=DISK
List of Backup Pieces
BP Key BS Key Pc# Cp# Status-Device Type Piece Name
22-22-1-1-AVAILABLE-DISK-/ home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0sshto2j_1_1
23-23-1-1-AVAILABLE-DISK-/ home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0tshto2l_1_1
24-24-1-1-AVAILABLE-DISK-/ home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0ushto51_1_1
25-25-1-1-AVAILABLE-DISK-/ home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0vshto56_1_1
Do you really want to delete the above objects (enter YES or NO)-yes
Deleted backup piece
Backup piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0sshto2j_1_1 RECID=22 STAMP=958324819
Deleted backup piece
Backup piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0tshto2l_1_1 RECID=23 STAMP=958324821
Deleted backup piece
Backup piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0ushto51_1_1 RECID=24 STAMP=958324898
Deleted backup piece
Backup piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0vshto56_1_1 RECID=25 STAMP=958324902
Deleted 4 objects
RMAN > delete backup
Using channel ORA_DISK_1
Specification does not match any backup in the repository
RMAN > backup database plus archivelog delete all input
Starting backup at 23-OCT-17
Current log archived
Using target database control file instead of recovery catalog
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: SID=39 device type=DISK
RMAN-00571: =
RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =
RMAN-00571: =
RMAN-03002: failure of backup plus archivelog command at 10/23/2017 17:39:29
RMAN-06059: expected archived log not found, loss of archived log compromises recoverability
ORA-19625: error identifying file / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_3_957807611.dbf
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
-
Reason: I manually deleted the archive log with the rm command before. However, archived log information is also recorded in controlfile, and oracle also looks for these archived log files, so an error is reported.
Solution: keep the archive log information in the control file consistent with the actual physical file information
1. Corsscheck archivelog all
This command is used to check the difference between the control file and the actual physical file information.
2.delete expired archivelog all
Delete invalid archive log information to synchronize the check control file with the actual physical file information.
-
-- processing process
RMAN > crosscheck archivelog all
Using target database control file instead of recovery catalog
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: SID=17 device type=DISK
Validation failed for archived log
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_3_957807611.dbf RECID=9 STAMP=957869815
Validation failed for archived log
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_4_957807611.dbf RECID=7 STAMP=957869815
Validation failed for archived log
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_5_957807611.dbf RECID=8 STAMP=957869815
Validation succeeded for archived log
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_1_957869815.dbf RECID=10 STAMP=958144259
Validation succeeded for archived log
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_1_958144259.dbf RECID=11 STAMP=958153168
Crosschecked 5 objects
RMAN > report obsoleted
-shows which backups have been discarded.
RMAN > delete expired archivelog all
Released channel: ORA_DISK_1
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: SID=17 device type=DISK
List of Archived Log Copies for database with db_unique_name PAMSDB
=
Key-Thrd Seq-S Low Time
-
9-1-3-X 20-OCT-17
-Name: / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_3_957807611.dbf
7-1-4-X 20-OCT-17
-Name: / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_4_957807611.dbf
8-1-5-X 20-OCT-17
-Name: / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_5_957807611.dbf
Do you really want to delete the above objects (enter YES or NO)-yes
Deleted archived log
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_3_957807611.dbf RECID=9 STAMP=957869815
Deleted archived log
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_4_957807611.dbf RECID=7 STAMP=957869815
Deleted archived log
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_5_957807611.dbf RECID=8 STAMP=957869815
Deleted 3 EXPIRED objects
-- Delete expired backup sets and back up again
RMAN > backup database plus archivelog delete all input
Starting backup at 26-OCT-17
Current log archived
Using channel ORA_DISK_1
Channel ORA_DISK_1: starting archived log backup set
Channel ORA_DISK_1: specifying archived log (s) in backup set
Input archived log thread=1 sequence=5 RECID=41 STAMP=958325901
Input archived log thread=1 sequence=6 RECID=42 STAMP=958326023
Input archived log thread=1 sequence=7 RECID=43 STAMP=958326221
Input archived log thread=1 sequence=8 RECID=44 STAMP=958356625
Input archived log thread=1 sequence=9 RECID=45 STAMP=958382812
Channel ORA_DISK_1: starting piece 1 at 26-OCT-17
Channel ORA_DISK_1: finished piece 1 at 26-OCT-17
Piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/10shvgms_1_1 tag=TAG20171026T092652 comment=NONE
Channel ORA_DISK_1: backup set complete, elapsed time: 00:00:09
Channel ORA_DISK_1: deleting archived log (s)
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_5_958322553.dbf RECID=41 STAMP=958325901
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_6_958322553.dbf RECID=42 STAMP=958326023
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_7_958322553.dbf RECID=43 STAMP=958326221
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_8_958322553.dbf RECID=44 STAMP=958356625
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_9_958322553.dbf RECID=45 STAMP=958382812
Finished backup at 26-OCT-17
Starting backup at 26-OCT-17
Using channel ORA_DISK_1
Channel ORA_DISK_1: starting full datafile backup set
Channel ORA_DISK_1: specifying datafile (s) in backup set
Input datafile file number=00001 name=/home/oracle/app/oradata/pamsdb/system01.dbf
Input datafile file number=00002 name=/home/oracle/app/oradata/pamsdb/sysaux01.dbf
Input datafile file number=00005 name=/home/oracle/app/oradata/pamsdb/DATA_PAMS_01.dbf
Input datafile file number=00006 name=/home/oracle/app/oradata/pamsdb/DATA_PAMS_02.dbf
Input datafile file number=00003 name=/home/oracle/app/oradata/pamsdb/undotbs01.dbf
Input datafile file number=00007 name=/home/oracle/app/oradata/pamsdb/INDX_PAMS_01.dbf
Input datafile file number=00009 name=/home/oracle/app/oradata/pamsdb/test_chen.dbf
Input datafile file number=00013 name=/home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test_dyjwd77b_.dbf
Input datafile file number=00014 name=/home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_ts_uni_dyjwdn4f_.dbf
Input datafile file number=00015 name=/home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_ts_auto_dyjwdn5l_.dbf
Input datafile file number=00016 name=/home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test1_dyjwf0vx_.dbf
Input datafile file number=00017 name=/home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test3_ms_dyjwf0z1_.dbf
Input datafile file number=00018 name=/home/oracle/app/oradata/pamsdb/test4_assm.dbf
Input datafile file number=00008 name=/home/oracle/app/oradata/pamsdb/undotbs02.dbf
Input datafile file number=00010 name=/home/oracle/app/oradata/pamsdb/test_chen1.dbf
Input datafile file number=00011 name=/home/oracle/app/oradata/pamsdb/ts_mssm.dbf
Input datafile file number=00012 name=/home/oracle/app/oradata/pamsdb/big.dbf
Input datafile file number=00004 name=/home/oracle/app/oradata/pamsdb/users01.dbf
Input datafile file number=00020 name=/home/oracle/app/oradata/pamsdb/tspitr01.dbf
Input datafile file number=00019 name=/home/oracle/app/oradata/pamsdb/blkerr01.dbf
Channel ORA_DISK_1: starting piece 1 at 26-OCT-17
Channel ORA_DISK_1: finished piece 1 at 26-OCT-17
Piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/11shvgn7_1_1 tag=TAG20171026T092702 comment=NONE
Channel ORA_DISK_1: backup set complete, elapsed time: 00:03:27
Channel ORA_DISK_1: starting full datafile backup set
Channel ORA_DISK_1: specifying datafile (s) in backup set
Including current control file in backup set
Including current SPFILE in backup set
Channel ORA_DISK_1: starting piece 1 at 26-OCT-17
Channel ORA_DISK_1: finished piece 1 at 26-OCT-17
Piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/12shvgtn_1_1 tag=TAG20171026T092702 comment=NONE
Channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 26-OCT-17
Starting backup at 26-OCT-17
Current log archived
Using channel ORA_DISK_1
Channel ORA_DISK_1: starting archived log backup set
Channel ORA_DISK_1: specifying archived log (s) in backup set
Input archived log thread=1 sequence=10 RECID=46 STAMP=958383034
Channel ORA_DISK_1: starting piece 1 at 26-OCT-17
Channel ORA_DISK_1: finished piece 1 at 26-OCT-17
Piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/13shvgtr_1_1 tag=TAG20171026T093035 comment=NONE
Channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Channel ORA_DISK_1: deleting archived log (s)
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_10_958322553.dbf RECID=46 STAMP=958383034
Finished backup at 26-OCT-17
4. We do the following
SQL > select sequence#,status,sysdate from v$log
SEQUENCE# STATUS-SYSDATE
-10 INACTIVE-26-OCT-17
11 CURRENT-26-OCT-17
-9 INACTIVE-26-OCT-17
SQL > alter system switch logfile
System altered.
SQL > select sequence#,status,sysdate from v$log
SEQUENCE# STATUS-SYSDATE
-10 INACTIVE-26-OCT-17
11 ACTIVE-26-OCT-17
-12 CURRENT-26-OCT-17
SQL > select count (*) from tspitr_test
-COUNT (*)
-
-8
SQL > insert into tspitr_test select * from tspitr_test
8 rows created.
SQL > select count (*) from tspitr_test
-COUNT (*)
-
-- 16
SQL > alter system switch logfile
System altered.
SQL > select sequence#,status,sysdate from v$log
SEQUENCE# STATUS-SYSDATE
-- 13 CURRENT-26-OCT-17
11 INACTIVE-26-OCT-17
-12 ACTIVE-26-OCT-17
--
We need to see here that 11 is the current log in the first operation, and the number of records is 8 at this time. After switching logs, 11 becomes active (active, used as crash recover, but not the current log), 12 becomes the current log, inserts data into the table at this time, the number of records is 16, switches the log again, 12 becomes the disaster recovery log, 13 is the current log, so when we want to restore to 16 pieces of data in the table It should be with a until seq of 12. Check out the running result.
4. Establish a secondary recovery directory
Previously created under the home directory, there is only 400m of space left in this directory, so there is not enough direct space, because rman will copy the data files, so re-create the secondary recovery directory
Under the backup directory
Chown oracle:oinstall aux
Under the root directory-/ backup/aux
6. Perform recovery
-- the tablespace name must be uppercase, otherwise an error will be reported: RMAN-06019: could not translate tablespace name "tspitr_test"
Recover tablespace 'TSPITR' until logseq 12 auxiliary destination' / backup/aux'
=
The first experiment reported an error, and the tables and tablespaces have been deleted.
An error was reported: the reason is that the tablespace was created by the sys user and cannot be done: here, drop all the tables under the tablespace, and then the drop tablespace is ready to be re-created by the pams user. Because the tablespace has already hung up the data file, the problem comes again:
RMAN-00571: =
RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =
RMAN-00571: =
RMAN-03002: failure of recover command at 10/25/2017 17:49:01
RMAN-05072: TRANSPORT_SET_CHECK failed
SQL > drop tablespace tspitr_test
Tablespace dropped.
SQL > conn pams/pams@pamsdb
Connected.
SQL > create tablespace tspitr_test datafile'/ home/oracle/app/oradata/pamsdb/tspitr_test01.dbf' size 10m
Create tablespace tspitr_test datafile'/ home/oracle/app/oradata/pamsdb/tspitr_test01.dbf' size 10m
*
ERROR at line 1:
ORA-01119: error in creating database file
'/ home/oracle/app/oradata/pamsdb/tspitr_test01.dbf'
ORA-27038: created file already exists
Additional information: 1
ORA-01119: error creating database file--
I have deleted the tablespace. Why do you say the file exists. It turns out that the drop tablespace-tspitr_test; command only removes some logical associations, but the dbf file still exists in the specified directory.
If you execute this command, the file will be deleted as soon as possible.
Drop tablespace sonar including contents and datafiles
In this way, there will be no errors by re-executing the statement that creates the tablespace.
-- previous failed tablespaces are also deleted successfully, log in with pams users again, and rebuild tablespaces and tables
=
In the second experiment, tablespaces and tables have been created under pams:
Execute: recover tablespace 'TSPITR' until logseq 12 auxiliary destination' / backup/aux'
Rman executes drop tablespace- "TSPITR" including contents keep datafiles; error report while starting a secondary instance.
Why did you fail to keep the data file while deleting the tablespace contents? because the current log is seq13 instead of 12, is it because until 12 here is Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK?
-EXPDP > Processing object type TRANSPORTABLE_EXPORT/TABLE
-EXPDP > Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
-EXPDP > Master table "SYS". "TSPITR_EXP_lrqx" successfully loaded/unloaded
-EXPDP > *
-EXPDP > Dump file set for SYS.TSPITR_EXP_lrqx is:
-EXPDP >-/ backup/aux/tspitr_lrqx_27703.dmp
-EXPDP > *
-EXPDP > Datafiles required for transportable tablespace TSPITR:
-EXPDP >-/ home/oracle/app/oradata/pamsdb/tspitr01.dbf
-EXPDP > Job "SYS". "TSPITR_EXP_lrqx" successfully completed at 10:17:55
Export completed
Contents of Memory Script:
{
# shutdown clone before import
Shutdown clone immediate
# drop target tablespaces before importing them back
Sql 'drop tablespace "TSPITR" including contents keep datafiles'
}
Executing Memory Script
Database closed
Database dismounted
Oracle instance shut down
Sql statement: drop tablespace-"TSPITR" including contents keep datafiles
Removing automatic instance
Shutting down automatic instance
Target database instance not started
Automatic instance removed
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_temp_dz2kb2tg_.tmp deleted
Auxiliary instance file / backup/aux/PAMSDB/onlinelog/o1_mf_3_dz2k9xgv_.log deleted
Auxiliary instance file / backup/aux/PAMSDB/onlinelog/o1_mf_2_dz2k9voz_.log deleted
Auxiliary instance file / backup/aux/PAMSDB/onlinelog/o1_mf_1_dz2k9tcs_.log deleted
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_sysaux_dz2k6w2h_.dbf deleted
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_undo2_dz2k7g1m_.dbf deleted
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_undotbs1_dz2k6w3j_.dbf deleted
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_system_dz2k6w29_.dbf deleted
Auxiliary instance file/ backup/aux/PAMSDB/controlfile/o1_mf_dz2k6l2n_.ctl deleted
RMAN-00571: =
RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =
RMAN-00571: =
RMAN-03002: failure of recover command at 10/26/2017 10:18:19
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of sql command on default channel at 10/26/2017 10:18:18
RMAN-11003: failure during parse/execution of SQL statement: drop tablespace-"TSPITR" including contents keep datafiles
ORA-00604: error occurred at recursive SQL level 1
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
At first, I think that ORA-00604 may be due to insufficient table space, but this is not the problem after the query.
SQL > select
-2 b.file_name as "physical file name"
-3 b.tablespace_name as "tablespace"
-4 b.bytes/1024/1024 as "size M"
-5 (b.bytes-sum (nvl (a.bytesre0)) / 1024Universe 1024 as "used M"
-6 substr ((b.bytes-sum (nvl (a.bytes) / (b.bytes) * 100 substr 1) as "utilization"
-7-from dba_free_space a minute dbathing data files b
-8-where a.file_id=b.file_id
-9-group by b.tablespaceroomnamenamerecoveryb.fileroomnamememename b.bytes
10-order by b.tablespace_name
Physical file name-tablespace-size M-M utilization used
/ home/oracle/app/oradata/pamsdb/big.dbf-BIG-50-9 18
/ home/oracle/app/oradata/pamsdb/DATA_PAMS_01.dbf-- DATA_PAMS_01-500-21.6875 4.337
/ home/oracle/app/oradata/pamsdb/DATA_PAMS_02.dbf-- DATA_PAMS_02-500-85.75 17.15
/ home/oracle/app/oradata/pamsdb/INDX_PAMS_01.dbf-- INDX_PAMS_01-100-- 13.0625 13.06
/ home/oracle/app/oradata/pamsdb/sysaux01.dbf-- SYSAUX-- 600-429.1875 71.53
/ home/oracle/app/oradata/pamsdb/system01.dbf-- SYSTEM-- 700-578.1875 82.59
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test_dyjwd77b_.dbf-TEST-100-17.0625 17.06
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test1_dyjwf0vx_.dbf-TEST1-100-1.0625 1.062
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test3_ms_dyjwf0z1_.dbf-- TEST3_MSSM-- 100-11
/ home/oracle/app/oradata/pamsdb/test4_assm.dbf-TEST4_ASSM-100-1.0625 1.062
/ home/oracle/app/oradata/pamsdb/test_chen.dbf-TEST_CHEN-100-13.1875 13.18
/ home/oracle/app/oradata/pamsdb/test_chen1.dbf-TEST_CHEN1-50-5.4375 10.87
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_ts_auto_dyjwdn5l_.dbf-- TS_AUTO-100-11
/ home/oracle/app/oradata/pamsdb/ts_mssm.dbf-TS_MSSM-50-1.0625 2.125
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_ts_uni_dyjwdn4f_.dbf-TS_UNI-100-22
/ home/oracle/app/oradata/pamsdb/undotbs02.dbf-UNDO2-50-2.25 4.5
/ home/oracle/app/oradata/pamsdb/undotbs01.dbf-UNDOTBS1-395-15.25 3.860
/ home/oracle/app/oradata/pamsdb/users01.dbf-USERS-30-28.125 93.75
18 rows selected
-- execute seq13 recovery instructions:
RMAN > recover tablespace 'TSPITR' until logseq 13 auxiliary destination' / backup/aux'
Starting recover at 26-OCT-17
Using channel ORA_DISK_1
RMAN-05026: WARNING: presuming following set of tablespaces applies to specified point-in-time
List of tablespaces expected to have UNDO segments
Tablespace SYSTEM
Tablespace UNDOTBS1
Tablespace UNDO2
Creating automatic instance, with SID='mfuj'
Initialization parameters used for automatic instance:
Db_name=PAMSDB
Db_unique_name=mfuj_tspitr_PAMSDB
Compatible=11.2.0.0.0
Db_block_size=8192
Db_files=200
Sga_target=280M
Processes=50
Db_create_file_dest=/backup/aux
Log_archive_dest_1='location=/backup/aux'
# No auxiliary parameter file used
Starting up automatic instance PAMSDB
Oracle instance started
Total System Global Area-292278272 bytes
Fixed Size-2212736 bytes
Variable Size-100666496 bytes
Database Buffers-184549376 bytes
Redo Buffers-4849664 bytes
Automatic instance created
Running TRANSPORT_SET_CHECK on recovery set tablespaces
TRANSPORT_SET_CHECK completed successfully
Contents of Memory Script:
{
# set requested point in time
Set until logseq 13 thread 1
# restore the controlfile
Restore clone controlfile
# mount the controlfile
Sql clone 'alter database mount clone database'
# archive current online log
Sql 'alter system archive log current'
# avoid unnecessary autobackups for structural changes during TSPITR
Sql 'begin dbms_backup_restore.AutoBackupFlag (FALSE); end;'
}
Executing Memory Script
Executing command: SET until clause
Starting restore at 26-OCT-17
Allocated channel: ORA_AUX_DISK_1
Channel ORA_AUX_DISK_1: SID=17 device type=DISK
Channel ORA_AUX_DISK_1: starting datafile backup set restore
Channel ORA_AUX_DISK_1: restoring control file
Channel ORA_AUX_DISK_1: reading from backup piece / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/12shvgtn_1_1
Channel ORA_AUX_DISK_1: piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/12shvgtn_1_1 tag=TAG20171026T092702
Channel ORA_AUX_DISK_1: restored backup piece 1
Channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Output file name=/backup/aux/PAMSDB/controlfile/o1_mf_dz2lo0x6_.ctl
Finished restore at 26-OCT-17
Sql statement: alter database mount clone database
Sql statement: alter system archive log current
Sql statement: begin dbms_backup_restore.AutoBackupFlag (FALSE); end
Contents of Memory Script:
{
# set requested point in time
Set until logseq 13 thread 1
# set destinations for recovery set and auxiliary set datafiles
Set newname for clone datafile-1 to new
Set newname for clone datafile-3 to new
Set newname for clone datafile-8 to new
Set newname for clone datafile-2 to new
Set newname for clone tempfile-1 to new
Set newname for datafile-20 to
"/ home/oracle/app/oradata/pamsdb/tspitr01.dbf"
# switch all tempfiles
Switch clone tempfile all
# restore the tablespaces in the recovery set and the auxiliary set
Restore clone datafile-1,3,8,2,20
Switch clone datafile all
}
Executing Memory Script
Executing command: SET until clause
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Executing command: SET NEWNAME
Renamed tempfile 1 to / backup/aux/PAMSDB/datafile/o1_mf_temp_%u_.tmp in control file
Starting restore at 26-OCT-17
Using channel ORA_AUX_DISK_1
Channel ORA_AUX_DISK_1: starting datafile backup set restore
Channel ORA_AUX_DISK_1: specifying datafile (s) to restore from backup set
Channel ORA_AUX_DISK_1: restoring datafile 00001 to / backup/aux/PAMSDB/datafile/o1_mf_system_%u_.dbf
Channel ORA_AUX_DISK_1: restoring datafile 00003 to / backup/aux/PAMSDB/datafile/o1_mf_undotbs1_%u_.dbf
Channel ORA_AUX_DISK_1: restoring datafile 00008 to / backup/aux/PAMSDB/datafile/o1_mf_undo2_%u_.dbf
Channel ORA_AUX_DISK_1: restoring datafile 00002 to / backup/aux/PAMSDB/datafile/o1_mf_sysaux_%u_.dbf
Channel ORA_AUX_DISK_1: restoring datafile 00020 to / home/oracle/app/oradata/pamsdb/tspitr01.dbf
Channel ORA_AUX_DISK_1: reading from backup piece / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/11shvgn7_1_1
Channel ORA_AUX_DISK_1: piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/11shvgn7_1_1 tag=TAG20171026T092702
Channel ORA_AUX_DISK_1: restored backup piece 1
Channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:26
Finished restore at 26-OCT-17
Datafile 1 switched to datafile copy
Input datafile copy RECID=6 STAMP=958387198 file name=/backup/aux/PAMSDB/datafile/o1_mf_system_dz2lo91b_.dbf
Datafile 3 switched to datafile copy
Input datafile copy RECID=7 STAMP=958387198 file name=/backup/aux/PAMSDB/datafile/o1_mf_undotbs1_dz2lo930_.dbf
Datafile 8 switched to datafile copy
Input datafile copy RECID=8 STAMP=958387199 file name=/backup/aux/PAMSDB/datafile/o1_mf_undo2_dz2loqkb_.dbf
Datafile 2 switched to datafile copy
Input datafile copy RECID=9 STAMP=958387199 file name=/backup/aux/PAMSDB/datafile/o1_mf_sysaux_dz2lo91h_.dbf
Contents of Memory Script:
{
# set requested point in time
Set until logseq 13 thread 1
# online the datafiles restored or switched
Sql clone "alter database datafile 1 online"
Sql clone "alter database datafile 3 online"
Sql clone "alter database datafile 8 online"
Sql clone "alter database datafile 2 online"
Sql clone "alter database datafile 20 online"
# recover and open resetlogs
Recover clone database tablespace-"TSPITR", "SYSTEM", "UNDOTBS1", "UNDO2", "SYSAUX" delete archivelog
Alter clone database open resetlogs
}
Executing Memory Script
Executing command: SET until clause
Sql statement: alter database datafile-1 online
Sql statement: alter database datafile-3 online
Sql statement: alter database datafile-8 online
Sql statement: alter database datafile-2 online
Sql statement: alter database datafile-20 online
Starting recover at 26-OCT-17
Using channel ORA_AUX_DISK_1
Starting media recovery
Archived log for thread 1 with sequence 11 is already on disk as file / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_11_958322553.dbf
Archived log for thread 1 with sequence 12 is already on disk as file / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_12_958322553.dbf
Channel ORA_AUX_DISK_1: starting archived log restore to default destination
Channel ORA_AUX_DISK_1: restoring archived log
Archived log thread=1 sequence=10
Channel ORA_AUX_DISK_1: reading from backup piece / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/13shvgtr_1_1
Channel ORA_AUX_DISK_1: piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/13shvgtr_1_1 tag=TAG20171026T093035
Channel ORA_AUX_DISK_1: restored backup piece 1
Channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:00
Archived log file name=/backup/aux/1_10_958322553.dbf thread=1 sequence=10
Channel clone_default: deleting archived log (s)
Archived log file name=/backup/aux/1_10_958322553.dbf RECID=46 STAMP=958387202
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_11_958322553.dbf thread=1 sequence=11
Archived log file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_12_958322553.dbf thread=1 sequence=12
Media recovery complete, elapsed time: 00:00:01
Finished recover at 26-OCT-17
Database opened
Contents of Memory Script:
{
# make read only the tablespace that will be exported
Sql clone 'alter tablespace "TSPITR" read only'
# create directory for datapump import
Sql "create or replace directory TSPITR_DIROBJ_DPDIR as''
/ backup/aux'' "
# create directory for datapump export
Sql clone "create or replace directory TSPITR_DIROBJ_DPDIR as''
/ backup/aux'' "
}
Executing Memory Script
Sql statement: alter tablespace-"TSPITR" read only
Sql statement: create or replace directory TSPITR_DIROBJ_DPDIR as'/ backup/aux''
Sql statement: create or replace directory TSPITR_DIROBJ_DPDIR as'/ backup/aux''
Performing export of metadata...
EXPDP > Starting "SYS". "TSPITR_EXP_mfuj":-
EXPDP > Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
EXPDP > Processing object type TRANSPORTABLE_EXPORT/TABLE
EXPDP > Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
EXPDP > Master table "SYS". "TSPITR_EXP_mfuj" successfully loaded/unloaded
EXPDP > *
EXPDP > Dump file set for SYS.TSPITR_EXP_mfuj is:
EXPDP > / backup/aux/tspitr_mfuj_54700.dmp
EXPDP > *
EXPDP > Datafiles required for transportable tablespace TSPITR:
EXPDP > / home/oracle/app/oradata/pamsdb/tspitr01.dbf
EXPDP > Job "SYS". "TSPITR_EXP_mfuj" successfully completed at 10:42:14
Export completed
Contents of Memory Script:
{
# shutdown clone before import
Shutdown clone immediate
# drop target tablespaces before importing them back
Sql 'drop tablespace "TSPITR" including contents keep datafiles'
}
Executing Memory Script
Database closed
Database dismounted
Oracle instance shut down
Sql statement: drop tablespace-"TSPITR" including contents keep datafiles
Performing import of metadata...
IMPDP > Master table "SYS". "TSPITR_IMP_mfuj" successfully loaded/unloaded
IMPDP > Starting "SYS". "TSPITR_IMP_mfuj":-
IMPDP > Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
IMPDP > Processing object type TRANSPORTABLE_EXPORT/TABLE
IMPDP > Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
IMPDP > Job "SYS". "TSPITR_IMP_mfuj" successfully completed at 10:43:41
Import completed
Contents of Memory Script:
{
# make read write and offline the imported tablespaces
Sql 'alter tablespace "TSPITR" read write'
Sql 'alter tablespace "TSPITR" offline'
# enable autobackups after TSPITR is finished
Sql 'begin dbms_backup_restore.AutoBackupFlag (TRUE); end;'
}
Executing Memory Script
Sql statement: alter tablespace-"TSPITR" read write
Sql statement: alter tablespace-"TSPITR" offline
Sql statement: begin dbms_backup_restore.AutoBackupFlag (TRUE); end
Removing automatic instance
Automatic instance removed
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_temp_dz2lrc6m_.tmp deleted
Auxiliary instance file / backup/aux/PAMSDB/onlinelog/o1_mf_3_dz2lr744_.log deleted
Auxiliary instance file / backup/aux/PAMSDB/onlinelog/o1_mf_2_dz2lr5rm_.log deleted
Auxiliary instance file / backup/aux/PAMSDB/onlinelog/o1_mf_1_dz2lr3y0_.log deleted
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_sysaux_dz2lo91h_.dbf deleted
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_undo2_dz2loqkb_.dbf deleted
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_undotbs1_dz2lo930_.dbf deleted
Auxiliary instance file/ backup/aux/PAMSDB/datafile/o1_mf_system_dz2lo91b_.dbf deleted
Auxiliary instance file/ backup/aux/PAMSDB/controlfile/o1_mf_dz2lo0x6_.ctl deleted
Finished recover at 26-OCT-17
It worked this time.
I noticed something different from the seq12 log:
Archived log for thread 1 with sequence 11 is already on disk as file / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_11_958322553.dbf
Archived log for thread 1 with sequence 12 is already on disk as file / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch2_12_958322553.dbf
The following is more than this time, indicating that the first execution of logseq 12:00 does not include the seq12 itself.
Looking back at the recovery table data:
SQL > conn pams/pams@pamsdb--
Connected.
SQL > select count (*) from tspitr_test
Select count (*) from tspitr_test
-*
ERROR at line 1:
ORA-00376: file 20 cannot be read at this time
ORA-01110: data file 20:'/ home/oracle/app/oradata/pamsdb/tspitr01.dbf'
An error is reported here, because the tablespaces and data files are in the status of offline, and you can see that the offline instruction is finally executed in the log of rman, because my tablespace and data files have been restored, and you can boldly perform online operations here.
SQL > conn / as sysdba
Connected.
SQL > alter tablespace TSPITR online
Tablespace altered.
SQL > select tablespace_name,status from dba_tablespaces where tablespace_name = 'TSPITR';
TABLESPACE_NAME--STATUS
TSPITR- ONLINE
SQL > select name,status from v$datafile where name ='/ home/oracle/app/oradata/pamsdb/tspitr01.dbf'
NAME
STATUS
-
/ home/oracle/app/oradata/pamsdb/tspitr01.dbf
ONLINE
The tablespace and data files are already online, and then query the recovered data.
SQL > conn pams/pams@pamsdb
Connected.
SQL > select count (*) from tspitr_test
-COUNT (*)
-
-8
The number is eight? Previously, there was no commit when inserting data, so it was indeed 8.
-- or directly specify the time, without trial.
SQL > select to_char (sysdate,'yyyymmdd hh34:mi:ss') from dual
TO_CHAR (SYSDATE,'YYYYMMDDHH24:')
-
20171025 17:42:01
Recover tablespace 'tspitr_test' until time "to_date (' 2017-10-24 16 purl 47 purl 12 mm hh34:mi:ss' hh34:mi:ss')" auxiliary destination'/ backup/aux'
* the original content of the experiment is from: http://lqding.blog.51cto.com/9123978/1680903
* the logic of this article is rather messy, mainly to record the pits I stepped on before, and because I don't know much about RMAN, I can only feel the stones to cross the river. A clear question is recommended: http://blog.itpub.net/17203031/viewspace-1082080/.
= the hole I stepped on before
The following is that I couldn't find a way to delete the tablespace of the original experiment. I didn't need it at all. Because of the data file deleted manually, I found that the database open could not be deleted.
After the recovery, reported an error, do not use 01 data file, rebuilt a 02, or not, direct restore database
RMAN > restore database
Starting restore at 25-OCT-17
Using channel ORA_DISK_1
Creating datafile file number=21 name=/home/oracle/app/oradata/pamsdb/tspitr02.dbf
Skipping datafile 20; already restored to file / home/oracle/app/oradata/pamsdb/tspitr01.dbf
Channel ORA_DISK_1: starting datafile backup set restore
Channel ORA_DISK_1: specifying datafile (s) to restore from backup set
Channel ORA_DISK_1: restoring datafile 00001 to / home/oracle/app/oradata/pamsdb/system01.dbf
Channel ORA_DISK_1: restoring datafile 00002 to / home/oracle/app/oradata/pamsdb/sysaux01.dbf
Channel ORA_DISK_1: restoring datafile 00003 to / home/oracle/app/oradata/pamsdb/undotbs01.dbf
Channel ORA_DISK_1: restoring datafile 00004 to / home/oracle/app/oradata/pamsdb/users01.dbf
Channel ORA_DISK_1: restoring datafile 00005 to / home/oracle/app/oradata/pamsdb/DATA_PAMS_01.dbf
Channel ORA_DISK_1: restoring datafile 00006 to / home/oracle/app/oradata/pamsdb/DATA_PAMS_02.dbf
Channel ORA_DISK_1: restoring datafile 00007 to / home/oracle/app/oradata/pamsdb/INDX_PAMS_01.dbf
Channel ORA_DISK_1: restoring datafile 00008 to / home/oracle/app/oradata/pamsdb/undotbs02.dbf
Channel ORA_DISK_1: restoring datafile 00009 to / home/oracle/app/oradata/pamsdb/test_chen.dbf
Channel ORA_DISK_1: restoring datafile 00010 to / home/oracle/app/oradata/pamsdb/test_chen1.dbf
Channel ORA_DISK_1: restoring datafile 00011 to / home/oracle/app/oradata/pamsdb/ts_mssm.dbf
Channel ORA_DISK_1: restoring datafile 00012 to / home/oracle/app/oradata/pamsdb/big.dbf
Channel ORA_DISK_1: restoring datafile 00013 to / home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test_dyjwd77b_.dbf
Channel ORA_DISK_1: restoring datafile 00014 to / home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_ts_uni_dyjwdn4f_.dbf
Channel ORA_DISK_1: restoring datafile 00015 to / home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_ts_auto_dyjwdn5l_.dbf
Channel ORA_DISK_1: restoring datafile 00016 to / home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test1_dyjwf0vx_.dbf
Channel ORA_DISK_1: restoring datafile 00017 to / home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test3_ms_dyjwf0z1_.dbf
Channel ORA_DISK_1: restoring datafile 00018 to / home/oracle/app/oradata/pamsdb/test4_assm.dbf
Channel ORA_DISK_1: restoring datafile 00019 to / home/oracle/app/oradata/pamsdb/blkerr01.dbf
Channel ORA_DISK_1: reading from backup piece / home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0jshr1lm_1_1
Channel ORA_DISK_1: piece handle=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/0jshr1lm_1_1 tag=TAG20171024T164542
Channel ORA_DISK_1: restored backup piece 1
Channel ORA_DISK_1: restore complete, elapsed time: 00:02:36
Finished restore at 25-OCT-17
RMAN > recover database
Starting recover at 25-OCT-17
Using channel ORA_DISK_1
Starting media recovery
RMAN-00571: =
RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =
RMAN-00571: =
RMAN-03002: failure of recover command at 10/25/2017 16:37:06
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of archived log for thread 1 with sequence 3 and starting SCN of 1766660 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 2 and starting SCN of 1766284 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 1 and starting SCN of 1760640 found to restore
=
At this time, due to the archiving problem, there was no recover success, but the restore was successful. The tspitr01.dbf was deleted before and came back. Try to switch the database from mount to open.
SQL > alter database open resetlogs
Alter database open resetlogs
*
ERROR at line 1:
ORA-01248: file 21 was created in the future of incomplete recovery
ORA-01110: data file 21:'/ home/oracle/app/oradata/pamsdb/tspitr02.dbf'
SQL > alter database datafile'/ home/oracle/app/oradata/pamsdb/tspitr02.dbf' offline drop
Database altered.
SQL > alter database open resetlogs
Database altered.
= =
Check the status of the data file
SQL > select name,status from v$datafile
NAME-STATUS
-
/ home/oracle/app/oradata/pamsdb/system01.dbf-- SYSTEM
/ home/oracle/app/oradata/pamsdb/sysaux01.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/undotbs01.dbf-ONLINE
/ home/oracle/app/oradata/pamsdb/users01.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/DATA_PAMS_01.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/DATA_PAMS_02.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/INDX_PAMS_01.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/undotbs02.dbf-ONLINE
/ home/oracle/app/oradata/pamsdb/test_chen.dbf-ONLINE
/ home/oracle/app/oradata/pamsdb/test_chen1.dbf-ONLINE
/ home/oracle/app/oradata/pamsdb/ts_mssm.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/big.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test_dyjwd77b_.dbf-ONLINE
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_ts_uni_dyjwdn4f_.dbf-ONLINE
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_ts_auto_dyjwdn5l_.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test1_dyjwf0vx_.dbf-ONLINE
/ home/oracle/app/oradata/pamsdb/PAMSDB/datafile/o1_mf_test3_ms_dyjwf0z1_.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/test4_assm.dbf-ONLINE
/ home/oracle/app/oradata/pamsdb/blkerr01.dbf-- ONLINE
/ home/oracle/app/oradata/pamsdb/tspitr01.dbf-- OFFLINE
20 rows selected
The tablespace is also offline.
SQL > select tablespace_name,status from dba_tablespaces where tablespace_name = 'TSPITR'
TABLESPACE_NAME-STATUS
TSPITR-OFFLINE
-- the following is the data file offline related information
Quote an article explaining tablespaces and data files offline
The usage and difference of offline in data file and tablespace
The offline of the database includes the offline of the data file and the offline of the tablespace, which actually means that all the data files corresponding to the tablespace are offline.
1-data file OFFLINE
If a data file cannot be deleted after it is added to the tablespace, there is no syntax to do so. If you want not to use the data file, the only thing is to set the data file to the OFFLINE state. Perform the following steps to set the data file to the OFFLINE state:
1)-if it is in archive mode, you can execute the following SQL to set the status of the data file to OFFLINE:
ALTER DATABASE DATAFILE 'XXXX.DBF' OFFLINE
2)-if in non-archive mode, execute the following SQL to set the datafile status to OFFLINE:
ALTER DATABASE DATAFILE 'XXXX.DBF' OFFLINE DROP
When the data file is offline, the data dictionary information and metadata information related to the data file still exist. When the tablespace is deleted, the information of the relevant data file will be cleared. DROP TABLESPACE simply empties the Oracle data dictionary information, and the DROP tablespace works even if the data file does not exist. For offline data files, media recovery needs to be performed on the data files when setting up the data file ONLINE.
If you use OFFLINE DROP to take the data file offline in non-archive mode, this means that the data file may no longer be able to return to the ONLINE state because there may not be enough logs to perform ONLINE's media recovery in non-archive mode. If the log is not switched and still exists, you can still ONLINE the data file after media recovery.
2.-tablespace OFFLINE
Tablespace offline is divided into normal offline, temporary offline and immediate offline, which are discussed below.
1)-OFFLINE NORMAL
This is the default option, normally when the tablespace is offline, when ONLINE is re-executed, Oracle will update the tablespace data header SCN with the appropriate SCN to enable the normal ONLINE tablespace without the need to perform a media recovery.
ALTER TABLESPACE XXX OFFLINE [NORMAL]
2)-OFFLINE TEMPORARY
If you specify the TEMPORARY,Oracle database to perform a checkpoint for all online data files in the tablespace, there is no guarantee that all files can be synchronized. When the data file for executing this statement is offline, you need to perform a media recovery before re-ONLINE the tablespace.
ALTER TABLESPACE XXX OFFLINE TEMPORARY
3)-OFFLINE IMMEDIATE
Performing this operation means that the tablespace is taken offline immediately, and the media recovery must be performed the next time the tablespace ONLINE is made, and the media recovery is successful to make the tablespace ONLINE:
ALTER TABLESPACE XXX OFFLINE IMMEDIATE
For offline data files, be sure to perform the media recovery process the next time you ONLINE, and if the media recovery is successful, you can successfully ONLINE. For a normal tablespace offline, the next time you ONLINE the tablespace, you do not need to perform a media recovery. For OFFLINE TEMPORARY tablespaces, if there are already data files offline before going offline, you also need to perform a media recovery of some data files before the tablespaces go online. For IMMEDIATE OFFLINE tablespaces, media recovery needs to be performed on all data files in the tablespace before the tablespace comes online. For offline data files and tablespaces, the SCN number of the data file will not be verified when the instance is restarted.
Source:-http://blog.itpub.net/23135684/viewspace-705015/
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.