??xml version="1.0" encoding="utf-8" standalone="yes"?>色噜噜亚洲男人的天堂,中文字幕精品亚洲无线码二区,亚洲视频在线免费播放http://m.tkk7.com/lucky/category/35925.html<B>q_的世?lt;/B></br> <font color="blue">看似q_实崎?lt;/br> 成如Ҏ却艰?lt;/font>zh-cnMon, 15 Apr 2013 20:29:48 GMTMon, 15 Apr 2013 20:29:48 GMT60解決EXP-00091http://m.tkk7.com/lucky/archive/2013/04/16/397888.htmlLuckyLuckyMon, 15 Apr 2013 16:44:00 GMThttp://m.tkk7.com/lucky/archive/2013/04/16/397888.htmlhttp://m.tkk7.com/lucky/comments/397888.htmlhttp://m.tkk7.com/lucky/archive/2013/04/16/397888.html#Feedback0http://m.tkk7.com/lucky/comments/commentRss/397888.htmlhttp://m.tkk7.com/lucky/services/trackbacks/397888.html原文请参?br />http://blog.csdn.net/wangjialiang/article/details/6051817

说明Q?/span>
EXP-00091:
出口可疑的统计?/span>
EXP-00091: Exporting questionable statistics.
产生Q?/span>
在数据库的服务器端和客户端字W集不同的情况下Q导?/span>
(dump)
数据库表Ӟ会生这个错误。虽然生这个错误,但好像对导入没有影响?/span>
解决Q?/span>
服务器端数据的字W集查看ҎQ?/span>
1、打开SQLPLUSQ用sys用户d?/span>
2、执?br />SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
其中
'NLS_CHARACTERSET'
必须为大写?/span>
PARAMETER
-------------------
VALUE
--------------------
NLS_CHARACTERSET
ZHS16GBK
Q?/span>Linux)
?/span>oracle用户?/span>.bash_profile文g加入
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

Q?/span>WindowsQ?/span>
1
、打开注册表,依次q入
HKEY_LOCAL_MACHINE→SOFTWARE→ORACLE→HOME0
目录?/span>
2、察?/span>NLS_LANG的倹{?/span>
3、将其修改ؓ数据库服务器端字W集相同的字W?/span>
?/span>
临时讑֮环境变量
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK




Lucky 2013-04-16 00:44 发表评论
]]>
Oracle 11G在用EXP 导出ӞI不能导出解决 http://m.tkk7.com/lucky/archive/2013/04/15/397887.htmlLuckyLuckyMon, 15 Apr 2013 15:39:00 GMThttp://m.tkk7.com/lucky/archive/2013/04/15/397887.htmlhttp://m.tkk7.com/lucky/comments/397887.htmlhttp://m.tkk7.com/lucky/archive/2013/04/15/397887.html#Feedback0http://m.tkk7.com/lucky/comments/commentRss/397887.htmlhttp://m.tkk7.com/lucky/services/trackbacks/397887.html
            原创作品Q允许{载,转蝲时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将q究法律责Q?a >http://wanwentao.blog.51cto.com/2406488/545154         11G中有个新Ҏ,当表无数据时Q不分配segmentQ以节省I间

  解决ҎQ?/p>

  1、insert一行,再rollback׃生segment了?/strong>

  该方法是在在I中插入数据,再删除,则生segment。导出时则可导出I?/p>

  2、设|deferred_segment_creation 参数

show parameter deferred_segment_creation
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation            boolean     TRUE
SQL> alter system set deferred_segment_creation=false;
pȝ已更攏V?/span>
SQL> show parameter deferred_segment_creation
NAME                                 TYPE        VALUE
----------------------------------- ----------- ------------------------------
deferred_segment_creation            boolean     FALSE

  该参数值默认是TRUEQ当改ؓFALSEӞ无论是空表还是非IQ都分配segment?/p>

  需注意的是Q该D|后对以前导入的I不生作用,仍不能导出,只能对后面新增的表生作用。如需导出之前的空表,只能用第一U方法?/p>

搞了我好久,最后查到这个方法?/p>

先查询一下当前用户下的所有空?/p>

select table_name from user_tables where NUM_ROWS=0;

用以下这句查扄?/p>

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0

把查询结果导出,执行导出的语?/p>

'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'

-----------------------------------------------------------
alter table AQ$_AQ$_MEM_MC_H allocate extent;
alter table AQ$_AQ$_MEM_MC_G allocate extent;
alter table AQ$_AQ$_MEM_MC_I allocate extent;
alter table AQ$_AQ_PROP_TABLE_T allocate extent;
alter table AQ$_AQ_PROP_TABLE_H allocate extent;
alter table AQ$_AQ_PROP_TABLE_G allocate extent;
alter table AQ$_AQ_PROP_TABLE_I allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_T allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_H allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_G allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_I allocate extent;

'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'
-----------------------------------------------------------
alter table AQ$_SYS$SERVICE_METRICS_TAB_T allocate extent;
alter table AQ$_SYS$SERVICE_METRICS_TAB_H allocate extent;
alter table AQ$_SYS$SERVICE_METRICS_TAB_G allocate extent;
alter table AQ$_SYS$SERVICE_METRICS_TAB_I allocate extent;

然后再执?/p>

exp 用户?密码@数据库名 file=/home/oracle/exp.dmp log=/home/oracle/exp_smsrun.log


  成功Q?/p>



Lucky 2013-04-15 23:39 发表评论
]]>
Oracle死锁调查http://m.tkk7.com/lucky/archive/2010/10/22/335870.htmlLuckyLuckyFri, 22 Oct 2010 04:04:00 GMThttp://m.tkk7.com/lucky/archive/2010/10/22/335870.htmlhttp://m.tkk7.com/lucky/comments/335870.htmlhttp://m.tkk7.com/lucky/archive/2010/10/22/335870.html#Feedback0http://m.tkk7.com/lucky/comments/commentRss/335870.htmlhttp://m.tkk7.com/lucky/services/trackbacks/335870.html SELECT S.SID
      ,S.USERNAME
      ,S.OSUSER
      ,NVL(S.MACHINE,'?') MACHINE
      ,NVL(S.PROGRAM,'?') PROGRAM
      ,S.PROCESS F_GROUND
      ,P.SPID B_GROUND
      ,X.SQL_TEXT
  FROM SYS.V_$SESSION S
      ,SYS.V_$PROCESS P
      ,SYS.V_$SQLAREA X
 WHERE
   S.SID  = '505'
   AND S.PADDR = P.ADDR
   AND S.TYPE != 'BACKGROUND'
   AND S.SQL_ADDRESS = X.ADDRESS
   AND S.SQL_HASH_VALUE = X.HASH_VALUE
 ORDER BY S.SID

2.引v死锁的SQL语句
SELECT SQL_TEXT
  FROM V$SQL
 WHERE HASH_VALUE IN (SELECT SQL_HASH_VALUE FROM V$SESSION WHERE SID IN
(SELECT SESSION_ID FROM V$LOCKED_OBJECT))
3.Oracle数据库死锁查询语?/a>
SELECT T2.USERNAME
      ,T2.SID
      ,T2.SERIAL#
      ,T3.OBJECT_NAME
      ,T2.OSUSER
      ,T2.MACHINE
      ,T2.PROGRAM
      ,T2.LOGON_TIME
      ,T2.COMMAND
      ,T2.LOCKWAIT
      ,T2.SADDR
      ,T2.PADDR
      ,T2.TADDR
      ,T2.SQL_ADDRESS
      ,T1.LOCKED_MODE
  FROM V$LOCKED_OBJECT T1
      ,V$SESSION T2
      ,DBA_OBJECTS T3
 WHERE T1.SESSION_ID = T2.SID
   AND T1.OBJECT_ID = T3.OBJECT_ID
 ORDER BY T2.LOGON_TIME DESC


Lucky 2010-10-22 12:04 发表评论
]]>
Oracle中查看死锁表信息语句http://m.tkk7.com/lucky/archive/2010/10/21/335812.htmlLuckyLuckyThu, 21 Oct 2010 11:01:00 GMThttp://m.tkk7.com/lucky/archive/2010/10/21/335812.htmlhttp://m.tkk7.com/lucky/comments/335812.htmlhttp://m.tkk7.com/lucky/archive/2010/10/21/335812.html#Feedback0http://m.tkk7.com/lucky/comments/commentRss/335812.htmlhttp://m.tkk7.com/lucky/services/trackbacks/335812.html

SELECT   bs.username "Blocking User", bs.username "DB User",
         ws.username "Waiting User", bs.SID "SID", ws.SID "WSID",
         bs.serial# "Serial#", bs.sql_address "address",
         bs.sql_hash_value "Sql hash", bs.program "Blocking App",
         ws.program "Waiting App", bs.machine "Blocking Machine",
         ws.machine "Waiting Machine", bs.osuser "Blocking OS User",
         ws.osuser "Waiting OS User", bs.serial# "Serial#",
         ws.serial# "WSerial#",

         DECODE (wk.TYPE,
                 'MR', 'Media Recovery',
                 'RT', 'Redo Thread',
                 'UN', 'USER Name',
                 'TX', 'Transaction',
                 'TM', 'DML',
                 'UL', 'PL/SQL USER LOCK',
                 'DX', 'Distributed Xaction',
                 'CF', 'Control FILE',
                 'IS', 'Instance State',
                 'FS', 'FILE SET',
                 'IR', 'Instance Recovery',
                 'ST', 'Disk SPACE Transaction',
                 'TS', 'Temp Segment',
                 'IV', 'Library Cache Invalidation', 
                 'LS', 'LOG START OR Switch',
                 'RW', 'ROW Wait',
                 'SQ', 'Sequence Number',
                 'TE', 'Extend TABLE',
                 'TT', 'Temp TABLE',
                 wk.TYPE ) lock_type,
         DECODE (hk.lmode,
                 0, 'None',
                 1, 'NULL',
                 2, 'ROW-S (SS)',
                 3, 'ROW-X (SX)',
                 4, 'SHARE', 
                 5, 'S/ROW-X (SSX)',
                 6, 'EXCLUSIVE',
                 TO_CHAR (hk.lmode)
                ) mode_held,
         DECODE (wk.request,
                 0, 'None',
                 1, 'NULL', 
                 2, 'ROW-S (SS)',
                 3, 'ROW-X (SX)',
                 4, 'SHARE', 
                 5, 'S/ROW-X (SSX)',
                 6, 'EXCLUSIVE',
                 TO_CHAR (wk.request)
                ) mode_requested,
         TO_CHAR (hk.id1) lock_id1, TO_CHAR (hk.id2) lock_id2,
         DECODE
            (hk.BLOCK,
             0, 'NOT Blocking',         /**//* Not blocking any other processes */
             1, 'Blocking',             /**//* This lock blocks other processes */
             2, 'Global',          /**//* This lock is global, so we can't tell */
             TO_CHAR (hk.BLOCK)
            ) blocking_others
    FROM v$lock hk, v$session bs, v$lock wk, v$session ws
   WHERE hk.BLOCK = 1
     AND hk.lmode != 0
     AND hk.lmode != 1
     AND wk.request != 0
     AND wk.TYPE(+) = hk.TYPE
     AND wk.id1(+) = hk.id1
     AND wk.id2(+) = hk.id2
     AND hk.SID = bs.SID(+)
     AND wk.SID = ws.SID(+)
     AND (bs.username IS NOT NULL)
     AND (bs.username <> 'SYSTEM')
     AND (bs.username <> 'SYS')
