oracle管理经验内容摘要:

hers = (protocol=TCP)(disp=2)(con=1000) mts_max_dispatchers = 50 mts_servers = 20 mts_max_servers = 50 5取出一 个表的最后一条记录 select * from (select rownum id,tname.* from tname) a where =(select count(*) from a)。 5重做日志 (Redolog)被 删掉,通过什么方法才能恢复。 先 mount 数据 库,然后再目录下建同名文件 、 、 然后 执行 alter databse clear logfile group n 对于 current 的 group, 执行 alter databse clear unarchived logfile group n 然后,再 open,就 ok 了 5 Oracle 常 见服务 几 个主要的: OracleOraHome81TNSListener 监听服务 OracleServiceSID ORACLE 服 务 OracleOraHome81Agent 智能代理服 务 OracleOraHome81CMan 连接管理服务 OracleOraHome81HTTPServer APACHE WEB 服 务 OracleOraHome81ManagementServer ORACLE 企 业管理器服务 OracleOraHome81Names ORACLE 命名服 务 剩下的也不常用。 5 ORACLE 的 热备份 在不 关闭数据库的时候进行 ORACLE 的 备份。 原理停复 杂的,你去找本书看看吧。 举个简单的例子:备份表空间 USERS ALTER TABLESPACE USERS BEGIN BACKUP COPY USERS TABLESPACE 的 数据文件到备份目录 ALTER TABLESPACE USERS END BACKUP 5 导致索引不起作用的解决办法 你的 问题我刚处理过,是由 optimizer_mode 参数引起的,该参数的默认值为 choose,即 为如表有 statis则查询走基于 cost 的方式,否 则走基于 rule 的方式,因些你可以有以下几 个解决方法。 (1)、 简单的在 中 设 optimizer_mode=rule,重起 数据库。 (2)、使用 analyze table table_name(索引基表 ) delete statistics。 (3)、最后一 个万能办法 ,将表和索引 drop 掉,重建。 5 关于数据库进程的问题。 (1).查看相 关进程在数据库中的会话 Select , , substr(,1,20), , from v$session a, v$process b where = and = amp。 spid。 (2).查看 数据库中被锁住的对象和相关会话 select , , from v$session a, v$locked_object b, all_objects c where = and =。 (3).查看相 关会话正在执行的 SQL select sql_text from v$sqlarea where address = ( select sql_address from v$session where sid = amp。 sid )。 5查看 IP 地址 select SYS_CONTEXT(39。 USERENV39。 ,39。 IP_ADDRESS39。 ) from dual。 5 运行 SQLPLUS 时不用输入用户名和密码,进入之后使用 CONNECT SQLPLUS /NOLOG SQLCONNECT SCOTT/TIGER 5查看 当前会话 userenv() 函 数 select userenv(39。 language39。 ) from dual 字符集 select userenv(39。 isdba39。 ) from dual 是否 DBA select userenv(39。 sessionid39。 ) from dual sessionid select userenv(39。 TERMINAL39。 ) from dual 客 户端名字 select userenv(39。 INSTANCE39。 ) from dual 实例数 SYS_CONTEXT() 函 数 select SYS_CONTEXT(39。 USERENV39。 ,39。 CURRENT_SCHEMA39。 ) from dual。 当前模式 select SYS_CONTEXT(39。 USERENV39。 ,39。 CURRENT_SCHEMAID39。 ) from dual。 当前模式 ID select SYS_CONTEXT(39。 USERENV39。 ,39。 CURRENT_USER39。 ) from dual。 当前用户 select SYS_CONTEXT(39。 USERENV39。 ,39。 DB_NAME39。 ) from dual。 数据库 select SYS_CONTEXT(39。 USERENV39。 ,39。 HOST39。 ) from dual。 主机 .......... 60、 删除重复列的方法 (1) DELETE FROM table_name A WHERE ROWID ( SELECT min(rowid) FROM table_name B WHERE = )。 (2) create table table2 as select distinct * from table1。 drop table1。 rename table2 to table1。 (3) Delete from mytable where rowid not in( select max(rowid) from mytable group by column_name )。 (4) delete from mytable t1 where exists (select 39。 x39。 from my_table t2 where = and = ... and )。 6 ORA12571: TNS:packet writer failure(包 写入程序失败) (1) 这个错误在客户端遇到过,通常重新连接一下服务器就好了。 服 务器重新启动的时候,在 client 也 会遇到该错误。 这个错误你是在 server 还是 client 上遇到的。 最常用的 办法就是加上跟踪,查看一下 跟踪记录,分析分析错误的原因。 网 络问题也会出现该错误,比如网络路由没有配置好。 (2) 安 装的杀毒软件导致的 (3) 服 务器端的 IP 是否被改 动 (4) 最后不行的 话,重新创建 监听器 6 ORACLE 服 务不能自动启动的解决办法 把 ORACLEHOME\work\ADMIN\ 文件中的 =(nts) 注 释掉就可以了 6不完全的 时间点恢复 shutdown immediate copy 备份文件到需要恢复的目录下 startup mount recover database until time 39。 20201226 09:00:0039。 alter database open resetlogs 自己仔 细检查一下,不会发生这样的问题的。 6 oracle 如何 设置查询超时 select /*+ timeout 30*/ * from veryLargeTable 6修改字符集 (1)、 ALTER DATABAE CHARACTER SET SIMPLIFIED。 (2)、 update props$ set value$=39。 ZHS16CGB23128039。 where name=39。 NLS_CHARACTERSET39。 update props$ set value$=39。 ZHS16CGB23128039。 where name=39。 NLS_NCHAR_CHARACTERSET39。 建 议不使用 (2) 注意: (1)、 执行 ALTER DATABASE CHARACTER SET 必 须有 SYSDBA权限,并且在 STARTUP RESTRICT模式下 执行 (2)、原字符集必 须是目标字符集的一个真 子集(就是浪子所说的只能从 WE8ISO8859P1 转到ZHS16GBK 的原因) (3)、 CLOB 字段 装换可能有问题,建议在转换以前把有 CLOB 字段的表 导出后 DROP, 转换以后再导回 (4)、 该转换不可逆,所以在做这个操作以前建议做数据库全备份 6修改 数据库名字 (1)、 启动 svrmgrl,以文本方式 备份控制文件 oraclesvrmgrl svrmgrlconnect internal svrmgrlalter system backup controlfile to trace (2)、 编辑产生的跟踪文件,在 udump 目 录下 改 CREATE CONTROLFILE REUSE DATABASE CTC NORESETLOGS ARCHIVELOG 中的 REUSE 为 SET 然后把 create controlfile 这段语句拷出 (3)、正常宕 库 ,后 启动到 nomount 下 svrmgrlshutdown immediate svrmgrlstartup nomount (4)、 执行 create controlfile 那段 语 句 (5)、打 开数据库 svrmgrlalter database open 如提示用 resetlogs 选项则使用 svrmgrlalter database open resetlogs (8)、相 应修改初始化参数 6 rownum 的用法 select * from (select t.*,rownum id from dept t) where id between 1 and 20 6 oracle 的 内部参数 SELECT NAME, default_val, DESCRIPTION FROM x$ksppi a, x$ksppcv b WHERE = AND substr(,1,1)=39。 _39。 ORDER BY 6 9i安 装时报 areasqueries 错误的解决办法 包括 IAS 和 IDS 把安 装源文件目录全部改为英文字母或数字 注意:不能是中文的路 径 70、我如何知道一 个表空间还有多少可以用 (1)、 SELECT upper() 表空 间名 , 表空 间大小 (M), 已使用空 间 (M), round(( ) / * 100,2) 使用比 , 空 闲空间 (M), 最大 块 (M) FROM (SELECT tablespace_name, round(SUM(bytes)/(1024*1024),2) total_bytes, round(MAX(bytes)/(1024*1024),2) max_bytes FROM GROUP BY tablespace_name) f, (SELECT , round(SUM()/(1024*1024),2) Tot_grootte_Mb FROM dd GROUP BY ) d WHERE = ORDER BY 4 DESC (2)、 select tablespace_name,round(sum(bytes)/1024/1024,2) M from dba_free_space group by tablespace_name 7 creck pl/sq。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。