ORACLE之常用FAQ V1.0二(构架系统) (1)

 滥觞:赛迪网 作者:E剑  




Q]怎样晓得那些表没有设立设置配备布置主键  

  [A]深刻的气象下,表的主键是须要的,没有主键的表可以说是不合适希图标准的。  

  SELECT table_name

  FROM User_tables t

  WHERE NOT EXISTS(SELECT table_name

  FROM User_constraints c

  WHERE constraint_type = 'P'

  AND t.table_name=c.table_name)  

  此皮毛关数据字典正文  

  user_tables 表

  user_tab_columns 表的列

  user_constraints 约束

  user_cons_columns 约束与列的干系

  user_indexes 索引

  user_ind_columns 索引与列的干系

  

  [Q]dbms_output提醒缓冲区不够,怎样增长

  

  [A]dbms_output.enable(20000);

  其余,若是dbms_output的信息不克不及施展分析,需求设置

  set serveroutput on

  

  [Q]怎样样修正表的列名

  

  [A]9i以上版本可以回收rname饬令

  

  ALTER TABLE UserName.TabName

  RENAME COLUMN SourceColumn TO DestColumn

  

  9i以下版本可以回收create table …… as select * from SourceTable的体式技俩。

  

  其余,8i以上可以支持删除列了

  

  ALTER TABLE UserName.TabName

  SET UNUSED (ColumnName) CASCADE CONSTRAINTS

  ALTER TABLE UserName.TabName

  DROP (ColumnName) CASCADE CONSTRAINTS

  

  [Q]怎样样给sqlplus安置帮手

  

  [A]SQLPLUS的帮手必须手工安置,shell脚本为 $ORACLE_HOME/bin/helpins

  

  在安置之前,必须先设置SYSTEM_PASS状况变量,如:

  

   $ setenv SYSTEM_PASS SYSTEM/MANAGER

   $ helpins

  

  若是不设置该状况变量,将在运转脚本的时分提醒输出状况变量

  

  当然,除了shell脚本,还可以独霸sql脚本安置,那就不消设置状况变量了,但是,我们必须以system登录。

  

   $ sqlplus system/manager

  SQL> @?/sqlplus/admin/help/helpbld.sql helpus.sql

  

  安置之后,你就可以象如下的体例运用帮手了

  SQL> help index

  

  [Q]怎样样疾速下载Oracle补丁

  

  [A]我们先取得下载办事器地址,在http页面上有ftp://updates.oracle.com

  

  然后用ftp登录,用户名与密码是metalink的用户名与密码

  

  如我们晓得了补丁号3095277 (9204的补丁集),则

  

  ftp> cd 3095277

  250 Changed directory OK.

  ftp> ls

  200 PORT command OK.

  150 Opening data connection for file listing.

  p3095277_9204_AIX64-5L.zip

  p3095277_9204_AIX64.zip

  ……

  p3095277_9204_WINNT.zip

  226 Listing complete. Data connection has been closed.

  ftp: 208 bytes received in 0.02Seconds 13.00Kbytes/sec.

  ftp>

  

  晓得了这个信息,我们用用flashget,网络蚂蚁就可以下载了。

  

  添加如下毗连

  

  ftp://updates.oracle.com/3095277/p3...04_AIX64-5L.zip

  

  或交换后面的局部为所需求的内容

  

  细致,若是是flashget,网络蚂蚁请输出认证用户名及密码,即是你的metalink的用户名与密码!

  

  [Q]怎样挪动数据文件

  

  [A]1、封闭数据库,独霸os拷贝

  

  a.shutdown immediate封闭数据库

  

  b.在os下拷贝数据文件到新的地址

  

  c.Startup mount 启动到mount下

  

  d.Alter database rename datafile '老文件' to '新文件';

  

  e.Alter database open; 翻开数据库

  

  2、独霸Rman联机操作

  

  RMAN> sql "alter database datafile ''file name'' offline";

  RMAN> run {

  2> copy datafile 'old file location'

  3> to 'new file location';

  4> switch datafile ' old file location'

  5> to datafilecopy ' new file location';

  6> }

  

  RMAN> sql "alter database datafile ''file name'' online";

  

  阐明');:独霸OS拷贝也可以联机操作,不封闭数据库,与rman的步骤一样,

  

  独霸rman与独霸os拷贝的原理一样,在rman中copy是拷贝数据文件,相称于OS的cp,而switch则相称于alter database rename,用来更新控制文件。

  

  [Q]若是管理联机日志组与成员

  

  [A]以下是罕见操作,若是在OPA/RAC下细致线程号

  

  增长一个日志文件组

  Alter database add logfile [group n] '文件全名' size 10M;

  

  在这个组上增长一个成员

  Alter database add logfile member '文件全名' to group n;

  

  在这个组上删除一个日志成员

  Alter database drop logfile member '文件全名';

  

  删除整个日志组

  Alter database drop logfile group n;

  

  [Q]怎样样计算REDO BLOCK的大年夜小

  

  [A]计算体例为(redo size redo wastage) / redo blocks written 16

  

  具体见如下例子

  

  SQL> select name ,value from v $sysstat where name like '%redo%';

  NAME VALUE

  ----------------------------------------------------------------

  redo synch writes 2

  redo synch time 0

  redo entries 76

  redo size 19412

  redo buffer allocation retries 0

  redo wastage 5884

  redo writer latching time 0

  redo writes 22

  redo blocks written 51

  redo write time 0

  redo log space requests 0

  redo log space wait time 0

  redo log switch interrupts 0

  redo ordering marks 0

  SQL> select (19412 5884)/51 16 '"Redo black(byte)" from dual;

  Redo black(byte)

  ------------------

  512






版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始来因 、作者信息和本声明。否则将深究功令责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1976040.html