ORDER BY 1;

 

化版本的Q?/p>

SELECT   SID, DECODE (BLOCK, 0, 'NO', 'YES') blocker,
         DECODE (request, 0, 'NO', 'YES') waiter
    FROM v$lock
   WHERE request > 0 OR BLOCK > 0
ORDER BY BLOCK DESC;



Lucky 2010-10-21 19:01 发表评论
]]>
Oracle Sesion状况查询http://m.tkk7.com/lucky/archive/2010/03/01/314199.htmlLuckyLuckyMon, 01 Mar 2010 13:24:00 GMThttp://m.tkk7.com/lucky/archive/2010/03/01/314199.htmlhttp://m.tkk7.com/lucky/comments/314199.htmlhttp://m.tkk7.com/lucky/archive/2010/03/01/314199.html#Feedback0http://m.tkk7.com/lucky/comments/commentRss/314199.htmlhttp://m.tkk7.com/lucky/services/trackbacks/314199.html 2. connect sys/password@orcl as sysdba
3. select count(*) from v$sessionQ?br />     查看当前M话数
4.  select count(*) from v$processQ?br />   查看当前总进E数
5. spool d:/deadlock.txt
   死锁情况写入到文g
6. select * from v$locked_object;
   查询是否死锁
7. spool off
   只有执行q条语句,才能真正写入文g


Lucky 2010-03-01 21:24 发表评论
]]>
1z0-052j学习W记http://m.tkk7.com/lucky/archive/2009/04/01/263349.htmlLuckyLuckyWed, 01 Apr 2009 06:05:00 GMThttp://m.tkk7.com/lucky/archive/2009/04/01/263349.htmlhttp://m.tkk7.com/lucky/comments/263349.htmlhttp://m.tkk7.com/lucky/archive/2009/04/01/263349.html#Feedback0http://m.tkk7.com/lucky/comments/commentRss/263349.htmlhttp://m.tkk7.com/lucky/services/trackbacks/263349.html 下面的笔记是我在学习日文教材Q?0gQ时Qؓ了方便自p忆和理解而作的。由于主要是Z我自己学习,所以里面有
很多我已l知道的知识点,只是_略的写了一个纲要,q有是日文里面有比较多的片假名Q开始学习的时?我还不知道对应的
中文是什么意思,所以可能记得莫名其妙。当然其中还有有不少错误疏漏。不qM感觉Ҏ自己帮助比较大,当时我不能理解的
东西找{案转过来的几篇文章帮助我自q解了当时没有搞清楚的问题。如果能对大家有一点帮助的话,我将不胜荣幸。不q我的徏议是Q?br /> 准备考试的tx对照自己手上的教材从头到梳理一遍,认真的做好自qW记Q然后不懂的地方Q再自己d扄案?/span>
毕竟我的W记的重Ҏ我不理解和认为比较重要的地方?br /> 最后祝大家好运Q?br />
1.session里role有效无效
 set role r1 enable/disable;
2.SYSTEM,UNDO表领域的数据文g破损Q损q情况下,在数据库q入Mount的状态下恢复Q?br /> 3.可以对表指定一下权?br /> ALTER/DELETE/DEBUG/FLASHBACK/INDEX/INSERT/REFERENCES/SELECT/UPDATE
EXCEUTE指定?q程Q函敎ͼ包,?br /> READ/WRITE指定?目录的权?br /> 4. RETENTION GUARANTEE
事物commit后再undo_retention旉内,事物所使用的undo不能被重?br /> 5.使用SPFILEで管理数据库的时候,控制文gALTER SYSTEMQscope要指定ؓspfileQ重?br /> 后有效。控制文件可以ؓ1-8?br /> 6.REDO Logl和REDO Log成员情报取得、V$LOG
・REDO Log文g和状态的取得、V$LOGFILE
・achived log file名称和状态的取得、V$ARCHIVED_LOG
7.Data Pump Export
     ・DUMPFILE?.导出文g?默认为expdat.dmp)
     ・LOGFILE?..log文g指定(默认为、export.log)
     ・CONTENT?..导出对象指定(ALL/DATA_ONLY/METADATA_ONLY)
     ・PARALLEL?.q行?默认为?)
     ・PARFILE?..参数文g
8.默认的约束检?br /> 初期x(initially immediate).各DMLl了
x制約(not deferrable).......制约不gq?br />


W一?Oracle10g安装
1.最系l要?br /> RAMQ?12M      SwapQ?G           /tmp: 400M
Oracle安装盘Q?1.5G 事前定义Q?.5G
2. 取消安装前系l检?br /> runInstaller -igonerSysPreqs
3.OFAQOptimail Flexible ArchitectureQ用目?br /> Z避免效率低下
备䆾单化
多个oracle数据间切换简?br /> 数据库扩?br /> 片和资源整合最化
4.环境变量
ORACLE_BASEQ?OFA用的根目?br /> ORACLE_HOMEQOracle软g目录
ORACLE_SIDQOracle实例?br /> NLS_LANGQ语aQ地?br /> 5.数据库预安装4个用P
     SYSQSYSTEMQSYSMANQDBSNMP

W二?Oracle数据库作?br /> 1.数据库组?br /> 控制文g
数据文g
REDO日志文g
初始化文?br /> 密码文gQSYS的密码管理文件。从q端使用数据库时
archived REDO日志文g
2.控制文gQ记录数据库和REDO日志文g的位|和名称Q记录在初始化参数文件的CONTROL_FILES参数?br /> 3.REDO日志文gQ?br /> 4.表领域和数据文g
5.SMILLFILE表领域可以包含多个数据文Ӟ非常大(40亿块Q的单一数据文gBIGFILE表领域可以作成?br /> 6.实例QSGA和后台进E?br /> 7.SGA
DBCache
REDO日志文g
共有Pool
large Pool
JAVA Pool
Stream Pool
8.后台q程
SMON
PMON
DBWn
LGWR
CKPT
ARCnQREDO日志慢了以后LogSwitch QREDO日志文g拯到archive领域?br /> 9.数据库启?br /> startup [pfile=PFILE名][nomount | mount | open]
如果pfile省略Q这从下面开始读取初始化参数Q?br /> spfileSID.ora
spfile.ora
initSID.ora
默认?startup 不带参数的话Q按open
各状态下加蝲的文件和可以q行的操作:
NOMOUNT:d期化参数QSGAQ后台进E启动,log文g和trace文g打开。可以做成数据库和再作成控制文g
MOUNTQ读控制文g。可以进行的操作Q文件名变更Q在UREDO日志的archived的有?无效化设定,数据库的整体回复
OPENQSMON执行
10.Alert日志文g
alert日志文gQBACKGROUND_DUMP_DUST初期化参数的目录Qalert_SID.log文g
内部错误(ORA-600),块破损错?ORA-1578)Q死锁错?ORA-60)
DDL
数据库启?停止
数据库recover操作
共有服务器的Qdipatchedq程的消息和错误
11.数据库停?br /> shutdown [normal | transactional | immediate | abort]
W五?|络环境构成
1.静态服务登录:listener.ora
2.动态服务登录:ORACLE服务器LOCAL_LISTENER指定的监听器QINSTANCE_NAME和SERVICE_NAME初始化参数指定的值登录?br /> 3.命名方式的用:sqlnet.ora文g的NAMES.DIRECTORY_PATH参数指定
4.默认的域名:sqlnet.ora文g的NAMES.DEFAULT_DOMAIN参数指定
5.接线时的FAIL OVER
load balance
fail over
6.TNSPing 服务?[回数]

W六?共有服务器构?br /> 1.SGAQPGAQUGAQcursor领域Qsession领域Q?br /> 2.UGA领域Q如果是在专用服务器模式?从PGA里得刎ͼ如果是共有则从SGA中得?br /> 3.共有服务器初始化参数
DISPATCHERSQdispatch?br /> MAX_DISPATCHERSQ最大dispatch?br /> SHARED_SERVERS:共有服务器数
MAX_SHARED_SERVERS:最大共有服务器?br /> LOCAL_LISTENER:
4.共有服务器确认:
lsnrctl services
5.共有服务器接U确认:
V$SESSION视图专用[DEDICATED]共有是[NONE]或者[SHARED]
V$CIRCUIT视图只显C共有服务器接线相关的情?br /> 6.共有服务器的监视视图
v$session
v$circuit
v$shared_server
v$shared_server_monitor
v$dispatcher
v$QUEUE


W七?用户理
1.创徏用户

CREATE USER 用户?br /> IDENTIFIED {BY 用户?nbsp; |  EXTERNALLY  | GLOBALLY AS '外部?}
[PASSWORD EXPIRE]
[DEFAULT TABLESPACE 表领域名]
[TEMPORARY TABLESPACE 临时表名]
[QUOTA {大小 | UNLIMITED} ON 表领域名]
[ACCOUNT {LOCK | UNLOCK}]
[PROFILE profile名]

1)认证方式
密码认证
EXTERNALLY(OS 认证)
       用户?OS_AUTHENT_PREFIX初始化参数指定前~Q比?OS_AUTHENT_PREFIX=OPS$,创徏用户
       create user ops$oracle ideneified EXTERNALLy;
   3)GLOBALLY
      Oracle Advanced Security可选认证方式,指纹认证QX.509证明?..
如果没有指定表领域,则用默认的表领域?br /> 临时表领域:用于SQL相关的ORDER BY和GROUP BY指定Q内部sort用?br />     数据库表U别定义内容Q可以从 DATABASE_PROPERTIES数据字典视图索?br />
PROFILE
数据库用率
对于实例的用限?br /> 密码理
  参数                说明
SESSIONS_PER_USER  用户使用同时session?br /> CPU_PER_SESSION   1个session的CPU旉
CPU_PER_CALL         1个call的CPU旉
CONNECT_TIME        每session的连接时?br /> IDLE_TIME                sessionq接最镉K|时?br /> LOGICAL_READS_PER_SECOND
LOGICAL_READS_PER_CALL
PRIVATE_SGA
COMPOSITE_LIMIT
2.权限
pȝ权限
    GRANT pȝ权限 TO 用户?| PUBLIC [,] [WITH ADMIN OPTION];
   UNLIMITED TABLESPACE 用户可以使用所有的表领?包括SYSTEM和SYSAUX?
   2)对象权限
    GRANT 对象权限?| ALL ON 对象?TO 用户?|  [WITH GRANT OPTION];
