ftp 实际使用过程分析
命令综述:ftp开启以后,就可以使用FTP下载,速度还是非常快的使用ftp前先进入要下载文件到的目录。ftp>open 192.168.0.3输入用户名,和密码可以匿名ftp>cd /oracle/oradata/mis/backupftp>get mis110216.dmp.gzftp>quit过程详细:ftp> open 192.168.0.3Connected to 192.168.0.3.220 DELL FTP server (Version 5.60) ready.334 Using authentication type GSSAPI; ADAT must followGSSAPI accepted as authentication typeGSSAPI error major: An invalid name was suppliedGSSAPI error minor: Cannot determine r
LINUX+ORACLE 11G所有安装命令
按照oracle官方网站 配置,我配置了一下oracle11g,绝对是权威的资料。不带个人色彩。由于时间匆匆,没有做每个步骤说明,如果读者需要问个明白请和我联系。QQ 149196034msn pengqingxiang75@sina.com$ xhost somehost.us.example.com$ telnet fully_qualified_remote_host_nameOn Linux x86:At least 1 GB of RAM[root@primary ~]# grep MemTotal /proc/meminfoMemTotal: 4147052 kBRAM Swap SpaceBetween 1 GB and 2 GB 1.5 times the size of RAMBetween 2 GB and 16 GB Equal to the size of
oracle _document 官方文档
QQ 149196034最近开始喜欢上看ORACLE 官方文档,一方面处于学习english,另一方面官方文档比任何资料都权威!google上很多人的资料仅仅只能作为参考,对于我这样一个半路出家的人,技术中等的人,看文献还是最好的选择!http://www.oracle.com/technetwork/database/enterprise-edition/documentation/database-093888.html这个网页就可以下载 oracle 11g. E11882-01.如果你不会,以第一步先到www.oracle.com----- database------downloads------docmentation index------oracle database------ 在在下面选择需要下载的版本这样跳出来的网址
静态数据字典视图:dba,all,user
静态数据字典视图dba_ 数据库中的所有对象 all_ 当前用户可以访问的对象user_当前用户拥有的对象user_tables 当前用户拥有的所有的表 all_tables 当前用户拥有的所有的表和用户有权限能够访问的表select on tb_saledba_tables 超级集合需要具有select any tabledba_objectsdba_dictionary 当前用户可以访问的所有数据字典视图dba_objectsdict_columns 记录字典视图列(column)及其相关说明select column_name,comments from dict_columnswhere table_name=
告警日志和oerr ora 错误
dba每天都要看告警日志告警日志命名方式:alert_<sid>.log默认存放位置都在:$ORACLE_BASE/ADMIN/SID/bdump设置存放位置的参数为:background_dump_destSQL> show parameter background_dump_destNAME TYPE VALUE------------------------------------ ----------- ------------------------------background_dump_dest string /oracle/admin/mis/bdump告警日志出现ora错误的时候,可以用命令oerr 打开,看详细的信息[oracle@DELL bdump]$ oerr ora 0744507445, 00
SGA调整命令和总结
SGA总结sga 调整:系统全局区又称SGA (System Global Area)oracle 9i:sga_max_sizeoracle 10g:sga_target_size,sga_max_size;命令:alter system set sga_target=1000m scope=spfile;oracle 10g 以上版本只需要调整sga_max_size 和sga_target_size(<=sga_max_size)的大小,不需要调整large_pool,java_pool.oracle 8i 和oracle 9i这需要调整SGA的特点:1、SGA是共享的。即当有多个用户同时登录了这个实例,SGA中的信息可以被它们同时访问;2、一个SGA只服务于一个实例。也就是说,当一台机器上有多个实例运行时,每个实例都有一个自己
create controlfile 创建控制文件
突然断电,或者shutdown abort 会引起控制文件损坏,如果控制文件没有备份,三个控制文件全部损坏,那么只有重建控制文件。命令:(官方文档)STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "PRIMARY" RESETLOGS ARCHIVELOG-- SET STANDBY TO MAXIMIZE PERFORMANCE MAXLOGFILES 5 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 1 MAXLOGHISTORY 226LOGFILE GROUP 1 '/opt/oracle/oradata/primary/redo01.log' SIZE 10M, GROUP 2 '/opt/oracle/oradata/primary/redo02.log' SIZE 10M, GROUP 3 '/op
imp 与commit
如果imp,那么记得要加入参数 :commit=y这个参数表示导入数据的时候,将数据分批提交。从而避免大的DMP文件导入不成功的时候,引起大事务回滚,引发数据库性能短时间下降![@more@]
move 和碎片整理
move move表的时候,索引会失效,索引需要重建alter table table_name move talbespace tablespace_name索引移到另外一个表空间alter index index_name rebuild (重建索引)alter index index_name rebuild tablespace tablespace_name;如果是单级分区,则使用关键字partition,如果是多级分区,则使用subpartition替代partition。如果分区或分区索引比较大,可以使用并行move或rebuild,parallel(degree 2)。select 'alter table '||owner||'.'||segment_name||' move partition ' ||partition_name||' tablespace HWM; ',bytesf
AWR 生成步骤
$cd $ORACLE_HOME/rdbms/adminsqlplus /nologconn /as sysdba;SQL> exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (flush_level=>'ALL');PL/SQL procedure successfully completed.SQL> exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (flush_level=>'ALL');PL/SQL procedure successfully completed.SQL> @?/rdbms/admin/awrrpt.sqlCurrent Instance~~~~~~~~~~~~~~~~ DB Id DB Name Inst Num Instance----------- ------------ -------- ------------ 1578307715 ZXHS 1 zxhsSpecify the R
hint和cbo建议
DBA在遇到sql性能低下的时候,经常会强制走比较好的执行计划,强制走某个索引,这是一个很不好的习惯。当执行计划不好,引起全表扫描,table full scan,或者索引走的不对,cost很大的时候,那么我的建议是:对表或者系统重新统计信息,查看统计信息是否陈旧,是否准确。统计信息方法是否对,有的时候自动统计信息并不一定准确!特别是oracle 9i,10g有很大的区别![@more@]
导入数据库一个建议
不同版本数据库在全导入的时候,会导入统计信息:如果是不同版本,比如oracle10g,oracle9i,最好加入参数:“statistics=none"导入完后,在重新统计信息。10g和9.2.0.4 和9.0.2.1不能导入统计信息,否则会造成执行计划选择错误的路径。[@more@]
index_name and job
1:有时候在tuning sql 查看执行计划的时候,特别需要查看表的索引,使用all_indexes /dba_indexes特别有用2:查看正在运行的JOB;select owner,table_name,index_namefrom all_indexeswhere owner='WILIAM'AND TABLE_NAME LIKE'TB_SALE';OWNER TABLE_NAME INDEX_NAME------------------------------ ------------------------------ ------------------------------WILIAM TB_SALE IDX2_TB_SALEWILIAM TB_SALE
union all 和union 使用原则
一般情况下union all 比union 要快。但是并不是所有情况下如此,有的情况下union all 比union慢。分析:union all 连接表的时候,不需要比对数据,不会删除表中重复数据。union:会比对两个表的数据,删除重复数据。原则:union all 和union使用原则,不能影响表中总体数据,不能表中的数据的选择范围。既不能缩小范围,也不能扩大范围。[@more@]
delete statistics 删除统计信息
今天一个sql语句很奇怪,统计信息以后,表竟然走全表扫描。后来没有办法我只得删除统计信息。exec dbms_stats.delete_table_stats('missh','cancel_orderln');删除统计信息很容易:两个参数表的“宿主”,和“表名”,两个参数都用单引号'' sql具体语句如下:SELECT ORDDATE, A.ORDNO,
RBO:hint 使用方法
两个表采用hint写法/*+index(t1 ind_t1_name) index(t2 ind_t2_name)*/t1,t2表明,ind_t1_name,ind_t2_name索引名一个表/*+index(t1 ind_t1_name) */走rule/*+RULE */[@more@]
index desc:消除排序优化
很多查询,由于用户要求,会在查询中使用order by 排序,往往这个排序会极大影响数据性能。解决方法:创建索引,引入排序。比如:oder by a desc,b desc,c desc那么可以:create index idx_desc on table_name(a desc,b desc,c desc);那么在执行计划中就可以看到查询语句使用的是:index full scan,而不是 index range scan 和sort(order by a,b,c)极大提高查询速度![@more@]
RBO表的顺序
讨论表的顺序有几个前提;(一):RBO (二):table full scanselec * from 在选择驱动表和被驱动表的时候,肯定和from有关系,一般是以from最后面的一个表,也就是最右边的一个为驱动表的。所以这个时候,应该把小表放在最后面。但是,当不是全表扫描的时候,数据库会改表这个选择顺序。当有索引扫描的时候,会根据索引来选择驱动表和被驱动表。而且如果数据库优化器用的是CBO,那么和FROM后面的表顺序无关。[@more@]
统计信息——table
manual statistics:下面语句在命令行可以运行sql>exec dbms_stats.gather_table_stats('wiliam','tb_sale',estimate_percent=>100,cascade=>true);wilaim:用户tb_sale:表estimate_percent:统计比例,第一次采用100%cascade:统计索引[@more@]
前台后台运行程序命令
用户有时的程序有可能要花费很多时间,如果将它放在前台运行,将导致无法继续做其他事情,最好的方法就是将它放在后台运行,甚至可能希望在用户注销系统后,程序还可以继续运行。让我们看看那如何实现这一目的。 1,在后台运行程序的&、bg命令 将程序放到后台运行的最简单方法就是在命令最后加上“&”,范例如下: [tony@free root]# updatedb & ← 在后台执行 locate 数据库更新命令 [tony@free root]# bg ← 将更新操作放到后台运行 2,前台运行的程序fg命令 如果用户当前已有程序在后台运行,可以