就想把存在这个目录下的数据库 搬到另一个盘来存储 如e盘下
D:\oracle\product\10.2.0\oradata\orcl
D:\oracle\product\10.2.0\oradata\orcl
解决方案 »
- Error while trying to retrieve text for error ora-06413
- 求救:存储过程循环查表数据插入表值都累加在最后了
- 存储过程输入参数的数据量比较大,要超过VARCHAR2的范围,有没有好的办法,还要优化速度
- C#中IDataReader的读取性能问题
- oracle不能打开,出现错误:oracle initialization or shutdown in progress
- 当条件为NULL时,IF语句就不执行了,也不报错。这是怎么会事?
- 求一条统计SQL语句
- 如何在一台服务器上创建多个实例使用多个监听端口
- 我的程序不能实现的问题
- 怎样去掉Oracle数据库中姓名字段中的空格,可能有一个空格,也可能有多个
- RMB 200元 odac 连接oracle 9i 汉字字段名乱码
- 因目标主机或对象不存在,连接失败
create pfile from spfile;
2、关闭数据库
shutdown immediate
3、移动文件,并且准备一个文件列表(控制文件、数据文件、联机日志文件)。
4、记事本修改pfile内容,将控制文件位置改为新文件位置。
5、使用修改后的pfile启动到mount状态
startup mount pfile='xxxx';
6、逐个修改数据文件位置
alter database rename file 'D:\oracle\product\10.2.0\oradata\orcl\system01.dbf' to 'e:\xxx\system01.dbf';
...
注:临时表空间的文件可以不用管,回头删了重新创建即可。
7、打开数据库。
alter database open;
8、根据新的pfile重新创建spfile
create spfile from pfile='xxxx';
9、完毕。
create pfile from spfile(这句不知道什么意思);
2、关闭数据库
shutdown immediate
3、移动文件,并且准备一个文件列表(控制文件、数据文件、联机日志文件)(就是全部把文件拷贝到一个新目录吗?)。
4、记事本修改pfile内容,将控制文件位置改为新文件位置。(这里不知道改那里)
5、使用修改后的pfile启动到moun……
(
KeyFieldNo varchar2,
KeySubFieldNo varchar2,
TitleFieldNo varchar2,
TitleSubFieldNo varchar2,
TypeFieldNo varchar2,
TypeSubFieldNo varchar2,
DocTypeCode varchar2
)
as
KeyField varchar2(500);TitleField varchar2(500);TypeField varchar2(500);Sql1 varchar2(5000);
begin
KeyField:= '(/Marc/Record/DataFields/DataField[@Tag='''''||KeyFieldNo||''''']/SubDataFields/SubDataField[@code='''''||KeySubFieldNo||'''''])[1]';
TitleField:= '(/Marc/Record/DataFields/DataField[@Tag='''''||TitleFieldNo||''''']/SubDataFields/SubDataField[@code='''''|| TitleSubFieldNo||'''''])[1]';
TypeField:= '(/Marc/Record/DataFields/DataField[@Tag='''''|| TypeFieldNo||''''']/SubDataFields/SubDataField[@code='''''|| TypeSubFieldNo||'''''])[1]';
Sql1:= 'Update Nbmm_Marc set Nbmm_Marc.keyfield=nvl(Nbmm_Marc_Data.MarcContent.value('''||KeyField ||''',''nvarchar2(max)''),''''),Nbmm_Marc.titlefield=nvl(Nbmm_Marc_Data.MarcContent.value('''||TitleField||''', ''nvarchar(max)''), ''''), Nbmm_Marc.typefield=nvl(Nbmm_Marc_Data.MarcContent.value('''||TypeField||''', ''nvarchar(max)''), '''') from Nbmm_Marc_Data, Nbmm_Marc where '||'Nbmm_Marc.MarcIdentity=Nbmm_Marc_Data.MarcIdentity and Nbmm_Marc.DocTypeCode='''||DocTypeCode||'''';
/*dbms_output.put_line(Sql1); */
execute immediate Sql1;
end;
§ 9i以后的数据库一般都是用spfile来启动。§ pfile的名字一般叫 init{数据实例名}.ora , spfile的名字叫 spfile{数据实例名}.ora
在windows系统里,他们存在于 %ORACLE_HOME%\database目录下,在Linux、Unix里,存在于$ORACLE_HOME/dbs下。§ 数据库启动时,搜索的顺序是先spfile,如果未找到则找pfile。§ pfile和spfile可以互相转换,方法就是在SQL> 提示符下执行
create pfile from spfile; 或者 create spfile from pfile;
也可以指定创建到什么位置,比如 create pfile='c:\initorcl.ora' from spfile;
执行完毕之后,你就可以在相应的位置找到参数文件了,打开这个文件你就明白怎么做了。
§ 移动文件就是把那些文件复制或者移动到新的位置了,基本上就是目录里的全部文件