3.角色 ROLE
   事前定义的角色中Q可以访问数据字典视囄 SELECT_CATALOG_ROLEQ包含了 SELECT ANY DICTIONARY的系l权?br /> 4. 角色作成
CREATE ROLE角色?br />   IDENTIFIED {BY 用户?nbsp; |  EXTERNALLY  | GLOBALLY AS '外部?}
5. 默认角色的定?讄用户的默认角?br />   ALTER USER 用户?DEFAULT ROLE 角色?br /> 6.Ȁz角?br />    SET ROLE 角色?IDENTIFIED BU 密码
7.应用角色Q只适用于特定的PL/SQL
CREATE ROLE 角色?IDENTIFIED USING 存储q程?br />

W八?数据库的安全
数据库安?br /> 1.权限最化原则实践
默认用户帐号理
理权限的限?br /> 权限(pȝ权限和对象权?的赋予权?br /> DROP ANY TABLE权限以及其他的管理员权限
DBA权限
SYSDBAQSYSOPER权限
hDBA权限的用?br /> SQL> select grantee from dba_role_privs  where granted_role='DBA';
hSYSDBAQSYSOPER权限的用?br /> SQL>select * from v$pwfile_users;
2.数据字典的保?br /> 07_DICTIONARY_ACCESSIBILITY=FALSE
使用GRANT命oQ只赋予必须的用户具有访问数据字典的权限
SELECT ANY DICTIONARYpȝ权限Q可以访问所有的数据字典
3.PUBLIC 用户的权?br /> UTL_SMTP :使用数据库SMTP邮g服务器,可以发送Q意信?br /> UTL_TCP:
UTL_HTTP:
UTL_FILE:
DBMS_OBFUSCATION_TOOLKIT: 数据加密
4.OS目录讉K的权?br /> 使用UTL_FILE_DIR初始化参敎ͼPL/SQL对于操作pȝ目录能进行设定。默认,能够讉K目录?br /> 5.操作pȝ认证的无效化
REMOTE_OS_AUTHENT=FALSE
6.标准密码安全技能的实现
FAILED_LOGIN_ATTEMPTS: 最多登录失败次?br /> PASSWORD_LOCK_TIME:过p|ơ数后,账户锁定的天??
PASSWORD_LIFE_TIME:密码的有效期?br /> PASSWORD_GRACE_TIME:密码变更的期?br /> PASSWORD_REUSE_TIME:密码可再使用的天??
PASSWORD_REUSE_MAX:最多可重用的回?br /> PASSWORD_VERIFY_FUNCTION:密码复杂性评LPL/SQL函数?ORACLE_HOME/rdbms/admin/utlpwdmg.sql脚本来作?br /> 7.数据库活动的审查
8.数据库审?br /> 初始化参?AUDIT_TRAILQ审查结果的保存的位|?br /> NONEQ?审查无效
DB:  审查l果保存到数据库
OSQ?审查l果保存到系l文件上
AUDIT_FILE_DESTQ目录指?br /> 审查Q?SQL审查Q系l权限,对象权限Qsession审查?br /> 首先QSQL审查QCREATE TABLEQDROP TABLEQTRUNCATE TABLE?br /> SESSION审查Q用户名成功Q失败,q接到实例。保?br />   q接的时?br /> 切断的时?br /> 处理理论 I/O
处理的物理I/O
审查option的表C?br /> ALL_DEF_AUDIT_OPTS:默认审查
DBA_STMT_AUDIT_OPTS:sql审查
DBA_PRIV_AUDIT_OPTS:权限审查
DBA_OBJ_AUDIT_OPTS:schema对象权限审查
-: 不审?br /> S: session别的审查
A:Accesscȝ审查
9.审查l果的表C?br /> DBA_AUDIT_TRAIL:所有审查实体的认
DBA_AUDIT_EXISTS:AUDIT EXISTS/AUDIT NOEXISTS记录的确?br /> DBA_AUDIT_OBJECT:对象相关的确?br /> DBA_AUDIT_SESSION:Session相关记录的确?br /> DBA_AUDIT_STATEMENT:SQL相关的确?br /> 10.Z值的审查Q用trig
11.FGA
DBMS_FGA审查{略
FGA{略QDBMS_FGA.ADD_POLICY
DBMS_FGA.ENABLE_POLICY,DBMS_FGA.DISABLE_POLICY
已经存在的策略再q加Q就会发生错?br /> SQL审查
所有的SQL审查Q用NULL条g
审查条g没有效的情况下,讉K审查对象会发生错?br /> 事g处理不存在的情况下,只做成记?br /> FGA审查实体
DBA_FGA_AUDIT_TRAIL:所有FGA事g认
ALL_AUDIT_POLICIES:现在用户能够讉K的所有FGA{略
DBA_AUDIT_POLICIES:数据库内的所有FGA{略
USER_AUDIT_POLICIES:用户对象的所有FGA{略
AUDIT_SYS_OPERATIONS
W九?SCHEMA对象理
1.同一SHCEMA内不能同?br /> ?br /> 视图

private别名
存储q程
存储函数
?br /> 用户定义cd
做成主键Ӟ默认生成和主键同名的索引?br /> 2.PL/SQL
build-in Package
DBMS_STATS: 优化l计的收集,表示和变?br /> DBMS_TTS:transport表领域的?br /> DBMS_WORKLOAD_REPOSITORY:ADDM?br /> DBMS_SESSION:使用PL/SQL来只能够ALTER SESSION或者SET
DBMS_RESOURCE_MANAGER:资源的管?br /> 3.PL/SQL性能控制的初始化函数
PLSQL_CODE_TYPE:是编译好的二q制文gq是原始文g
PLSQL_DEBUG:是否可以调试Q默认是?br /> PLSQL_OPTIMIZE_LEVEL:[1]~译优化Q代码量?[2]q行时优化,代码量小 默认?
PLSQL_WARNINGS:有两个参?W一个是是否产生警告Q第二个是警告的范围
ALL:所?br /> SERVER:重大
INFORMATIONAL:情报
PERFORMANCE:performance
W十?数据理
1.Data Dump
导出的单?br /> 数据?但是不包含SYS,ORDSYS,ORDPLUGINSQCTXSYSQMDSYSQLABCSYS和XDB{系lshecma
schema:
表:特定的表Q区域以及关联的Ҏ导出?br /> 数据库,自己以外的schema以及表导出,需要具有EXP_FULL_DATABASE角色?br /> 2. SQL*LoaderQ外部文件数据,导入数据库表中?br /> 数据文g: 固定记录形式Q可变记录Ş式,Stream记录形式
控制文g:数据索位|,数据的解释方法,数据的插入位|,导入必须的信息保存文?br /> 日志文g:导入件数以及导入q程中发生错误的记录文g
不良文g:因ؓ错误而没有被导入数据库的数据记录
废弃文g:错位以外的原因而没有被导入的记录保存文?br /> 3.Stream形式的情?br /> INFILE ‘数据文g?#8217; ["str {char文字?| 16q文字}"]
4.命o行sqlldr key=?br /> userid:Oracle的用户名Q密?br /> control:控制文g?br /> log:日志文g?br /> bad:不良文g?br /> data:数据文g?br /> discard:废弃文g?br /> discardmax:最大允许的废弃文g?br /> skip:skip的理论数据数
load:导入的理论数据数
errors:允许的最大错误数
rows:
bindsize:
silent:执行中不昄信息
direct:directpath是哟?br /> parfile:参数文g
parallel:q行处理(默认false)
file:扩展文g
4.导入的方?br /> 从来型:是按照正常的SQL INSERT 然后提交
直接Q通过全数据库块上写入数据库,在最高水位开始写入数据,事务q没有结束,索引也没有更新?br />    区别
     从来型:常常是生成REDO实体Q所有的制约施行QInsert trig启动Q可以导入到clust表,别的用户表更新可?br />     直接QNOARCHIVELOG 模式下不生成REDO实体Q只有NOT NULLQUNIQUEQ主键实行,insert trig不执行,不能操作别的用户的表

W?1?记忆域构?br /> 1.理论构?br />   表领域:1个数据库可以包含多个表领域,可以作ؓ备䆾的管理单?br /> segment
extend
data block:DB_BLOCK_SIZE初始化参数设定,可以?Q?Q?Q?6Q?2kb
2.LOCAL 理表领域的优点
不是再归的管理操?br /> 因ؓ不用操作数据字典Q可以不用同其他操作来竞争资?br /> 不用q行I的extend的碎片整?br /> 不用讑֮extend和segment的大?br /> segment map的变更不用生成UNDO数据
3.LOCAL理表领域的extend分割Ҏ
自动(AUTOALLOCATE):ORACLE服务器自动管理extend的大,用户不需要进行设?br /> 均一(UNIFORM) :表领域的extend大小Q用h定的大小l一使用Q默认是1MB。TEMP表领域通常是,均已QUNDO则不是均一
4. 自动segment领域理Q下面segment属性自动调_行的插入可能的数据块的管理功?br /> PCTUSED
FREELISTS
FREELISTS GROUP
自动segment理Q在表领域上q行指定?br /> 5.表领域的cd
PARMANENT(永箋)
UNDO
TEMPORARY(临时)
6.表领域的作成
CREATE [SMALLFILE | BIGFILE] TABLESPACE 表领域名
DATAFILE '数据文g? SIZE {大小{k | M} | REUSE}
[AUTOEXTEND {OFF | ON} [NEXT 大小{K | M}]]
[MAXSIZE {UNLIMITED | 大小{K | M}}]
[,'数据文g? SIZE {大小{k | M} | REUSE}...]
[BLOCKSIZE 大小[K]]
[EXTENT MANAGEMENT {DICTIONARY | LOCAL
{AUTOALLOCATE | UNIFORM [SIZE 大小[k | m]]}}]
[ONLINE | OFFLINE]
[SEGMENT SPACE MANAGEMENT {MANUAL | AUTO}]
[LOGGING | NOLOGGING];
7.表领域的变更
表领域可以进行下面的变更Q?br /> 表领域名
状态的变更Q只读,?写,offlineQ?br /> 大小的变?数据文g的追加,数据文g大小的自动扩?
logging无效?br /> 讑֮值的变更
ALTER TABLESPACE 表领域名
{RENAME 表领域名
| READ{WRITE | ONLY}}
|{ONLINE | OFFLINE [NORMAL | TEMPORARY | IMMEDIATE]}
|ADD DATAFILE '数据文g' SIZE 大小[K |  M]
|{LOGGING | NOLOGGING}
如果要设定正使用的数据文件自增,则用下面的SQL
ALTER DATABASE [数据库名]
DATAFILE '数据文g?
{RESIZE SIZE 大小[K | M]}
| AUTOEXTEND [OFF | ON[NEXT  大小[K | M]]]
MAXSIZE 大小[K | M]]};
8.OFFLINE
标准Q生CKPTQ如果再ONLINE的时候不需要media recovery?br /> 临时Q生CKPT Q如果再ONLINE的时候需要media recovery
IMMEDIATE: 产生CKPT Q如果再ONLINE的时候需要media recovery
9.表领域和数据文g信息的相兌?br /> 表领域情报: DBA_TABLESPACEQV$TABLESPACE
数据文g情报QDBA_DATA_FILESQV$DATAFILE
10.表领域的删除
   DROP TABLESPACE 表领?br />   [INCLUDING CONTENTS [AND DATAFILES]
  [CASCADE CONSTRAINTS]];
hzd的segment的表领域不能删除Qinclude句指删除表领域中包含的所有segmentQ如果不包含q句Q这非空的表领域不能被删除,
CASCADE句关联的 制约删除?br /> SYSTEM表领域不能被删除QSYSAUX只能SYSDBA在MIGRATE模式下爱被删除?br />

W?2?UNDO理
1.UNDO数据和UNDO Segment
事务的回?br /> d一致?br /> 实例的recovery
falshback
2.UNDO数据和事?br /> 1个UNDO Segment可以处理多个事务QINSERT的时候,保存ROWID
3.UNDO理构成
自动UNDO理的概?br /> CREATE UNDO TABLESPACE 表领?br /> DATAFILE '数据文g? SIZE 大小
[AUTOEXTEND ON [NEXT 增加的大]]
[MAXSIZE UNLIMITED | 最大大]
UNDO表领域,下面的特?br /> LOCAL理表领?br /> 自动extend理
UNDO segment 专用
4.自动UNDO理的设?br /> 自动UNDO理相关的初期化参数
UNDO_MANAGEMENTQ?自动UNDO理的时候设为[AUTO],默认为[MANUAL]Q手动UNDO理
UNDO_TABLSPACEQ?现在的ORACLE实例的活动UNDO表领?br /> 5.UNDO保存QUNDO数据用于事务的回滚,也可以用FLASHBACK
UNDO_RETENTIONQ?默认900U?br /> 6.UNDO保存的保?br /> ALTERTABLESPACE 表领域名 RETENTION GUARNTEEQ?br /> DBA_TABLESPACES视图可以认RETENTION列;
如果对于非UNOD表领域实行RETENTION GUARNTEEQ则会出现错误?br /> 7.UNDO数据兌的错?br /> [ORA-01555:snapshot太旧]回避的方?br /> UNDO保存期间的调?br /> UNDO表领域大的调整
UNDO保存的保证用UNDO保存期间被复写的完全防止可能
8.UNDO ADVISE
    UNDO ADVISE使用认内容
UNDO数据保存必须的表领域大小
扩张可能的UNDO表领域的最大大?br /> 现在的UNDO表领域可能保存的期间


W?3?备䆾以及复原的基本知?br /> 1.数据库关联的障害
文障宻I数据库操作时的SQL语句p|
用户q程障害Q应用程序异常结束,用户session强制l了
|络障害Q不能连接listenerQ不能进行网l接U?br /> 用户错误Q数据库操作正常Q但是系l操作不正常Q表的删?错误的数据操作)
实例障害Q内存障宻IOS障害QOracle实例被强制停?br /> 媒体障害QOracle数据库文件的一部分损失Q文件删除硬盘破损等Q?br /> 2.文障害的解决
无效的数据入力(ORA-01722Q数值无效) 查SQL语句Q确?数据
权限不QORA-01031Q权限不IQ应该赋予适当的系l权限或者对象权?br /> 领域不Q赋予用戯够的表领?br /> ORA-01653Q表SCOTT.TEST不能q行扩张
ORA-01658Q表领域TS01的segment不能作成INITAL的extend
4)应用的逻辑错误Q计结果)Q确认程序逻辑正确
3.用户q程障害解决QPMON对应
4.|络障害
listener接线错误QORA-12541Q没有listenerQ?Q?构徏多个listenerQ客L的配|failover=true
|络接口错误QORA-12154Q指定的接线识别子不能解冻IQ复数接U子配置Qƈ认g
5.用户错误
误删表(DROP TABLEQ:从垃圄q原Qflashback dropQ?br /> 误删表(truncate tableQ:flashbak databaseQ执行表领域的point-in-point的恢?br /> 误提交(COMMITQUPDATEQDELETE操作Q?如果UNDO表中D留有数据的话,flashback tableQ如果UNDO表中不存在数据的话,
                                                                     使用LogminerQ查找REDOLOG实体
  事前行移动有效化必要?br /> 6.实例障害QSMONQ自己恢?br /> 7.媒体错误解决Q基本就是从BACKUP文g恢复Q然后用REDO日志q行recover处理
q_障害间隔QMTBFQMean TIme Between FailuerQ?br /> q_修复旉QMTTRQMean Time To RepairQ?br /> 8.实例恢复构成
CheckPoint
 SCNQSystem Change NumberQ:事务提交时的~号。Oracle用SCN来区分事务?br /> DBWn向数据文件写变更的数据块
CKPT向控制文件更新新的CheckPoint~号
CKPT向数据文件更新新的CheckPoint~号
    CheckPoint的发生时机:
Log Switch
理员的指定QALTER SYSTEM CHECKPOINTQ?br />  表领域Offline
数据库停?br /> 9.实例回复Q当实例重启后,SMON会比较控制文件和数据文g的SCNQ来判断从什么地方开始实例回?br /> 实例回复Q只能回复到最后一ơ事务提交的状态(最后的SCNP
实例回复Q用REDO日志文gQ进行Roll FowardQ然后Roll Back
       初始化参敎ͼFAST_START_MTTR_TARGETQOracle服务器调整CheckPoint的频度,q个旉短Q实例回复的
       旉短Q但是^凡的写数据文件会D数据库文件效率低下,所以应该调整ؓ合适的倹{?br /> 10.要实例回复旉短:
FAST_START_MTTR_TARGET:D?br /> REDO日志文gQ文件大越?br /> 11.ARCHIVELOG初始化参?br /> LOG_ARCHIVE_DEST_1~LOG_ARCHIVE_DEST_10QAchive LOG日志文g保存的位|,最?0个,可以为本地磁盘或者是|络服务?br /> LOG_ARCHIVE_FORMATQArchive LOG日志文g名的格式
ARCHIVELOG模式切换QALTER DATABASE ARCHIVELOGQ在MOUNT的时候进?br /> 12. LOGGING和NOLOGGING
NOLOGGINGQ不生成REDO日志实体
表领域,SegmentU别指定

下面的命令可以指定ؓNOLOGGING
CREATE TABLE ... AS SELECT
CREATE INDEX...
ALTER INDEX...REBUILD


W?4?数据库备?br /> 1.一致性备份:要点Q数据库要暂时停止。用[SHUTDOWN ABORT]以外的命令让数据库停止,在停止前产生CKPT?br /> 数据库停?br /> 所有的REDO日志适用
恢复后就可以正常使用
2.非一致性备?br /> NOARCHIVELOG模式下只能进行一致性备?br /> ARCHIVELOG可以q行一致性备份或者非一致性备?br /> RMAN备䆾可以在MOUNT或者OPEN下进行?br /> 3.backup-set image-copy区别
backupset可以拯到硬盘或者磁带,image-copy只能拯到硬盘中
backupset可以包含复数的文Ӟimage-copy只能拯1个文?br /> backupset不包含未使用的数据块Qimage-copy包含未用的数据?br /> backupset能够只备份从最后一ơ备份开始的数据Qimage-copy则不可能
backupset q行restore旉要抽出需要的文gQimage-copy则不需?br /> 4.整体备䆾和增量备?br /> 5.flashrecover领域理
DB_RECOVERY_FILE_DEST:flash Recove领域场所的指?br /> DB_RECOVERY_FILE_DEST_SIZE:flash RECOVEY领域最大的大小
flash Recovery领域QarchiveRDDO日志文gQ备份文Ӟflashback日志保存的领?br /> Flash Recovery领域大小Q推荐能够保存备份文Ӟ包含增分备䆾文gQ,ArchiveREDO日志Q?个数据库文gQflashback日志Q的大小
6.控制文g的trace的备?br /> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;q个命o的结果,保存到初始化参数USER_DUMP_DEST指定的文件目录。保存生成控制文件的SQL语句?br /> 7.RMAN 基本命o
CATALOGQ用L理的备䆾信息Q登录到RMANrepository?br /> DELETE:RMANrepository里备份信息和OS理的备份文仉被删?br /> CROSSCHECK:RMAN保存的信息和OS理的备份文件进行整合确?br /> CHANGEQ切换UNAVAILABLE和AVAILABLE状态,只改变RMAN的情?br />
W?5?数据库恢?br /> 1.发生下面的情况下数据库会停止
控制文g的损?br /> SYSTEM表领域,zd的UNDO表领域数据文件被破坏
REDO日志Group里的所有REDO日志成员被破?br /> 2.数据文goffline的方法(ALTERDATABASE DATAFILE... OFFLINEQ,ARCHIVELOG模式?br /> NOARCHIVELOG模式Q(ALTER DATABASE DATAFILE... OFFLINE DROPQ?br /> 临时表领域的临时文g有故障的话,表领域的数据文goffline的情况下数据库可以OPEN
SYSTEM表领域,zd的UNDO表领域不能OFFLINE
3.从控制文件故障恢?br />  所有控制文仉损坏的情况下的恢复:
从备份控制文件复原,然后使用recover命o  使用RESETLOGS语句来OPEN
控制文g的再作成
4.从控制文件开始恢复,控制文g再作成是只有在NOMOUNTq行
5.REDO日志文g故障开始恢?br /> 如果只是一部分REDO日志成员发生障害的,数据库OPEN可以q行
如果所有的REDO日志发生障害的话Q数据库不能OPEN
6.ArchiveLOG日志文g作成后,不需要回复,直接使用下面的命令再作成
    ALTER DATABASE CLEAR LOGFILEGROUP l号
    ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP l号
REDO日志l消?br /> CHECKPOINT和ARCHIVEREDO日志作成完之后,REDO日志l?br /> 不作成ARCHIVEREDO日志文g的话[UNARCHIVED]句需?br /> 7.数据文g故障开始恢?br /> NOARCHIVELOG模式时的recovery的手?br /> 停止ORACLE服务?br /> 从数据库全体备䆾中恢?br /> 数据库OPEN
ARCHIVELOG模式
W?6?锁竞合的Z及解x?br /> 1.DML?br /> 行锁Q排他)
表锁Q共有)
2.DML共有表所Q竞合DDL防止
3.手动行锁
SELECT ... FOR UPDATE NOWAIT | WAIT 数秒
4.手动表锁
LOCK TABLE 表名 IN 锁定模式?MODE [NOWAIT]
ROW SHAREQSELECT...FOR UPDATEQ?br /> ROW EXCLUSIVE:DMLQINSERT,UPDATEQDELETEQ?br /> EXCLUSIVEQDDL
エンキュヹ{カニズム
5.锁竞合发生的场合Q?br /> 变更没有提交
事务长时间的场合
不必要的高锁U别
6.死锁
如果出死锁,Oracle服务器会自动回滚解决死锁?br /> 死锁发生的时候,警告日志QBACKGROUND_DUMP_DEST初始化参敎ͼQ警告日志记录的
用户trece文gQUSER_DUMP_DEST初期化参数指定)
7.死锁的详l情报,USER_DUMP_DEST初始化参数指定的目录文g里确认?br /> 8.V$LOCK视图QV$LOCKED_OBJECT视图
9.ALTER SYSTEM KILL SESSION 'SID列|SERIAL#列?

W?7?性能监视
1.性能问题对应
数据字典视图Q领域相?br /> 动态性能视图QV$DATABASEQV$INSTANCEQ:内存使用量,待机旉按,实例的活?br /> 2.个别的matric情报面包含
  最新已知?br /> q_?br /> 上限|下限?br /> 3.EM中性能늚内容
host
sessionQ待机和实行?br /> 实例
4.如果REDO日志buffer待机旉多发的情况下
把REDO日志文g配置在能够高速操作的盘?br /> REDO日志buffer的话,增加 大小
5.数据文g的硬盘I/O集中的话可以考虑下面的方?br /> RAID
ASM
6.表优化统计DBA_TABLES
NUM_ROWSQ表保存的行?br /> BLOCKS;行保存的block?br /> AVG_ROW_LEN:q_行长?br /> LAST_ANALYZEDQ最后分析的日时
NUM_FREELIST_BLOCKSQ空list里面的块?br /> CHAIN_CNTQ移行连锁的行数
7.索引的统?br /> BLEVEL:
LEAF_BLOCKS:
DISTINCT_KEYS:
AVG_LEAF_BLOCKS_PER_KEY:
AVG_DATA_BLOCKS_PER_KEYS:
CLUSTERING_FACTOR
NuM_ROWS
8.优化l计相关
优化l计在收集时也是变化?br /> Oracle服务器再启动也不变化
   表中行数据频J更新的话,应该考虑手动来进行统计分?br />     对于大规模表Q进行预的l计攉更适合
     使用DBMS_STATS包进行统计收?br /> 9. 无效对象的troubleshooting
  PL/SQL对象的有效性可以通过数据字典DBA_OBJECT视图的STATUS列来认
无效的PL/SQL再编?br /> 下回需要运行PL/SQL时自动编?br /> 使用ALTER .. COMPILE来手动编?br /> ALTER FUNCTION 函数?COMPILE
ALTER PROCEDURE 存储q程名COMPILE
9.索引的再构筑
如果使用ALTER TABLE...MOVE命oQ烦引将无效Q这是因为ROWID发生改变。可以查看数据字典的DBA_INDEXES视图的STATUS?br /> 来确认?br /> 再构{?br /> ALTER INDEX 索引?REBUILD [ONLINE] [TABLESPACE 表领域名]
如果使用ONLINE再构{中DML可能?br /> 再构{中需?倍的领域?br /> W?8?预防性维?br /> 1.服务器生成的警告分两个阶D?br /> 警告
危机
2.Z来q行性能比较Q需要指定一个基U?br /> 3.自动workloasrepositoryQAWRQ:性能相关的情报保存的地方
快照QsnapshotQ保?br /> MMONQManageability MonitorQ默?0分钟1ơ,保存7?br /> SYSAUX表领域保?br /> SYS schema
SYSAUX表领?br /> 4.AWR理
Zq行快照手机Q初始化参数STATISTICS_LEVEL可以讄为[TYPICAL]或者[ALL],如果q个参数
为[BASIC]的话Q不能进行快照收?br /> 5.删除快照的方?br /> 手动page
调整snapshot的保存期?br /> 6.Zq行Ҏ需要作成[保存snapshot set]
7.诊断adviseQadvise的种c?br /> ADDMQ对于数据库整体q行分析
SQL tuning advise:对SQL语句q行优化
SQL Access adviseQ对workloadq行分析Q烦引的q加
memory advise:
segment advise:
undo advise:
MTTR advise:现在预计的^均回复时_
8.segment~小
ALTER TABLE ... SHRINK SPACE
local理表领?br /> 行管理有效(ALTER TABLE ... ENABLE ROW MOVEMENTQ?br /> 9.SQL Tunning Set
Snapshot
保存snapshot set
10.自动共有内存理
 1QSGA_TARGETQ最大SGA大小SGA_MAX_SIZE指定?br /> 11.ADDM 在两个snapshot之间q行分析Q分析结果,保存在AWR中?br />

Lucky 2009-04-01 14:05 发表评论
]]>
创徏表空?/title><link>http://m.tkk7.com/lucky/archive/2008/11/12/240067.html</link><dc:creator>Lucky</dc:creator><author>Lucky</author><pubDate>Wed, 12 Nov 2008 05:15:00 GMT</pubDate><guid>http://m.tkk7.com/lucky/archive/2008/11/12/240067.html</guid><wfw:comment>http://m.tkk7.com/lucky/comments/240067.html</wfw:comment><comments>http://m.tkk7.com/lucky/archive/2008/11/12/240067.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/lucky/comments/commentRss/240067.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/lucky/services/trackbacks/240067.html</trackback:ping><description><![CDATA[sqlplus /nolog<br /> connect system/password@orcl as sysdba<br /> <br /> ①テヹ{ルスペーわV作成<br /> CREATE TABLESPACE "USR_DB"<br /> LOGGING<br /> DATAFILE 'C:\oracle\oradata\orcl\USR_DB.ora' SIZE 100M REUSE<br /> AUTOEXTEND<br /> ON NEXT 10M MAXSIZE UNLIMITED DEFAULT<br /> STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS<br /> UNLIMITED PCTINCREASE 0 );<br /> <br /> ②一時表領域の作?br /> CREATE TEMPORARY TABLESPACE USR_DB_TEMP<br /> TEMPFILE 'C:\oracle\oradata\orcl\USR_DB_TEMP.ora' SIZE 100M<br /> AUTOEXTEND ON<br /> ;<br /> <br /> ③ユヹ{の作?br /> CREATE USER "USR_DB" PROFILE "DEFAULT" IDENTIFIED BY "PASSWORD"<br /> DEFAULT<br /> TABLESPACE "USR_DB" TEMPORARY<br /> TABLESPACE "USR_DB_TEMP" ACCOUNT UNLOCK;<br /> GRANT UNLIMITED TABLESPACE TO "USR_DB";<br /> GRANT SELECT ON "SYS"."V_$SESSION" TO "USR_DB";<br /> GRANT "CONNECT" TO "USR_DB";<br /> GRANT "RESOURCE" TO "USR_DB";<br /> <br /> ④デヹ{ベーわVエクわVヹ{(バッチファイ?<br /> @echo OFF<br /> for /F "tokens=1-3 delims=/ " %%a in ('date /t') do SET DT=%%a%%b%%c<br /> for /F "tokens=1-2 delims=: " %%a in ('time /t') do SET TM=%%a%%b<br /> <br /> exp system/password@orcl owner=matrix_dev buffer=1000000 file=usr\%DT%%TM%_usr_dev.dmp log=usr\%DT%%TM%_usr_devlog<br /> <br /> ⑤デヹ{ベーわVインポー?br /> imp system/password@orcl fromuser=usr_dev touser=USR_DB buffer=10000000 file=C:\TLT\DB\200908170115_usr_dev.dmp <img src ="http://m.tkk7.com/lucky/aggbug/240067.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/lucky/" target="_blank">Lucky</a> 2008-11-12 13:15 <a href="http://m.tkk7.com/lucky/archive/2008/11/12/240067.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle DDLhttp://m.tkk7.com/lucky/archive/2008/11/12/240066.htmlLuckyLuckyWed, 12 Nov 2008 05:14:00 GMThttp://m.tkk7.com/lucky/archive/2008/11/12/240066.htmlhttp://m.tkk7.com/lucky/comments/240066.htmlhttp://m.tkk7.com/lucky/archive/2008/11/12/240066.html#Feedback0http://m.tkk7.com/lucky/comments/commentRss/240066.htmlhttp://m.tkk7.com/lucky/services/trackbacks/240066.html
-- ================================================================================
-- oracle SQL DDL Script File
-- ================================================================================


-- ===============================================================================
--
-- Generated by: tedia2sql -- v1.2.13b2
-- See http://tedia2sql.tigris.org/AUTHORS.html for tedia2sql author information
--
-- Target Database: oracle
-- Generated at: Sat Dec 18 19:48:40 2004
-- Input Files: TestERD.dia
--
-- ================================================================================



-- Generated SQL Constraints Drop statements
-- --------------------------------------------------------------------
-- Target Database: oracle
-- SQL Generator: tedia2sql -- v1.2.13b2
-- Generated at: Sat Dec 18 19:48:32 2004
-- Input Files: TestERD.dia

drop index idx_iimd5;
drop index idx_iiid;
drop index idx_siiid;
drop index idx_siips;
drop index idx_iclidnm;
drop index idx_uinm;
drop index idx_uiid;
drop index idx_uauiid;
drop index idx_uiruid;
drop index idx_acid;
drop index idx_usmd5;
alter table subImageInfo drop constraint fk_iisii ;
alter table imageCategoryList drop constraint fk_iiicl ;
alter table imageAttribute drop constraint fk_iiia ;
alter table userImageRating drop constraint fk_uiuir ;
alter table userAttribute drop constraint fk_uiua ;
alter table userSession drop constraint fk_uius ;
alter table imageAttribute drop constraint fk_iaac ;
alter table userAttribute drop constraint fk_acua ;


-- Generated Permissions Drops
-- --------------------------------------------------------------------
-- Target Database: oracle
-- SQL Generator: tedia2sql -- v1.2.13b2
-- Generated at: Sat Dec 18 19:48:32 2004
-- Input Files: TestERD.dia

revoke all on imageInfo from fmorg ;
revoke select on imageInfo from public ;
revoke all on subImageInfo from fmorg ;
revoke all on imageCategoryList from fmorg ;
revoke select on categoryNames from public ;
revoke all on categoryNames from fmorg ;
revoke all on imageAttribute from fmorg ;
revoke all on userInfo from fmorg ;
revoke all on userAttribute from fmorg ;
revoke all on userImageRating from fmorg ;
revoke all on attributeCategory from fmorg ;
revoke all on userSession from fmorg ;
revoke select on extremes from public ;
revoke all on extremes from fmorg ;


-- Special statements for oracle,postgres,db2:pre databases
-- statements to do BEFORE creating
-- the tables (schema)
drop sequence imageInfo_id;
create sequence imageInfo_id;


-- Generated SQL View Drop Statements
-- --------------------------------------------------------------------
-- Target Database: oracle
-- SQL Generator: tedia2sql -- v1.2.13b2
-- Generated at: Sat Dec 18 19:48:32 2004
-- Input Files: TestERD.dia

drop view ratings_view cascade constraints ;
drop view whorated_view cascade constraints ;
drop view users_view cascade constraints ;


-- Generated SQL Schema Drop statements
-- --------------------------------------------------------------------
-- Target Database: oracle
-- SQL Generator: tedia2sql -- v1.2.13b2
-- Generated at: Sat Dec 18 19:48:32 2004
-- Input Files: TestERD.dia

drop table imageInfo cascade constraints ;
drop table subImageInfo cascade constraints ;
drop table imageCategoryList cascade constraints ;
drop table categoryNames cascade constraints ;
drop table imageAttribute cascade constraints ;
drop table userInfo cascade constraints ;
drop table userAttribute cascade constraints ;
drop table userImageRating cascade constraints ;
drop table attributeCategory cascade constraints ;
drop table userSession cascade constraints ;
drop table extremes cascade constraints ;


-- Generated SQL Schema
-- --------------------------------------------------------------------
-- Target Database: oracle
-- SQL Generator: tedia2sql -- v1.2.13b2
-- Generated at: Sat Dec 18 19:48:32 2004
-- Input Files: TestERD.dia


-- imageInfo
create table imageInfo (
id numeric (18) not null,
insertionDate date default now() not null,
md5sum char (32) not null,
binaryType varchar (16) default 'jpg' null,
name varchar (64) not null,
locationList varchar (128) default '//imgserver.org',
description varchar (128) null,
constraint pk_ImageInfo primary key (id)
) ;

-- subImageInfo
create table subImageInfo (
imageInfo_id numeric (18) not null,
pixSize integer not null,
constraint pk_SubImageInfo primary key (imageInfo_id,pixSize)
) ;

-- imageCategoryList
create table imageCategoryList (
imageInfo_id numeric (18) not null,
name varchar (32) not null,
constraint pk_ImageCategoryList primary key (imageInfo_id,name)
) ;

-- categoryNames
create table categoryNames (
name varchar (32) not null,
constraint pk_CategoryNames primary key (name)
) ;

-- imageAttribute
create table imageAttribute (
imageInfo_id numeric (18) not null,
attributeCategory_id numeric (18) not null,
numValue numeric (8),
category numeric (4),
constraint pk_ImageAttribute primary key (imageInfo_id,attributeCategory_id)
) ;

-- userInfo
create table userInfo (
id numeric (18) not null,
insertionDate date,
md5sum char (32),
birthDate date,
gender char (1),
name varchar (32),
email varchar (96),
currentCategory varchar (32),
lastDebitDate date,
acctBalance numeric (10,2),
active integer,
constraint pk_UserInfo primary key (id)
) ;

-- userAttribute
create table userAttribute (
userInfo_id numeric (18) not null,
attributeCategory_id numeric (18) not null,
numValue numeric (5,4),
constraint pk_UserAttribute primary key (userInfo_id,attributeCategory_id)
) ;

-- userImageRating
create table userImageRating (
userInfo_id numeric (18) not null,
imageInfo_id numeric (15) not null,
rating integer,
constraint pk_UserImageRating primary key (userInfo_id,imageInfo_id)
) ;

-- attributeCategory
create table attributeCategory (
id numeric (18) not null,
attributeDesc varchar (128),
constraint pk_AttributeCategory primary key (id)
) ;

-- userSession
create table userSession (
userInfo_id numeric (18) not null,
md5sum char (32) not null,
insertionDate date,
expireDate date,
ipAddress varchar (24),
constraint pk_UserSession primary key (userInfo_id,md5sum)
) ;

-- extremes
create table extremes (
name varchar (32) not null,
colName varchar (64),
minVal numeric (15),
maxVal numeric (15),
constraint pk_Extremes primary key (name)
) ;













-- Generated SQL Views
-- --------------------------------------------------------------------
-- Target Database: oracle
-- SQL Generator: tedia2sql -- v1.2.13b2
-- Generated at: Sat Dec 18 19:48:32 2004
-- Input Files: TestERD.dia


-- ratings_view
create view ratings_view as
select b.name, c.md5sum, a.rating
from userImageRating a,
userImageRating z,
userInfo b,
imageInfo c
where (((a.userInfo_id = b.id)
and (a.imageInfo_id = c.id)
and (a.userInfo_id = z.userInfo_id))
and (a.userInfo_id <> z.userInfo_id))
order by c.md5sum,b.name,a.rating
;

-- whorated_view
create view whorated_view as
select a.name, count (*) as numRatings
from userInfo a,
userImageRating b
where (a.id = b.userInfo_id)
group by a.name
;

-- users_view
create view users_view as
select id, birthDate, name ||'<'|| email ||'>' as whoIsThis, currentCategory, acctBalance, active
from userInfo
order by userInfo.name
;


-- Special statements for oracle,postgres,db2:post databases
-- statements to do AFTER creating
-- the tables (schema)
--drop trigger . . . .
--create trigger . . . .


-- Generated Permissions
-- --------------------------------------------------------------------
-- Target Database: oracle
-- SQL Generator: tedia2sql -- v1.2.13b2
-- Generated at: Sat Dec 18 19:48:32 2004
-- Input Files: TestERD.dia

grant all on imageInfo to fmorg ;
grant select on imageInfo to public ;
grant all on subImageInfo to fmorg ;
grant all on imageCategoryList to fmorg ;
grant select on categoryNames to public ;
grant all on categoryNames to fmorg ;
grant all on imageAttribute to fmorg ;
grant all on userInfo to fmorg ;
grant all on userAttribute to fmorg ;
grant all on userImageRating to fmorg ;
grant all on attributeCategory to fmorg ;
grant all on userSession to fmorg ;
grant select on extremes to public ;
grant all on extremes to fmorg ;


-- Generated SQL Insert statements
-- --------------------------------------------------------------------
-- Target Database: oracle
-- SQL Generator: tedia2sql -- v1.2.13b2
-- Generated at: Sat Dec 18 19:48:32 2004
-- Input Files: TestERD.dia


-- inserts for categoryNames
insert into categoryNames values ( 'Buildings' ) ;
insert into categoryNames values ( 'Landscapes' ) ;
insert into categoryNames values ( 'Nudes' ) ;
insert into categoryNames values ( 'Life Studies' ) ;
insert into categoryNames values ( 'Portraits' ) ;
insert into categoryNames values ( 'Abstracts' ) ;

-- inserts for attributeCategory
insert into attributeCategory values ( 1,'Blurriness' ) ;
insert into attributeCategory values ( 2,'Contrastiness' ) ;
insert into attributeCategory values ( 3,'Saturation' ) ;
insert into attributeCategory values ( 4,'Size' ) ;
insert into attributeCategory values ( 5,'Relevence' ) ;


-- Generated SQL Constraints
-- --------------------------------------------------------------------
-- Target Database: oracle
-- SQL Generator: tedia2sql -- v1.2.13b2
-- Generated at: Sat Dec 18 19:48:32 2004
-- Input Files: TestERD.dia

create unique index idx_iimd5 on imageInfo (md5sum) ;
create index idx_iiid on imageInfo (id) ;
create index idx_siiid on subImageInfo (imageInfo_id) ;
create index idx_siips on subImageInfo (pixSize) ;
create index idx_iclidnm on imageCategoryList (imageInfo_id,name) ;
create unique index idx_uinm on userInfo (name,md5sum) ;
create index idx_uiid on userInfo (id) ;
create index idx_uauiid on userAttribute (userInfo_id) ;
create index idx_uiruid on userImageRating (userInfo_id) ;
create index idx_acid on attributeCategory (id) ;
create index idx_usmd5 on userSession (md5sum) ;
alter table subImageInfo add constraint fk_iisii
foreign key (imageInfo_id)
references imageInfo (id) ;
alter table imageCategoryList add constraint fk_iiicl
foreign key (imageinfo_id)
references imageInfo (id) ;
alter table imageAttribute add constraint fk_iiia
foreign key (imageInfo_id)
references imageInfo (id) ;
alter table userImageRating add constraint fk_uiuir
foreign key (userInfo_id)
references userInfo (id) on delete cascade ;
alter table userAttribute add constraint fk_uiua
foreign key (userInfo_id)
references userInfo (id) on delete cascade ;
alter table userSession add constraint fk_uius
foreign key (userInfo_id)
references userInfo (id) on delete cascade ;
alter table imageAttribute add constraint fk_iaac
foreign key (attributeCategory_id)
references attributeCategory (id) ;
alter table userAttribute add constraint fk_acua
foreign key (attributeCategory_id)
references attributeCategory (id) ;

-- oracle requires a special 'quit' command
quit

Lucky 2008-11-12 13:14 发表评论
]]>
SQL*PLUS命o的用大??http://m.tkk7.com/lucky/archive/2008/11/12/240064.htmlLuckyLuckyWed, 12 Nov 2008 05:12:00 GMThttp://m.tkk7.com/lucky/archive/2008/11/12/240064.htmlhttp://m.tkk7.com/lucky/comments/240064.htmlhttp://m.tkk7.com/lucky/archive/2008/11/12/240064.html#Feedback0http://m.tkk7.com/lucky/comments/commentRss/240064.htmlhttp://m.tkk7.com/lucky/services/trackbacks/240064.html
在中国ORACLE用户讨论l(http://www.cnoug.orgQ中发现了这文章,很不错,转过来,与大家共享,也方便自己查看?br />
oracle的sql*plus是与oracleq行交互的客L工具。在sql*plus中,可以q行sql*plus命o与sql*plus语句?
我们通常所说的DML、DDL、DCL语句都是sql*plus语句Q它们执行完后,都可以保存在一个被UCؓsql buffer的内存区域中Qƈ且只能保存一条最q执行的sql语句Q我们可以对保存在sql buffer中的sql 语句q行修改Q然后再ơ执行,sql*plus一般都与数据库打交道?
除了sql*plus语句Q在sql*plus中执行的其它语句我们UC为sql*plus命o。它们执行完后,不保存在sql buffer的内存区域中Q它们一般用来对输出的结果进行格式化昄Q以便于制作报表?
下面׃l一下一些常用的sql*plus命oQ?

1. 执行一个SQL脚本文g
SQL>start file_name
SQL>@ file_name
我们可以多条sql语句保存在一个文本文件中Q这样当要执行这个文件中的所有的sql语句Ӟ用上面的M命o卛_Q这cM于dos中的批处理?

@与@@的区别是什么?
@{于start命oQ用来运行一个sql脚本文g?br /> @命o调用当前目录下的Q或指定全\径,或可以通过SQLPATH环境变量搜寻到的脚本文g。该命o使用是一般要指定要执行的文g的全路径Q否则从~省路径(可用SQLPATH变量指定)下读取指定的文g?br /> @@用在sql脚本文g中,用来说明用@@执行的sql脚本文g与@@所在的文g在同一目录下,而不用指定要执行sql脚本文g的全路径Q也不是从SQLPATH环境变量指定的\径中Lsql脚本文gQ该命o一般用在脚本文件中?br /> 如:在c:\temp目录下有文gstart.sql和nest_start.sqlQstart.sql脚本文g的内容ؓQ?br /> @@nest_start.sql - - 相当于@ c:\temp\nest_start.sql
则我们在sql*plus中,q样执行Q?br /> SQL> @ c:\temp\start.sql


2. 对当前的输入q行~辑
SQL>edit

3. 重新q行上一ơ运行的sql语句
SQL>/

4. 显C的内容输出到指定文?
SQL> SPOOL file_name
在屏q上的所有内定w包含在该文g中,包括你输入的sql语句?

5. 关闭spool输出
SQL> SPOOL OFF
只有关闭spool输出Q才会在输出文g中看到输出的内容?

6Q显CZ个表的结?
SQL> desc table_name

7. COL命oQ?
主要格式化列的显CŞ式?
该命令有许多选项Q具体如下:
COL[UMN] [{ column|expr} [ option ...]]
Option选项可以是如下的子句:
ALI[AS] alias
CLE[AR]
FOLD_A[FTER]
FOLD_B[EFORE]
FOR[MAT] format
HEA[DING] text
JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}
LIKE { expr|alias}
NEWL[INE]
NEW_V[ALUE] variable
NOPRI[NT]|PRI[NT]
NUL[L] text
OLD_V[ALUE] variable
ON|OFF
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]

1). 改变~省的列标题
COLUMN column_name HEADING column_heading
For example:
Sql>select * from dept;
DEPTNO DNAME LOC
---------- ---------------------------- ---------
10 ACCOUNTING NEW YORK
sql>col LOC heading location
sql>select * from dept;
DEPTNO DNAME location
--------- ---------------------------- -----------
10 ACCOUNTING NEW YORK

2). 列名ENAME改ؓ新列名EMPLOYEE NAMEq将新列名放在两行上Q?
Sql>select * from emp
Department name Salary
---------- ---------- ----------
10 aaa 11
SQL> COLUMN ENAME HEADING ’Employee|Name’
Sql>select * from emp
Employee
Department name Salary
---------- ---------- ----------
10 aaa 11
note: the col heading turn into two lines from one line.

3). 改变列的昄长度Q?
FOR[MAT] format
Sql>select empno,ename,job from emp;
EMPNO ENAME JOB
---------- ---------- ---------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
Sql> col ename format a40
EMPNO ENAME JOB
---------- ---------------------------------------- ---------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN

4). 讄列标题的寚w方式
JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}
SQL> col ename justify center
SQL> /
EMPNO ENAME JOB
---------- ---------------------------------------- ---------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
对于NUMBER型的列,列标题缺省在双Q其它类型的列标题缺省在左边

5). 不让一个列昄在屏q上
NOPRI[NT]|PRI[NT]
SQL> col job noprint
SQL> /
EMPNO ENAME
---------- ----------------------------------------
7369 SMITH
7499 ALLEN
7521 WARD

6). 格式化NUMBERcd列的昄Q?
SQL> COLUMN SAL FORMAT $99,990
SQL> /
Employee
Department Name Salary Commission
---------- ---------- --------- ----------
30 ALLEN $1,600 300

7). 昄列值时Q如果列gؓNULL|用textg替NULL?
COMM NUL[L] text
SQL>COL COMM NUL[L] text

8). 讄一个列的回l方?
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]
COL1
--------------------
HOW ARE YOU?

