数据文件如果从原来目录转移到另外一个目录,如何设置?我总结了一下,大概有三种方法。
第一种方法,适用于转移所有表空间的数据文件(包括system),要求mount状态下完成:
idle> startup mount;
ORACLE 例程已经启动。
Total System Global Area 135339940 bytes
Fixed Size 454564 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
idle> alter database rename file 'd:users01.dbf' to 'D:oradatahansonusers01.dbf';
数据库已更改。
idle> alter database open;
数据库已更改。
idle> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
D:ORADATAHANSONSYSTEM01.DBF
D:ORADATAHANSONUSERS01.DBF
D:ORADATAHANSONDRSYS01.DBF
D:ORADATAHANSONINDX01.DBF
D:ORADATAHANSONTOOLS01.DBF
D:ORADATAHANSONUNDOTBSNEW01.DBF
D:ORADATAHANSONXDB01.DBF
第二种方法,适用于所有非system表空间,要求open状态下完成:
idle> alter tablespace users offline;
表空间已更改。
idle> alter database rename file 'D:oradatahansonusers01.dbf' to 'd:users01.dbf';
数据库已更改。
idle> alter tablespace users online;
表空间已更改。
idle> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
D:ORADATAHANSONSYSTEM01.DBF
D:USERS01.DBF
D:ORADATAHANSONDRSYS01.DBF
D:ORADATAHANSONINDX01.DBF
D:ORADATAHANSONTOOLS01.DBF
D:ORADATAHANSONUNDOTBSNEW01.DBF
D:ORADATAHANSONXDB01.DBF
已选择7行。
第三种方法,重建控制文件,适用于所有数据文件:
idle> startup nomount;
ORACLE 例程已经启动。
Total System Global Area 135339940 bytes
Fixed Size 454564 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
idle> @connect '/ as sysdba'
idle> connect / as sysdba
已连接。
idle> CREATE CONTROLFILE REUSE DATABASE "HANSON" NORESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'D:ORADATAHANSONREDO01.LOG' SIZE 10M,
10 GROUP 2 'D:ORADATAHANSONREDO02.LOG' SIZE 10M,
11 GROUP 3 'D:ORADATAHANSONREDO03.LOG' SIZE 10M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'D:ORADATAHANSONSYSTEM01.DBF',
15 'D:USERS01.DBF',
16 'D:ORADATAHANSONDRSYS01.DBF',
17 'D:ORADATAHANSONINDX01.DBF',
18 'D:ORADATAHANSONTOOLS01.DBF',
19 'D:ORADATAHANSONUNDOTBSNEW01.DBF',
20 'D:ORADATAHANSONXDB01.DBF'
21 CHARACTER SET ZHS16GBK
22 ;
控制文件已创建
idle> alter database open;
数据库已更改。
system表空间里的数据字典会在open数据库的时候,用控制文件的数据文件所在路径同步。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9842/viewspace-156316/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9842/viewspace-156316/