370 likes | 632 Views
Oracle 常见问题分析. 杨 飞 技术服务部 Oracle 中国有限公司. Oracle Server 常见问题. 日程 1.Oracle Server 常见问题 2.Oracle WebServer 常见问题 3.Oracle Tools 常见问题 4. 其它常见问题. Oracle Server 常见问题. Rollback 段的个数的正确使用 ORACLE 建议 : 并发事物个数 ROLLBACK 段个数 n<16 4 16<n<32 8
E N D
Oracle 常见问题分析 杨 飞 技术服务部 Oracle 中国有限公司
Oracle Server常见问题 • 日程 1.Oracle Server 常见问题 2.Oracle WebServer 常见问题 3.Oracle Tools 常见问题 4.其它常见问题
Oracle Server常见问题 Rollback 段的个数的正确使用 ORACLE建议: 并发事物个数 ROLLBACK段个数 n<16 4 16<n<32 8 n>32 n/4(不超过50) 指定大事务使用大rollback段 SQLPLUS中: SET TRANSACTION USE ROLLBACK SEGMENT PL/SQL中: DBMS_TRANSACTION.USE_ROLLBACK_SEGMENT( )
Oracle Server常见问题 • 怎样查询表的使用参数 SQL>select table_name,initial_extent, next_extent, pct_free, pct_increase from dba_tables where table_name= 'table_name' ;
Oracle Server常见问题 • 怎样查询索引的使用参数 SQL> select index_name, initial_extent,next_extent, pct_free,pct_increase from dba_indexes where index_name='index_name';
Oracle Server常见问题 • 怎样计算表空间的大小 SQL> select tablespace_name, sum(bytes) from dba_data_files group by tablespace_name;
Oracle Server常见问题 • 怎样计算剩余表空间的大小 SQL> select tablespace_name,sum(bytes) from dba_free_space group by tablespace_name;
Oracle Server常见问题 • 怎样去掉表的碎片 1.用export按用户模式卸出数据 (使用compress=y参数) 2.删除表 3.新建表,使用新的存储参数 4.import表
Oracle Server常见问题 • 怎样去掉表空间的碎片 1.用export按用户模式卸出数据 (使用compress=y参数) 2.删除表空间及对应的数据文件 3.新建表空间 4.import表空间数据 或:SQL>altertablespace...coalesce; 字典:dba_free_space_coalesced
Oracle Server常见问题 • 在OPS环境中怎样增加一个Thread SQL> alter database add logfile thread 2 group 4 'logfile1' size 500k, group 5 'logfile2' size 500k, group 6 'logfile3' size 500k; SQL>alter database enable public thread 2;
Oracle Server常见问题 • 怎样创建演示用户SCOTT及演示基表 $ sqlplus system/manager @$ORACLE_HOME/rdbms/admin/utlsampl.sql
Oracle Server常见问题 如何Export 数据到磁带上? 1、直接export 到磁带上 $exp scott/tiger file=/dev/rmt/0m volsize=<size> 2、通过Named Pipe $mknod /tmp/exp_pipe p $dd if=/tmp/exp_pipe of=<tape device> & $exp file=/tmp/exp_pipe <other options>
Oracle Server常见问题 3、生成压缩的Export 文件 ?$mknod /tmp/exp_pipe p $compress </tmp/exp_pipe >exp.dmp.Z & $exp file=/tmp/exp_pipe <other options> $mknod /tmp/imp_pipe p $uncompress < exp.dmp.Z >/tmp/imp_pipe& $imp file=/tmp/imp_pipe <other options>
Oracle Server常见问题 • 在Sun平台上,当启数据库时,出现'ora_7252',Why? 在文件/etc/system中可能有错误, 应设置系统参数,举例如下 set shmsys: shminfo_shmmax = 209715200 set shmsys: shminfo_shmseg = 50 set semsys: seminfo_semmns = 1750 set semsys: seminfo_semmni = 70
Oracle WebServer 常见问题 • 怎样修改admin的口令 1. Web Server 2.x 在$ORACLE_HOME/ows21/admin/svadmin.cfg中 2. Web Server 3.x 在$ORAWEB_HOME/admin/svadmin.cfg中
Oracle WebServer 常见问题 • 怎样通过Web Browser浏览数据库 1. 创建用户listener 2. 创建用户DCD 3. 启动listener 4. 运行 $ORACLE_HOME/ows/admin/browseu.sql 5. 进入用户的boot地址 (http://hostname:port_number) 6. 进入 "browse database" 选项.
Oracle WebServer 常见问题 • 怎样调用WRB(web request broker) 1. 在listener->WRB->Applications and directorys 增加 /dcd_name/owa |OWA|$ORACLE_HOME/ows21/bin 2. 在listener->Directory Mapping 修改 $ORACLE_HOME/my_dir/ |NR| / 3. 指明URL http://hostname:port_number/DCD_name/ OWA/query_name?para1=value1¶2=value2
Oracle Tools常见问题 • 怎样减小Pro*C编译后可执行代码的大小 1. 设置环境变量 ORA_CLIENT_LIB=shared bshell $ORA_CLIENT_LIB=shared; export ORA_CLIENT_LIB cshell $setenv ORA_CLIENT_LIB=shared 2. 编译Pro*C程序
Oracle Tools常见问题 • 在Forms4.5中,如何屏蔽一些级别的message? 在on-error,on-message等触发子中, 设置系统变量 system.message_level=5,10,15,20,25
Oracle Tools常见问题 在运行Forms4.5中,如何使runtime时的windows最大 在when-new-form-instance触发器中设置 set_window_property( FORMS_MDI_WINDOW, WINDOW_STATE, MAXIMIZE);
Oracle Tools常见问题 • 如何避免在运行FORMS4.5时出错 设置TMP变量,指向一个足够大的目录. 例如 Forms45_tmp,Reports25_tmp, Graphics25_tmp等
Oracle Tools常见问题 怎样在REPORTS2.5中增加page header和footer信息 用layout的margin来设置 1.进入layout edit状态 2. 选中上部图标中的Margin 3.将光标移到要设置表头的地方,输入你所需要的表头 4.将光标移到要设置表尾的地方,输入你所需要的表尾
其它常见问题 • 为何其他同属于DBA组的操作系统用户不能 使用ORACLE提供的工具 执行命令 $PATH=$ORACLE_HOME/bin:$PATH $chmod 6751 ORACLE_HOME/bin/oracle
其它常见问题 • 怎样确认当前数据库安装多少PATCH? $owhat $ORACLE_HOME/bin/oracle 或 $what $ORACLE_HOME/bin/oracle
其它常见问题 • 怎样确认是否IBM HACMP 软件运行正常 1、 #clstat 应显示所有节点状态为'UP'
其它常见问题 2、#ps -ef|grep cl 应有四个进程 Cluster Management(clstrmgr) Distributed Lock Management(cllockd) Configuration and Topology Management(clinfo) Fallover and Recovery Management(clsmuxpd)
其它常见问题 怎样确认Digital Tru-Cluster 运行是否正常 # cnxshow
其它常见问题 • ORACLE公司2000年问题白皮书 • 数据库7版及以上完全兼容 • 数据库6版及以下部分兼容 • DEV2000系列产品完全兼容 • SQL*FORM ,SQL*REPORT , SQL*MENU GRAPHICS V2(CDE1),CASE V5.1不兼容
其它常见问题 • 怎样解决2000年问题 切换日期类型参数RR,RR日期格式内容如下: 1.如果系统日期和用户日期的最后两位在 00和49之间,日期被设置为当前世纪 2.如果系统日期和用户日期的最后两位在 50和99之间,日期被设置为当前世纪
其它常见问题 • 怎样解决2000年问题(续) 3. 如果系统日期的最后两位在00和49之间, 用户日期的最后两位在50和99之间,则用户日期为上一世纪 4. 如果系统日期的最后两位在50和99之间, 用户日期的最后两位在00和49之间,则用户日期为下一世纪
其它常见问题 5. 在 init.ora 文件中设置 NLS_DATE_FORMAT= 'DD-MON-RR' SQL> ALTER SESSION SET NLS_DATE_FORMAT= 'DD-MON-RR';
其它常见问题 范例:在SQL*FORMS3.0中,修改变量hiredate的 格式 declare tempdate char(9); begin tempdate:=to_char(:hiredate,DD-MON-YY); select to_date(tempdate, DD-MON-RR) INTO :hiredate from dual; end;
其它常见问题 • JDBC 介绍 1. JDBC 是一套用 Java 写的类和接口, 其他Java程序可以通过它向关系数据库 发送SQL命令。 2. Oracle 提供了两类 JDBC drivers : JDBC Thin for Java applets JDBC OCI for Java applications
其它常见问题 • JDBC 介绍(续) ?3. Oracle's JDBC Thin driver 是通过 Java sockets 直接连接 Oracle 的 driver. 它不通过Oracle's SQL*Net而直接使用 TCP/IP. 由于它是由100% Java 写成 , 所以具有平台无关性
其它常见问题 • JDBC 介绍(续) 4. Oracle Call Interface(OCI)是一个Oracle 数据库的应用程序接口. 它包括了一个C的例 程库,C语言(或其他第三代语言) 程序可 以通过它使用SQL访问数据库。 Oracle's JDBC OCI driver提供的JDBC接口 是通过使用OCI访问数据库。
其它常见问题 • JDBC 介绍(续) 你必须根据你的客户端的情况安装适当 的JDBC OCI driver。 JDBC OCI 是一个客户端软件。 JDBC OCI7 works 对应 Oracle7 client. JDBC OCI8 works 对应 Oracle8 client.