首页  ·  知识 ·  数据库
SybaseOracle修改文件名或者路径
网友  收集    编辑:德仔   图片来源:网络
今天要把Sybase与Oracle的安装目录和数据文件的目录要修改一下,原来是装在/opt目录下,现在需要安装在/app目录。数据文件需要转到/data目录下/
今天要把Sybase与Oracle的安装目录和数据文件的目录要修改一下,原来是装在/opt目录下,现在需要安装在/app目录。数据文件需要转到/data目录下
  Sybase:
  关闭数据库, mv /opt/sybase /app 将sybase移动sybase目录,将Sybase.env文件里的opt改为app,将ASE-15_0/install目录下的RUN_…文件里的内容都修改为app,将数据文件拷贝到/data/sybase目录下。将install里的RUN_SYBASE master数据库改为正确的指向,启动sybase后,由于只有master才能正确的,另外的库包括tempdb , sybsystem都无法装载,我们需要修改系统表sysdevices修改成正确的path,
  先执行select config_admin( 1 , 102 , 1 , 0 , null , null ) 将allow update修改为1 ,
  begin transaction
  go
  update sysdevices set phyname = str_replace( phyname , ‘oldpath’ , ‘newpath’ )
  go
  select * from sysdevices
  go
  确认修改正确后使用
  commit transaction 提交,重启数据库就OK了
  Oracle:
  相对于Sybase而言,Oracle的修改目录更为麻烦点,因为Oracle里很多shell程序都写死了路径。
  首先修改ORACLE_HOME , ORACLE_BASE到目标目录下使用 relink all重新链接oracle 的目标代码
  然后需要修改shell程序里的决对路径。可以使用
  mkdir /tmp/oracle
  for i in `find . -name "*" | xargs file | grep "shell script" | awk -F: '{print $1}' `
  do
  F=`basename $i`
  cat $i | sed 's/\/opt\/oracle\//\/app\/oracle\//g' > /tmp/oracle/$F
  cp /tmp/oracle/$F $i
  done
  我是从/opt/oracle 切换到 /app/oracle下的,目录不同可以修改。
  修改后首先修改/etc/oratab里的路径 ,  修改$ORACLE_BASE/admin/sid/pfile/ 里的init.ora文件。把路径改到相应的目录上。
  删除$ORACLE_HOME/dbs/spfile*.ora文件
  使用sqlplus / as sysdba
  create spfile from pfile=’$ORACLE_BASE/admin/sid/pfile/init.ora’ --重建spfile ;
  startup mount
  alter database rename file ‘oldpath’ to ‘newpath’ 修改所有的数据文件与日志文件到新的目录下
  alter database open --能启动就可以了
 
本文作者:网友 来源:网络收集
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的