2014年(2)
分类: Oracle
2014-10-10 11:18:14
SQL> conn /@study as sysdba
已连接。
SQL> desc dba_data_files;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
ONLINE_STATUS VARCHAR2(7)
SQL> select file_name,tablespace_name from dba_data_files where
tablespace_name=
'SYSTEM';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\SYSTEM01.DBF
SYSTEM
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host copy
D:\oracle\product\10.2.0\oradata\study\SYSTEM01.DBF d:\oracle\stu
dy\
已复制 1 个文件。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 1140850688 bytes
Fixed Size 2065184 bytes
Variable Size 301993184 bytes
Database Buffers 822083584 bytes
Redo Buffers 14708736 bytes
数据库装载完毕。
SQL> alter database rename file
'D:\oracle\product\10.2.0\oradata\study\system01
.dbf' to 'D:\oracle\study\system01.dbf';
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> select file_name,tablespace_name from
dba_data_files where tablespace_name=
'SYSTEM';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
D:\ORACLE\STUDY\SYSTEM01.DBF
SYSTEM
SQL> select file_name,tablespace_name from
dba_data_files where tablespace_name=
'USERS';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\USERS01.DBF
USERS
SQL> alter tablespace users offline;
表空间已更改。
SQL> host copy
D:\oracle\product\10.2.0\oradata\study\users01.dbf d:\oracle\stud
y\
已复制 1 个文件。
SQL> alter tablespace users rename datafile
'D:\oracle\product\10.2.0\oradata\st
udy\users01.dbf' to
'd:\oracle\study\users01.dbf';
表空间已更改。
SQL> alter tablespace users online
2 ;
表空间已更改。
SQL> select file_name,tablespace_name from
dba_data_files where tablespace_name=
'USERS';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
D:\ORACLE\STUDY\USERS01.DBF
USERS
SQL>
SQL> select * from v$logfile;
SQL> alter system switch logfile;
系统已更改。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> $ move C:\ora10gBase\oradata\oy\REDO01.LOG D:\D_Oracle_DBF\REDO01.LOG
SQL> $ move C:\ora10gBase\oradata\oy\REDO02.LOG D:\D_Oracle_DBF\REDO02.LOG
SQL> $ move C:\ora10gBase\oradata\oy\REDO03.LOG D:\D_Oracle_DBF\REDO03.LOG
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 209715200 bytes
Fixed Size 1248140 bytes
Variable Size 92275828 bytes
Database Buffers 113246208 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database
2 rename file
3 'C:\ora10gBase\oradata\oy\REDO01.LOG',
4 'C:\ora10gBase\oradata\oy\REDO02.LOG',
5 'C:\ora10gBase\oradata\oy\REDO03.LOG'
6 to
7 'D:\D_Oracle_DBF\REDO01.LOG',
8 'D:\D_Oracle_DBF\REDO02.LOG',
9 'D:\D_Oracle_DBF\REDO03.LOG';
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> alter system switch logfile;
系统已更改。
将数据库SHUTDOWN,然后修改pfile中的控制文件的路径,以pfile文件启动数据库,
然后create spfile from pfile.最后以spfile启动数据库即可。
SQL> create spfile from pfile='D:\xxxx\pfile\init.ora.2162010162124';
此外,其他移动数据文件的方法(在数据库启动归档的情况下,可以开机迁移,还未测试是否正确):
移动Oracle数据库表空间文件
目的:把oracle表空间文件从一个地方移动到另外一个地方。
详细操作步骤:
第一、启用介质恢复模式:
A、Shutdown immdiate;
B、Startup mount;
C、Alter database archivelog;
D、Alter database open;
第二、卸载表空间:
A、Alter tablespace 表空间名字 offline;(注:如果为非归档模式后面加Drop);
第三、在操作系统下移动文件到新位置。
第四、告诉表空间数据文件已经移动:
A、Alter database rename file '原文件路径' to '新文件路径';
第五、装载表空间:
A、Alter tablespace 表空间名字 online;
第六、关闭数据库:
A、Shutdown;
第七、启动数据库:
A、Startup force;
Oracle数据库表空间文件移动成功。