SQL>COL COL1 FORMAT A5
SQL>COL COL1 WRAPPED
COL1
-----
HOW A
RE YO
U?

SQL> COL COL1 WORD_WRAPPED
COL1
-----
HOW
ARE
YOU?

SQL> COL COL1 WORD_WRAPPED
COL1
-----
HOW A

9). 昄列的当前的显C属性?
SQL> COLUMN column_name

10). 所有列的显C属性设为缺省?
SQL> CLEAR COLUMNS

8. 屏蔽掉一个列中显C的相同的?
BREAK ON break_column
SQL> BREAK ON DEPTNO
SQL> Select DEPTNO, ENAME, SAL
FROM EMP
Where SAL < 2500
orDER BY DEPTNO;
DEPTNO ENAME SAL
---------- ----------- ---------
10 CLARK 2450
MILLER 1300
20 SMITH 800
ADAMS 1100

9. 在上面屏蔽掉一个列中显C的相同的值的昄中,每当列值变化时在值变化之前插入n个空行?
BREAK ON break_column SKIP n

SQL> BREAK ON DEPTNO SKIP 1
SQL> /
DEPTNO ENAME SAL
---------- ----------- ---------
10 CLARK 2450
MILLER 1300

20 SMITH 800
ADAMS 1100

10. 昄对BREAK的设|?
SQL> BREAK

