posts - 188,comments - 176,trackbacks - 0

          Oracle數(shù)據(jù)庫常用的操作命令

          常用的數(shù)據(jù)字典表:tab,user_tables,user_objects,user_catalog,user_constraints,user_cons_columns
          1、視圖在所有存儲過程(數(shù)據(jù)字典表)中查詢是否有某一字符串的SQL語句
                select * from all_source where type='PROCEDURE' and lower(text) like '%student %'
                select * from user_source where lower(text) like '%dbms_%'
                select   tname,cname,coltype,width from col where tname='STUDENT'
                select * from all_tables where owner ='OEMS'
                select * from all_constraints where constraint_name = 'JWTHESIS_R_THESISWRITEBATCH_ID'

          2、sqlplus連接oracle
                Oracle安裝后默認密碼: sys(change_on_install),system(manager),internal(oracle),scott(tiger)
                connect system/manager as sysdba;(as sysoper)
                connect internal/oracle AS SYSDBA;(scott/tiger)
                connect sys/change_on_install as sysdba;

          3、查看當(dāng)前連接數(shù):select * from v$license
                查看當(dāng)前的所有數(shù)據(jù)庫:     select * from v$database;
                查看當(dāng)前所有的數(shù)據(jù)庫實例: select * from v$instance  
                查看當(dāng)前庫的所有數(shù)據(jù)表all_tables(用戶表user_tables):
                select * from all_tables where table_name like 'T%' and owner='SYS';
                查看當(dāng)前數(shù)據(jù)庫連接用戶    sqlplus Show user;或者select uid,user from dual;
                查看當(dāng)前數(shù)據(jù)庫系統(tǒng)時間    select sysdate from dual;
                查看數(shù)據(jù)庫表結(jié)構(gòu)字段:     desc v$database;
                查看哪些用戶擁有SYSDBA、SYSOPER權(quán)限: select * from v_$PWFILE_USERS;

          4. 怎樣刪除用戶會話
                SELECT * FROM v$session WHERE lower(USERNAME) = 'oems';
                ALTER SYSTEM KILL SESSION 'SID, SERIAL#';

          5、改變一個對象的名字,執(zhí)行RENAME語句,改變一個表、視圖、序列或同義詞
                RENAME dept TO detail_dept;

          6、檢查用戶是否將SYSTEM 表空間作為缺省表空間
                SELECT USERNAME,DEFAULT_TABLESPACE FROM DBA_USERS WHERE          DEFAULT_TABLESPACE ='SYSTEM';

          7、怎樣查找產(chǎn)生鎖的SQL 語句
                select s.username username,a.sid sid,a.owner||'.'||a.object object,s.lockwait,t.sql_text SQL
                from v$sqltext t,v$session s,v$access a
                where t.address=s.sql_address and t.hash_value=s.sql_hash_value and s.sid = a.sid and a.owner != 'SYS'

          and upper    (substr(a.object,1,2)) != 'V$'

          8、添加注釋到表中,用COMMENT語句添加注釋到一個表或列中
                (注釋通過數(shù)據(jù)字典視圖查看CALL_COL_COMMENTS,CUSER_COL_COMMENTS,CALL_TAB_COMMENTS,CUSER_TAB_COMMENTS)
              COMMENT ON TABLE employees IS 'Employee Information'

          9、系統(tǒng)日期sysdate顯示,環(huán)境變量nls_date_format設(shè)置日期顯示格式
                alter session set nls_date_format='yyyy"天"mm"月"dd"日"' --'yyyy-mm-dd hh24:mi:ss'

          10、日期顯示的類型
                Select sysdate,to_char(sysdate,'yyyy.mm.dd')col1,to_char(sysdate,'dd-mon-yyyy hh24:mi:ss day')col2

          from dual
                Select trunc(sysdate) + 0.5 col from dual
                Select trunc(sysdate) ||' 12:00:00' col From dual

          11、DBA權(quán)限
          --典型的DBA權(quán)限--
          --系統(tǒng)權(quán)限--                   
          --授權(quán)的操作--
          create user          受讓人可以創(chuàng)建其他 oracle 用戶 (需要有DBA角色權(quán)限)。
          drop user            受讓人可以刪除另一個用戶。
          drop any table       受讓人可以刪除在任意方案中的表。
          backup any table     受讓人用導(dǎo)出實用程序可以備份在任何方案中的任何表。
          select any table     受讓人可以查詢在任何方案中的表、視圖或快照。
          create any table     受讓人可以在任何方案中創(chuàng)建表。
          1.create user   創(chuàng)建用戶(通常由DBA執(zhí)行)
          2.create role   創(chuàng)建一個權(quán)限的集合(通常由DBA執(zhí)行)
          3.grant         給予其他用戶權(quán)限來訪問本用戶的對象
          4.alter user    改變用戶口令
          5.revoke        刪除在用戶對象上的權(quán)限

          (1)DBA用create user語句創(chuàng)建用戶:   
                create user scott identified by tiger
                create user scott identified by tiger default tablespace users Temporary TABLESPACE Temp;
                用sys以sysdba的身份來進行登錄,在sys狀態(tài)是locked的時候也是能登錄的.然后再使用:鎖定alter user scott

          account lock;解鎖alter user sys account unlock
          (2)創(chuàng)建角色并且授予權(quán)限給角色,角色是命名的可以授予用戶的相關(guān)權(quán)限的組,該方法使得授予、撤回和維護權(quán)限容易的多
                首先,DBA必須創(chuàng)建角色,然后,DBA可以分配角色給角色和用戶,創(chuàng)建角色:create role manager;
          (3)DBA授予指定的系統(tǒng)權(quán)限
          <1>授予指定系統(tǒng)權(quán)限給一個用戶
              grant create session, create table, create sequence, create view to scott;
          <2>授予權(quán)限給一個角色
              grant create table, create view to manager;
              grant connect,resource,dba to scott;grant sysdba to scott;
          <3>授予一個角色給用戶
              grant manager to alice, lily;
          <4>授予對象權(quán)限,授予查詢權(quán)限到employees表上
              grant select on employees to sue, rich;
          <5>授予權(quán)限到以更新指定的列到用戶和角色
              grant update (department_name, location_id) on departments to scott, manager;
          <6>給一個用戶授權(quán)以級聯(lián)權(quán)限授予
              grant select, insert on departments to scott with grant option
          <7>允許所有在系統(tǒng)上的用戶從alice 的departments 表中查詢數(shù)據(jù):
              grant select on alice.departments to public

          --確認已授予的權(quán)限
          --數(shù)據(jù)字典視圖--           
          --說明--
          ROLE_SYS_PRIVS         授予角色的系統(tǒng)權(quán)限
          ROLE_TAB_PRIVS         授予角色的表權(quán)限
          USER_ROLE_PRIVS        可由用戶訪問的角色
          USER_TAB_PRIVS_MADE    授予用戶的對象上的對象權(quán)限
          USER_TAB_PRIVS_RECD    授予用戶的對象權(quán)限
          USER_COL_PRIVS_MADE    授予用戶對象的列上的對象權(quán)限
          USER_COL_PRIVS_RECD    授予用戶在指定列上的對象權(quán)限
          USER_SYS_PRIVS         授予用戶的系統(tǒng)權(quán)限

          (4)改變口令,DBA創(chuàng)建用戶帳號并且初始化其口令,用alter user語句用戶可以改變口令:
              alter user scott identified by tiger;
              alter user system identified by test;

          (5)撤消對象權(quán)限
              用REVOKE語句撤消授予其他用戶的權(quán)限,通過WITH GRANT OPTION子句授予其他用戶的權(quán)限也被撤消
              REVOKE select,insert ON departments FROM scott;

          創(chuàng)建數(shù)據(jù)庫鏈接,USING子句指出了一個遠程數(shù)據(jù)庫的服務(wù)名。寫使用數(shù)據(jù)庫鏈接的SQL 語句
                CREATE PUBLIC DATABASE LINK hq.sina.com USING 'sales'
                CREATE PUBLIC SYNONYM HQ_EMP FOR emp@hq.sina.com;

          系統(tǒng)權(quán)限和對象權(quán)限
                授予對象權(quán)限時語句應(yīng)該是WITH GRANT OPTION子句,而在授予系統(tǒng)權(quán)象時語句是WITH ADMIN OPTION
                對象權(quán)限就是指在表、視圖、序列、過程、函數(shù)或包等對象上執(zhí)行特殊動作的權(quán)利.有九種不同類型的權(quán)限可以授予

          給用戶或角色。
                系統(tǒng)權(quán)限需要授予者有進行系統(tǒng)級活動的能力,如連接數(shù)據(jù)庫,更改用戶會話、建立表或建立用戶等等
           

          待續(xù)...

          posted on 2009-12-26 15:54 cheng 閱讀(1401) 評論(1)  編輯  收藏 所屬分類: Oracle

          FeedBack:
          # re: Oracle數(shù)據(jù)庫常用的操作命令[未登錄]
          2012-04-12 11:09 | ccc
          收藏了 謝謝樓主分享  回復(fù)  更多評論
            
          主站蜘蛛池模板: 牙克石市| 亚东县| 赤城县| 望城县| 彰武县| 双牌县| 海城市| 通辽市| 宿松县| 丹东市| 木里| 连平县| 敦化市| 天祝| 化州市| 武安市| 丹巴县| 晋中市| 长宁县| 鄂尔多斯市| 随州市| 色达县| 都兰县| 化隆| 淮南市| 诸暨市| 上蔡县| 哈密市| 新竹市| 吴堡县| 鹤庆县| 凤庆县| 措勤县| 哈巴河县| 中西区| 屏山县| 鄱阳县| 景谷| 湖北省| 司法| 仁布县|