<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA—咖啡館

    ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    oracle常用SQL語句
    1、連接
    SQL*Plus system/manager

    2、顯示當前連接用戶
    SQL> show user

    3、查看系統擁有哪些用戶
    SQL> select * from all_users;

    4、新建用戶并授權
    SQL> create user a identified by a;(默認建在SYSTEM表空間下)
    SQL> grant connect,resource to a;

    5、連接到新用戶
    SQL> conn a/a

    6、查詢當前用戶下所有對象
    SQL> select * from tab;

    7、建立第一個表
    SQL> create table a(a number);

    8、查詢表結構
    SQL> desc a

    9、插入新記錄
    SQL> insert into a values(1);

    10、查詢記錄
    SQL> select * from a;

    11、更改記錄
    SQL> update a set a=2;

    12、刪除記錄
    SQL> delete from a;

    13、回滾
    SQL> roll;
    SQL> rollback;

    14、提交
    SQL> commit;

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

    http://www.oradb.net/newuser/cg_sys.htm
    ---------------------------------------------------------------

    網上資料很多:
    http://www.oraclefan.net/ocp/sql/dba_monitor.txt

    ----------------------------------------------------------------
    用戶授權:
    GRANT ALTER ANY INDEX TO "user_id "
    GRANT "dba " TO "user_id ";
    ALTER USER "user_id " DEFAULT ROLE ALL
    創建用戶:
    CREATE USER "user_id " PROFILE "DEFAULT " IDENTIFIED BY " DEFAULT TABLESPACE "USERS " TEMPORARY TABLESPACE "TEMP " ACCOUNT UNLOCK;
    GRANT "CONNECT " TO "user_id ";
    用戶密碼設定:
    ALTER USER "CMSDB " IDENTIFIED BY "pass_word "
    表空間創建:
    CREATE TABLESPACE "table_space " LOGGING DATAFILE 'C:\ORACLE\ORADATA\dbs\table_space.ora' SIZE 5M

    ------------------------------------------------------------------------
    1、查看當前所有對象

    SQL > select * from tab;

    2、建一個和a表結構一樣的空表

    SQL > create table b as select * from a where 1=2;

    SQL > create table b(b1,b2,b3) as select a1,a2,a3 from a where 1=2;

    3、察看數據庫的大小,和空間使用情況

    SQL > col tablespace format a20
    SQL > select b.file_id  文件ID,
      b.tablespace_name  表空間,
      b.file_name     物理文件名,
      b.bytes       總字節數,
      (b.bytes-sum(nvl(a.bytes,0)))   已使用,
      sum(nvl(a.bytes,0))        剩余,
      sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
      from dba_free_space a,dba_data_files b
      where a.file_id=b.file_id
      group by b.tablespace_name,b.file_name,b.file_id,b.bytes
      order by b.tablespace_name
      /
      dba_free_space --表空間剩余空間狀況
      dba_data_files --數據文件空間占用情況


    4、查看現有回滾段及其狀態

    SQL > col segment format a30
    SQL > SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS;

    5、查看數據文件放置的路徑

    SQL > col file_name format a50
    SQL > select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;

    6、顯示當前連接用戶

    SQL > show user

    7、把SQL*Plus當計算器

    SQL > select 100*20 from dual;

    8、連接字符串

    SQL > select 列1 | |列2 from 表1;
    SQL > select concat(列1,列2) from 表1;

    9、查詢當前日期

    SQL > select to_char(sysdate,'yyyy-mm-dd,hh24:mi:ss') from dual;

    10、用戶間復制數據

    SQL > copy from user1 to user2 create table2 using select * from table1;

    11、視圖中不能使用order by,但可用group by代替來達到排序目的

    SQL > create view a as select b1,b2 from b group by b1,b2;

    12、通過授權的方式來創建用戶

    SQL > grant connect,resource to test identified by test;

    SQL > conn test/test

    13、查出當前用戶所有表名。

    select unique tname from col;

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

    alter table alist_table add address varchar2(100);


    alter table alist_table modify address varchar2(80);


    create table alist_table_copy as select ID,NAME,PHONE,EMAIL,
    QQ as QQ2,
    ADDRESS from alist_table;

    drop table alist_table;
    rename alist_table_copy to alist_table

    空值處理
    有時要求列值不能為空
    create table dept (deptno number(2) not null, dname char(14), loc char(13));

    在基表中增加一列
    alter table dept
    add (headcnt number(3));

    修改已有列屬性
    alter table dept
    modify dname char(20);
    注:只有當某列所有值都為空時,才能減小其列值寬度。
    只有當某列所有值都為空時,才能改變其列值類型。
    只有當某列所有值都為不空時,才能定義該列為not null。
    例:
    alter table dept modify (loc char(12));
    alter table dept modify loc char(12);
    alter table dept modify (dname char(13),loc char(12));

    查找未斷連接
    select process,osuser,username,machine,logon_time ,sql_text
    from v$session a,v$sqltext b where a.sql_address=b.address;

    -----------------------------------------------------------------
    1.以USER_開始的數據字典視圖包含當前用戶所擁有的信息, 查詢當前用戶所擁有的表信息:
    select * from user_tables;
    2.以ALL_開始的數據字典視圖包含ORACLE用戶所擁有的信息,
    查詢用戶擁有或有權訪問的所有表信息:
    select * from all_tables;

    3.以DBA_開始的視圖一般只有ORACLE數據庫管理員可以訪問:
    select * from dba_tables;

    4.查詢ORACLE用戶:
    conn sys/change_on_install
    select * from dba_users;
    conn system/manager;
    select * from all_users;

    5.創建數據庫用戶:
    CREATE USER user_name IDENTIFIED BY password;
    GRANT CONNECT TO user_name;
    GRANT RESOURCE TO user_name;
    授權的格式: grant (權限) on tablename to username;
    刪除用戶(或表):
    drop user(table) username(tablename) (cascade);
    6.向建好的用戶導入數據表
    IMP SYSTEM/MANAGER FROMUSER = FUSER_NAME TOUSER = USER_NAME FILE = C:\EXPDAT.DMP COMMIT = Y
    7.索引
    create index [index_name] on [table_name]( "column_name ")

    Oracle維護常用SQL語句

    1、查看表空間的名稱及大小

      select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size

      from dba_tablespaces t, dba_data_files d

      where t.tablespace_name = d.tablespace_name

      group by t.tablespace_name;
      

      2、查看表空間物理文件的名稱及大小

      select tablespace_name, file_id, file_name,

      round(bytes/(1024*1024),0) total_space

      from dba_data_files

      order by tablespace_name;

      

      3、查看回滾段名稱及大小

      select segment_name, tablespace_name, r.status,

      (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,

      max_extents, v.curext CurExtent

      From dba_rollback_segs r, v$rollstat v

      Where r.segment_id = v.usn(+)

      order by segment_name ;

      

      4、查看控制文件

      select name from v$controlfile;

      

      5、查看日志文件

      select member from v$logfile;

      

      6、查看表空間的使用情況

      select sum(bytes)/(1024*1024) as free_space,tablespace_name

      from dba_free_space

      group by tablespace_name;

      

      SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,

      (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"

      FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

      WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

      

      7、查看數據庫庫對象

      select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;

      

      8、查看數據庫的版本 

      Select version FROM Product_component_version

      Where SUBSTR(PRODUCT,1,6)='Oracle';

    [page]
      9、查看數據庫的創建日期和歸檔方式

      Select Created, Log_Mode, Log_Mode From V$Database;

      

      10、捕捉運行很久的SQL

      column username format a12

      column opname format a16

      column progress format a8

      

      select username,sid,opname,

      round(sofar*100 / totalwork,0)    '%' as progress,

      time_remaining,sql_text

      from v$session_longops , v$sql

      where time_remaining <> 0

      and sql_address = address

      and sql_hash_value = hash_value

      /

      

      11、查看數據表的參數信息

      SELECT partition_name, high_value, high_value_length, tablespace_name,

      pct_free, pct_used, ini_trans, max_trans, initial_extent,

      next_extent, min_extent, max_extent, pct_increase, FREELISTS,

      freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks,

      empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size,

      last_analyzed

      FROM dba_tab_partitions

      --WHERE table_name = :tname AND table_owner = :towner

      ORDER BY partition_position

      

      12、查看還沒提交的事務

      select * from v$locked_object;

      select * from v$transaction;

      

      13、查找object為哪些進程所用

      select

      p.spid,

      s.sid,

      s.serial# serial_num,

      s.username user_name,

      a.type object_type,

      s.osuser os_user_name,

      a.owner,

      a.object object_name,

      decode(sign(48 - command),

      1,

      to_char(command), 'Action Code #'    to_char(command) ) action,

      p.program oracle_process,

      s.terminal terminal,

      s.program program,

      s.status session_status

      from v$session s, v$access a, v$process p

      where s.paddr = p.addr and

      s.type = 'USER' and

      a.sid = s.sid and

      a.object='SUBSCRIBER_ATTR'

      order by s.username, s.osuser
      

      14、回滾段查看

      select rownum, sys.dba_rollback_segs.segment_name Name, v$rollstat.extents

      Extents, v$rollstat.rssize Size_in_Bytes, v$rollstat.xacts XActs,

      v$rollstat.gets Gets, v$rollstat.waits Waits, v$rollstat.writes Writes,

      sys.dba_rollback_segs.status status from v$rollstat, sys.dba_rollback_segs,

      v$rollname where v$rollname.name(+) = sys.dba_rollback_segs.segment_name and

      v$rollstat.usn (+) = v$rollname.usn order by rownum

      

      15、耗資源的進程(top session)

      select s.schemaname schema_name, decode(sign(48 - command), 1,

      to_char(command), 'Action Code #'    to_char(command) ) action, status

      session_status, s.osuser os_user_name, s.sid, p.spid , s.serial# serial_num,

      nvl(s.username, '[Oracle process]') user_name, s.terminal terminal,

      s.program program, st.value criteria_value from v$sesstat st, v$session s , v$processp

      where st.sid = s.sid and st.statistic# = to_number('38') and ('ALL' = 'ALL'

      or s.status = 'ALL') and p.addr = s.paddr order by st.value desc, p.spid asc, s.username asc, s.osuser asc

    posted on 2009-06-02 16:06 rogerfan 閱讀(681) 評論(0)  編輯  收藏 所屬分類: 【數據庫】
    主站蜘蛛池模板: 亚洲精品视频免费看| 国产亚洲一区二区三区在线不卡 | 另类小说亚洲色图| 无码精品人妻一区二区三区免费| 色视频色露露永久免费观看 | 亚洲人成网站影音先锋播放| 亚洲成综合人影院在院播放| 深夜a级毛片免费视频| 30岁的女人韩剧免费观看| 99ri精品国产亚洲| 亚洲阿v天堂在线2017免费| 亚洲国产一区二区三区| aa级毛片毛片免费观看久| 亚洲日产韩国一二三四区| 97在线免费视频| 亚洲激情中文字幕| 成人免费视频77777| 亚洲国产成人精品无码区花野真一| 永久免费无码网站在线观看| 一级特黄录像免费播放中文版| 国产99视频精品免费观看7| 亚洲三级在线观看| 麻豆国产精品免费视频| 亚洲中文字幕无码av永久| 拔擦拔擦8x华人免费久久| 亚洲av一本岛在线播放| 日韩免费毛片视频| 精品一区二区三区免费视频| 亚洲男人第一av网站| 四虎www免费人成| 国产精品亚洲四区在线观看 | 亚洲精品无码久久久久| 五月天婷婷精品免费视频| 久久亚洲综合色一区二区三区| 四虎在线成人免费网站| 美女尿口扒开图片免费| 亚洲电影一区二区| 免费国产黄网站在线观看视频| 亚洲精品美女网站| 亚洲综合国产一区二区三区| 2022久久国产精品免费热麻豆|