11. 删除6?的设|?
SQL> CLEAR BREAKS

12. Set 命oQ?
该命令包含许多子命oQ?
SET system_variable value
system_variable value 可以是如下的子句之一Q?
APPI[NFO]{ON|OFF|text}
ARRAY[SIZE] {15|n}
AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}
AUTOP[RINT] {ON|OFF}
AUTORECOVERY [ON|OFF]
AUTOT[RACE] {ON|OFF|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
BLO[CKTERMINATOR] {.|c}
CMDS[EP] {;|c|ON|OFF}
COLSEP {_|text}
COM[PATIBILITY]{V7|V8|NATIVE}
CON[CAT] {.|c|ON|OFF}
COPYC[OMMIT] {0|n}
COPYTYPECHECK {ON|OFF}
DEF[INE] {&|c|ON|OFF}
DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}]
ECHO {ON|OFF}
EDITF[ILE] file_name[.ext]
EMB[EDDED] {ON|OFF}
ESC[APE] {\|c|ON|OFF}
FEED[BACK] {6|n|ON|OFF}
FLAGGER {OFF|ENTRY |INTERMED[IATE]|FULL}
FLU[SH] {ON|OFF}
HEA[DING] {ON|OFF}
HEADS[EP] {||c|ON|OFF}
INSTANCE [instance_path|LOCAL]
LIN[ESIZE] {80|n}
LOBOF[FSET] {n|1}
LOGSOURCE [pathname]
LONG {80|n}
LONGC[HUNKSIZE] {80|n}
MARK[UP] HTML [ON|OFF] [HEAD text] [BODY text] [ENTMAP {ON|OFF}] [SPOOL
{ON|OFF}] [PRE[FORMAT] {ON|OFF}]
NEWP[AGE] {1|n|NONE}
NULL text
NUMF[ORMAT] format
NUM[WIDTH] {10|n}
PAGES[IZE] {24|n}
PAU[SE] {ON|OFF|text}
RECSEP {WR[APPED]|EA[CH]|OFF}
RECSEPCHAR {_|c}
SERVEROUT[PUT] {ON|OFF} [SIZE n] [FOR[MAT] {WRA[PPED]|WOR[D_
WRAPPED]|TRU[NCATED]}]
SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}
SHOW[MODE] {ON|OFF}
SQLBL[ANKLINES] {ON|OFF}
SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}
SQLCO[NTINUE] {> |text}
SQLN[UMBER] {ON|OFF}
SQLPRE[FIX] {#|c}
SQLP[ROMPT] {SQL>|text}
SQLT[ERMINATOR] {;|c|ON|OFF}
SUF[FIX] {SQL|text}
TAB {ON|OFF}
TERM[OUT] {ON|OFF}
TI[ME] {ON|OFF}
TIMI[NG] {ON|OFF}
TRIM[OUT] {ON|OFF}
TRIMS[POOL] {ON|OFF}
UND[ERLINE] {-|c|ON|OFF}
VER[IFY] {ON|OFF}
WRA[P] {ON|OFF}

1). 讄当前session是否对修改的数据q行自动提交
SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}

