失效对象的处理
在10g的dbconsole或在9i的oem(schema-源类型-各包,触发器等)中,都可以发现已失效的对象。有些是跟系统对象有关,有的跟应用的schema有关。发现这种情况时,可以对数据库所有的对象先编译一下:sqlplus "sys/password as sysdba"sql>@?/RDBMS/ADMIN/UTLRP.SQL要以sys用户才能顺利执行完。执行完后,可以再检查一下,如果还是编译失效,就可以利用oem中菜单-对象-创建报告 --选择相关项,报告会产生在你的客户端机中,非常方便。此对象报告还可以对其他项进行report,很好用。当然,还可以更好的诊断工具rda进行诊断。放在下
administer resource manager/sys.sys_group 的授权
今天台湾同事说执行一个脚本时出错,脚本出错的2个命令是:GRANT ADMINISTER RESOURCE MANAGER TO DM_ADMIN;GRANT EXECUTE ON SYS.SYS_GROUP TO DM_ADMIN;先处理第一个:1.报错信息:ERROR at line 1:ORA-00990: missing or invalid privilege解决:先执行:select * from dba_sys_privs where privilege like 'ADMINISTER%';结果如下:GRANTEE PRIVILEGE ADM------------------------------ ---------------------------------------- ---DBA ADMINI
exp 命令中的query参数
当我们希望只导表的某一部分时,可以用query参数来导。其实就是query加where语句的条件部分,但前提是类似于select * from tab where .....命令格式如下:exp table.'s owner/passwd@service_name tables=(table_names) query="where....."不知道为什么格式显示不出来,应该在等号后面先写一个反斜杠,接着是双引号,然后是where子句,再斜杠,最后以双引号结尾。这是在windows格式下的,注意一下query后的格式。[@more@]exp table.'s owner/passwd@service_name tables=(table_names) query="where..."
如果一台aix的机器不让客户端用reflectionx直接连,应该怎么办?
1.可以用windows客户端,拿reflectionx先连接到一台允许介入的服务器中2.出现图形界面后,以root用户敲2.1#ssh -x 远程服务器的ip 敲密码后进入远程服务器2.2#export DISPLAY=windows客户端的ip:0.02.3#xterm 开启远程服务器的图形终端界面[@more@]
利用profile进行资源控制
在一台测试机上,连接时经常报连接数超出最大限制。1.诊断:select sid,username,machine,terminal from v$session.发现连接都来自同一台机器。进行询问,原来在进行压力测试。2.由于压力测试会影响其他用户连接,于是打算用profile进行资源限制:2.1.sqlplus "/as sysdba" --> show parameters resource_limit;2.2如果不为true,用alter system set resource_limit=true;2.3用toad或用命令创建profile: create profile test limit sessions_per_user 2; 2.4 alter user username profile profile_name;将profile与用户绑定。
SYS.LT_EXPORT_PKG程序包出错导致exp备份失败
收到error log,查了一下错误信息,报以下错误DATA COLLECTED===============EXP-00008: ORACLE error 4068 encounteredORA-04068: existing state of packages has been discardedORA-04063: package body "SYS.LT_EXPORT_PKG" has errorsORA-06508: PL/SQL: could not find program unit being calledORA-06512: at line 1EXP-00083: The previous problem occurred when calling SYS.LT_EXPORT_PKG.schema_info_exp原因:WORKSPACE , XDB 这2个schemas有invalid objects。用oem看程序包可以看到失效的object。解决方法:Run
吃一堑,长一智的英文翻译
记得是林雨堂翻的,既简单又压韵A fall in a pit,A gain in your wit.经典。[@more@]
Dataguard-备机产生gap的解决方法
有时候因为网络或备份故障等原因,主机所产生的归档日志无法传到备机上,这个时候备机就产生了gap。对于这种情况,应该如何解决?需要注意的是,一旦产生gap,即使gap之后的archive log能正常传到standby库中,standby库并不会对后继传来的日志文件做apply。只有通过对standby做recover把从产生gap的第一个文件到最新的archive log文件都apply了才能做到2个库一致。1.在primary库中重新创建standby controlfile。并将它拷贝到standby库中。位置与以前同。ALTER DATABASE CREATE STANDBY CONTROLFILE AS '[path][ctl_file_name].CTL';2.进入
拿oracle原厂培训的教材跟itpub上的教材对了一下
同事到oracle参加10g的new features原厂培训,拿教材跟itpub上的对了一下,居然是一样的,这样就不用拿着厚厚的3本书啃了.http://www.itpub.net/522252.htmlhttp://www.itpub.net/showthread.php?s=&threadid=456196OU也居然没拿这些url说事儿,太宽容了.一哥们儿还发来了题库,网络真是.....强![@more@]
在64位aix上安装oracle10g
在aix中安装oracle比linux要方便许多,不需要先设置什么内核参数.设置好oracle用户,组,这些与在linux上安装一样.分配空间,在profile中设置bin目录的路径,oracle_home变量,这些常规的配制就不多说了,大同小异.在aix中,oracle提供了一些工具,可以拿来做安装前的检查工作.工具是validate.pl. 要运行这个工具可以用validate命令或如果有perl的话可以用perl validate.pl *.txt的方式.具体要根据你的操作系统版本进行.详细情况要参考https://metalink.oracle.com/metalink/plsql/f?p=130:14:2575766842149727480::::p14_database_id,p14_docid,p1
在aix上安装oracle9i(9.2.0.8)-64bit
1.将安装软件上传到servers上。2.将补丁上传到server上。3.在.profile上设置变量export ORACLE_HOME=....,接着设置oracle bin目录的path。设置完后执行./.profile让profile生效。4.在一台机器上安装reflectionx,一个相当于xmanager的东西,可以实现在aix上的图形界面安装。安装后在wizard中选择主机操作系统时aix。5.进入安装目录,按提示执行./runInstaller命令,提示先执行rootrep.sh脚本,然后再到./runInstaller安装界面下选:y6.开始安装,安装时选仅安装software。7.安装完oracle software后安装补丁,安装方法如下,安装过程中会提