85.DBVERIFY用于验证数据文件、表段或索引段是否存在损坏块,只能用于验证数据文件,而不能用于验证控制文件和重做日志。
验证数据文件的所有块
dbv file=…system01.dbf feedback=1000 blocksize=4096 (start=1 end=10000)
使用DBV验证段得磁盘块
dbv userid=scott/tiger segment_id=4.4.529
会验证用户SCOTT的特定段,该段所对应的表空间编号为4,段头块所在的数据文件编号为4,段头块所在的数据块编号为529。
86.DBNEWID用于改变DBID和DBNAME,其中DBID用于表示数据库的内部标识符,而DBNAME则用于表示数据库的名字。
改变全局数据库名
alter database rename global_name to demo.oracle.com;
改变DBID
DBID是数据库内部的惟一标识符。因为RMAN使用DBID区分不同数据库,所以为了在同一个恢复目录中备份源数据库和复制数据库,就需要改变DBID。修改了DBID后,以前的备份和归档日志将不能使用。DBA必须重新备份数据库。
关闭并装载数据库
shutdown immediate
startup mount
改变DBID
nid target=sys/oracle@demo
改变DBID时,必须执行DBV命令,并且必须以SYSDBA身份登录到目标数据库。
转载并打开数据库
startup mount
alter database open resetlogs;
改变DBNAME
在mount状态下
使用NID命令改变数据库名称时,必须以SYSDBA身份登录,并且必须指定DBNAME和SETNAME选项。
nid target=sys/oracle@demo dbname=example setname=y
修改初始化参数DB_NAME
vim $ORACLE_HOME/dbs/initorcl.ora
重新建立口令文件
host orapwd file=$ORACLE_HOME/dbs/pwdorcl.ora password=admin
启动数据库
conn / as sysdba
startup pfile=$ORACLE_HOME/dbs/initorcl.ora
create spfile from pfile;