2)Q在用start命o执行一个sql脚本Ӟ是否昄脚本中正在执行的SQL语句
SQL> SET ECHO {ON|OFF}

3).是否昄当前sql语句查询或修改的行数
SQL> SET FEED[BACK] {6|n|ON|OFF}
默认只有l果大于6行时才显C结果的行数。如果set feedback 1 Q则不管查询到多行都返回。当为off Ӟ一律不昄查询的行?

4).是否昄列标?
SQL> SET HEA[DING] {ON|OFF}
当set heading off Ӟ在每늚上面不显C列标题Q而是以空白行代替

5).讄一行可以容U的字符?
SQL> SET LIN[ESIZE] {80|n}
如果一行的输出内容大于讄的一行可容纳的字W数Q则折行昄?

6).讄与之间的分隔
SQL> SET NEWP[AGE] {1|n|NONE}
当set newpage 0 Ӟ会在每页的开头有一个小的黑Ҏ?
当set newpage n Ӟ会在和之间隔着n个空行?
当set newpage none Ӟ会在和之间没有Q何间隔?

7).昄Ӟ用textg替NULL?
SQL> SET NULL text

8).讄一|多少行数
SQL> SET PAGES[IZE] {24|n}
如果设ؓ0Q则所有的输出内容Zƈ且不昄列标?

9).是否昄用DBMS_OUTPUT.PUT_LINE包进行输出的信息?
SQL> SET SERVEROUT[PUT] {ON|OFF}
在编写存储过E时Q我们有时会用dbms_output.put_line必要的信息输出Q以便对存储q程q行调试Q只有将serveroutput变量设ؓon后,信息才能昄在屏q上?

10).当SQL语句的长度大于LINESIZEӞ是否在显C时截取SQL语句?
SQL> SET WRA[P] {ON|OFF}
当输出的行的长度大于讄的行的长度时Q用set linesize n命o讄Q,当set wrap onӞ输出行的多于的字W会另v一行显C,否则Q会输的多于字W切除,不予昄?

11).是否在屏q上昄输出的内容,主要用与SPOOLl合使用?
SQL> SET TERM[OUT] {ON|OFF}
在用spool命o一个大表中的内容输出到一个文件中Ӟ内容输出在屏幕上会耗费大量的时_讄set termspool off后,则输出的内容只会保存在输出文件中Q不会显C在屏幕上,极大的提高了spool的速度?

12).SPOOL输出中每行后面多余的I格L
SQL> SET TRIMS[OUT] {ON|OFF}

13)昄每个sql语句p的执行时?
set TIMING {ON|OFF}

14). 遇到I时不认ؓ语句已经l束Q从后箋行接着d?br /> SET SQLBLANKLINES ON
Sql*plus? 不允许sql语句中间有空? q在从其它地Ҏ贝脚本到sql*plus中执行时很麻? 比如下面的脚?
select deptno, empno, ename
from emp

where empno = '7788';
如果拯到sql*plus中执? ׃出现错误。这个命令可以解册问题

15).讄DBMS_OUTPUT的输?br /> SET SERVEROUTPUT ON BUFFER 20000
用dbms_output.put_line('strin_content');可以在存储过E中输出信息Q对存储q程q行调试
如果惌dbms_output.put_line(' abc');的输出显CZؓQ?br /> SQL> abcQ而不是SQL>abcQ则在SET SERVEROUTPUT ON后加format wrapped参数?br />
16). 输出的数据ؓhtml格式
set markup html
?.1.7版本(也许?16? 不太定)以后, sql*plus中有一个set markup html的命? 可以sql*plus的输Zhtml格式展现.
注意其中的spool on, 当在屏幕上输出的时? 我们看不Z不加spool on有什么区? 但是当我们用spool filename 输出到文件的时? 会看到spool文g中出C{tag.


14Q修改sql buffer中的当前行中Q第一个出现的字符?
C[HANGE] /old_value/new_value
SQL> l
1* select * from dept
SQL> c/dept/emp
1* select * from emp

15Q编辑sql buffer中的sql语句
EDI[T]

16Q显Csql buffer中的sql语句Qlist n昄sql buffer中的Wn行,qɽWn行成为当前行
L[IST] [n]

17Q在sql buffer的当前行下面加一行或多行
I[NPUT]

18Q将指定的文本加到sql buffer的当前行后面
A[PPEND]
SQL> select deptno,
2 dname
3 from dept;
DEPTNO DNAME
---------- --------------
10 ACCOUNTING
20 RESEARCH
30 SALES
40 OPERATIONS

SQL> L 2
2* dname
SQL> a ,loc
2* dname,loc
SQL> L
1 select deptno,
2 dname,loc
3* from dept
SQL> /

DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

19Q将sql buffer中的sql语句保存C个文件中
SAVE file_name

20Q将一个文件中的sql语句导入到sql buffer?
GET file_name

21Q再ơ执行刚才已l执行的sql语句
RUN
or
/

22Q执行一个存储过E?
EXECUTE procedure_name

23Q在sql*plus中连接到指定的数据库
CONNECT user_name/passwd@db_alias

24Q设|每个报表的剙标题
TTITLE

25Q设|每个报表的N标题
BTITLE

26Q写一个注?
REMARK [text]

27Q将指定的信息或一个空行输出到屏幕?
PROMPT [text]

28Q将执行的过E暂停,{待用户响应后l执?
PAUSE [text]

Sql>PAUSE Adjust paper and press RETURN to continue.

29Q将一个数据库中的一些数据拷贝到另外一个数据库Q如一个表的数据拷贝到另一个数据库Q?
COPY {FROM database | TO database | FROM database TO database}
{APPEND|Create|Insert|REPLACE} destination_table
[(column, column, column, ...)] USING query

sql>COPY FROM SCOTT/TIGER@HQ TO JOHN/CHROME@WEST
create emp_temp
USING Select * FROM EMP

30Q不退出sql*plusQ在sql*plus中执行一个操作系l命令:
HOST

Sql> host hostname
该命令在windows下可能被支持?

31Q在sql*plus中,切换到操作系l命令提C符下,q行操作pȝ命o后,可以再次切换回sql*plusQ?
!

sql>!
$hostname
$exit
sql>

该命令在windows下不被支持?

32Q显Csql*plus命o的帮?
HELP
如何安装帮助文gQ?
Sql>@ ?\sqlplus\admin\help\hlpbld.sql ?\sqlplus\admin\help\helpus.sql
Sql>help index

33Q显Csql*pluspȝ变量的值或sql*plus环境变量的?
Syntax
SHO[W] option
where option represents one of the following terms or clauses:
system_variable
ALL
BTI[TLE]
ERR[ORS] [{FUNCTION|PROCEDURE|PACKAGE|PACKAGE BODY|
TRIGGER|VIEW|TYPE|TYPE BODY} [schema.]name]
LNO
PARAMETERS [parameter_name]
PNO
REL[EASE]
REPF[OOTER]
REPH[EADER]
SGA
SPOO[L]
SQLCODE
TTI[TLE]
USER

1) . 昄当前环境变量的|
Show all

2) . 昄当前在创建函数、存储过E、触发器、包{对象的错误信息
Show error
当创Z个函数、存储过E等出错Ӟ变可以用该命令查看在那个地方出错及相应的出错信息Q进行修改后再次q行~译?

3) . 昄初始化参数的|
show PARAMETERS [parameter_name]

4) . 昄数据库的版本Q?
show REL[EASE]

5) . 昄SGA的大?
show SGA

6). 昄当前的用户名
show user

34.查询一个用户下的对?br /> SQL>select * from tab;
SQL>select * from user_objects;

35.查询一个用户下的所有的?br /> SQL>select * from user_tables;

36.查询一个用户下的所有的索引
SQL>select * from user_indexes;


37. 定义一个用户变?br /> Ҏ有两个:
a. define
b. COL[UMN] [{column|expr} NEW_V[ALUE] variable [NOPRI[NT]|PRI[NT]]
OLD_V[ALUE] variable [NOPRI[NT]|PRI[NT]]

下面ҎU方式给予解释:
a. Syntax
DEF[INE] [variable]|[variable = text]
定义一个用户变量ƈ且可以分配给它一个CHAR倹{?br />
assign the value MANAGER to the variable POS, type:
SQL> DEFINE POS = MANAGER

assign the CHAR value 20 to the variable DEPTNO, type:
SQL> DEFINE DEPTNO = 20

list the definition of DEPTNO, enter
SQL> DEFINE DEPTNO
――――――――――――――?br /> DEFINE DEPTNO = ”20” (CHAR)

定义了用户变量POS后,可以在sql*plus中用&POS?amp;&POS来引用该变量的|sql*plus不会再提CZl变量输入倹{?br />
b. COL[UMN] [{column|expr} NEW_V[ALUE] variable [NOPRI[NT]|PRI[NT]]
NEW_V[ALUE] variable
指定一个变量容Ux询出的列倹{?br /> ?column col_name new_value var_name noprint
select col_name from table_name where ……..
下面查询出的col_name列的Dlvar_name变量.

一个综合的例子:
得到一个列值的两次查询之差(此例?0U之内共提交了多事?:
column redo_writes new_value commit_count

select sum(stat.value) redo_writes
from v$sesstat stat, v$statname sn
where stat.statistic# = sn.statistic#
and sn.name = 'user commits';

-- {待一会儿(此处?0U?;
execute dbms_lock.sleep(10);

set veri off
select sum(stat.value) - &commit_count commits_added
from v$sesstat stat, v$statname sn
where stat.statistic# = sn.statistic#
and sn.name = 'user commits';


38. 定义一个绑定变?br /> VAR[IABLE] [variable [NUMBER|CHAR|CHAR (n)|NCHAR|NCHAR (n) |VARCHAR2 (n)|NVARCHAR2 (n)|CLOB|NCLOB|REFCURSOR]]
定义一个绑定变量,该变量可以在pl/sql中引用?br /> 可以用print命o昄该绑定变量的信息?br /> 如:
column inst_num heading "Inst Num" new_value inst_num format 99999;
column inst_name heading "Instance" new_value inst_name format a12;
column db_name heading "DB Name" new_value db_name format a12;
column dbid heading "DB Id" new_value dbid format 9999999999 just c;

prompt
prompt Current Instance
prompt ~~~~~~~~~~~~~~~~

select d.dbid dbid
, d.name db_name
, i.instance_number inst_num
, i.instance_name inst_name
from v$database d,
v$instance i;

variable dbid number;
variable inst_num number;
begin
:dbid := &dbid;
:inst_num := &inst_num;
end;
/
说明Q?br /> 在sql*plus中,该绑定变量可以作Z个存储过E的参数Q也可以在匿名PL/SQL块中直接引用。ؓ了显C用VARIABLE命o创徏的绑定变量的|可以用print命o

注意Q?br /> l定变量不同于变量:
1Q? 定义Ҏ不同
2Q? 引用Ҏ不同
l定变量Q?variable_name
变量Q?amp;variable_name or &&variable_name
3.在sql*plus中,可以定义同名的绑定变量与用户变量Q但是引用的Ҏ不同?br />
39. &?amp;&的区?br /> &用来创徏一个时变量,每当遇到q个临时变量Ӟ都会提示你输入一个倹{?br /> &&用来创徏一个持久变量,像用用define命o或带new_vlaue字句的column命o创徏的持久变量一栗当?amp;&命o引用q个变量Ӟ不会每次遇到该变量就提示用户键入|而只是在W一ơ遇到时提示一ơ?br />
如,下面三行语句存Z个脚本文Ӟq行该脚本文Ӟ会提CZơ,让输入deptnoval的|
select count(*) from emp where deptno = &deptnoval;
select count(*) from emp where deptno = &deptnoval;
select count(*) from emp where deptno = &deptnoval;

下面三行语句存Z个脚本文Ӟq行该脚本文Ӟ则只会提CZơ,让输入deptnoval的|
select count(*) from emp where deptno = &&deptnoval;
select count(*) from emp where deptno = &&deptnoval;
select count(*) from emp where deptno = &&deptnoval;

40Q在输入sql语句的过E中临时先运行一个sql*plus命o(摘自www.itpub.com)
#
有没有过q样的经? 在sql*plus中敲了很长的命o? H然发现想不h个列的名字了, 如果取消当前的命?待查询后再重? 那太痛苦? 当然你可以另开一个sql*plusH口q行查询, 但这里提供的Ҏ更简?

比如? 你想查工资大?000的员工的信息, 输入了下面的语句:

SQL> select deptno, empno, ename
2 from emp
3 where
q时, 你发C想不h工资的列名是什么了.

q种情况? 只要在下一行以#开? 可以执行一条sql*plus命o, 执行完后, 刚才的语句可以l输?br />
SQL>> select deptno, empno, ename
2 from emp
3 where
6 #desc emp
Name Null? Type
----------------------------------------- -------- --------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)

6 sal > 4000;

DEPTNO EMPNO ENAME
---------- ---------- ----------
10 7839 KING

41. SQLPlus中的快速复制和_脓技?摘自www.cnoug.org)
1) 鼠标U至惌复制内容的开?
2) 用右手食指按下鼠标左?
3) 向想要复制内容的另一角拖动鼠标,与Word中选取内容的方法一?
4) 内容选取完毕后(所选内容全部反显)Q鼠标左键按住不动,用右手中指按鼠标右键
5) q时Q所选内容会自动复制到SQL*Plus环境的最后一?

Lucky 2008-11-12 13:12 发表评论
]]>
վ֩ģ壺 õĻ2019 | ޹ᆱƷԲ߹ۿ| ѹվ߹ۿͼ | ֻˬʹƬҹ| ŮݽƵѿ| ޹պƷ| ŮҹëƬƵ| 츾͵ŷ| penƵѹۿ| ŮƷĻ| ߹ۿվ| av߹ۿ| Ʒר | ޹պa߲| AVվ| ƷŮͬһѲ| ޵һҳպר| гʮ·Ƶ| ޾Ʒ߹ۿ| ѿƷ3aƵƵ| | þþƷƷް | ձѵӰһ| ϵվۿ| vavavaþ| 99reƵƷȫ| ˳ɾƷþþþ| 99reƵ| AV˵߹ۿ| ޸͵һ| þֻƷ10| þþƷAV| ٸ17p| ƵƬ߹ۿ| ŷպavҰ| ˸| 91Ƶ| ˬָ߳ˮƵ| Ƶѹۿ| ѱ̬Ƶַվ| þһѲ |