天易11—-韓順平oracle視頻講解部分總結(04)

來源:互聯網
上載者:User

系統函數:sys_context

terminal:當前會話客戶所對應的終端的標示符

language:語言

db_name:當前資料庫名稱

nls_date_formal:當前會話客戶所對應的日期格式

session_user:當前會話客戶所對應的資料庫使用者名稱

current_schema:當前會話客戶所對應的預設方案名

 host:返回資料庫所在主機的名稱

通過該函數,可以查詢一些重要訊息,比如你在使用哪個資料庫:

Select sys_context(‘userenv’,’db_name’)from dual;(userenv固定格式)

 

 

 

串連sys資料庫的方法:

Connsys/change_on_install as sysdba;

啟動資料庫:startup

關閉資料庫:shutdown

 

 

管理初始化參數:

初始化參數用於設定執行個體或是資料庫的特徵,oracle9i提供了200多個初始化參數,並且每個初始化參數都有預設值。

 

顯示初始化參數

show parameter命令

   如果想修改這些初始化參數,可以到檔案:

   D:\oracle\admin\myoral\pfile\init.ora檔案中去修改

 

  匯出:

  匯出具體分為:匯出方案,匯出表,匯出資料庫三種方式

 (2) 匯出使用exp命令來完成,該命令常用的選項用:

  Userid:用於指定執行匯出操作的使用者名稱,口令,連結字串

  Tables:用於指定執行匯出操作的表

  Owner:用於指定執行匯出操作的方案

  Inctype:用於指定執行匯出操作的增量類型

  Rows:用於指定執行匯出操作是否要匯出表中的資料

  File:用於指定匯出檔案名稱

 

 匯出自己的表:(注意exp字母e的小寫)

 expuserid=wangzihu/wangzihu@sjjz tables=(bbs,book) file=c:\mysql.dmp;(在匯入和匯出的時候,要到oracle目錄的bin/exp.exe檔案目錄下進行匯入和匯出或用cmd命令)

(3)匯出表的結構

 expuserid=wangzihu/wangzihu@sjjz tables=(bbs) file=d:\e3.dmp rows=n;

(4)使用直接匯出方式

exp userid=wangzihu/wangzihu@sjjz tables=(bbs)file=d:\e3.dmpdirect=y;

這種方式比預設的常規方式速度要快,當資料量大時,可以考慮使用這樣的方法

 

匯出方案:

匯出自己的方案(匯出所有的對象,包括所有表,視圖,觸發器,預存程序等)

  expwangzihu/wangzihu@sjjz owner=wangzihu file=d:\wangzihu.dmp;

 

 

匯入

匯入表:

匯入自己表

 Imp userid=wangzihu/wangzihu@sjjz tables=(bbs)file=d:\e3.dmp;

2)匯入表到其它使用者

要求該使用者具有dba的許可權,或是imp_full_database

Imp userid=system/manager@myortables=(emp) file=d:\xx.dmp;

3)匯入表的結構

只匯入表的結構而不匯入資料

Imp userid=wangzihu/wangzihu@sjjztables=(bbs) file=d:\e3.dmp rows=n;

4)匯入資料

如果對象(比如表)已經存在可以匯入表的資料

Imp userid=wangzihu/wangzihu@sjjztables(bbs) file=d:\e3.dmp ignore=y;

 

 

匯入方案:

匯入自身的方案

Imp userid=wangzihu/wangzihufile=d:\wangzihu.dmp

   匯入資料庫:

   在預設情況下,當匯入資料庫時,會匯入所有對象結構和資料,案例如下:

    Impuserid=system/manager full=y file=d:\xxx.dmp

 

 

資料字典:資料字典是oracle資料庫中最重要的組成部分,它提供了資料的一些系統資訊。

動態效能檢視記載了常式啟動後的相關資訊。

 

 

user_tables:

用於顯示目前使用者所擁有的所有表,它只返回使用者所對應方案的所有表

比如:selecttable_name from user_tables;

 all_tables:

用於顯示目前使用者可以訪問的所有表,它不僅會返回目前使用者方案的所有表,還會返回目前使用者可以訪問的其它方案的表:

比如:selecttable_name from all_tables;

Dba_tables:

 它會顯示所有方案擁有的資料庫表,但是查詢這種資料庫字典視圖,要求

使用者必須是dba角色或是select anytable系統許可權。

例如:當用system使用者查詢資料字典視圖dba.tables時,會返回system,sys,scott…方案所對應的資料庫表。

比如:selecttable_name from dba_tables;

 

 

使用者,許可權,角色

   在建立使用者時,oracle會把使用者的資訊存放到資料字典中,當給使用者授予許可權或是角色時,oracle會將許可權和角色的資訊存放到資料字典。

通過查詢dba.users可以顯示素有資料庫使用者的詳細資料;

通過查詢資料字典視圖dba_sys_privs,可以顯示使用者所具有的系統許可權;

通過查詢資料字典視圖dba_tab_privs可以顯示使用者具有的對象許可權;

通過查詢資料字典dba_col_privs可以顯示使用者具有的列許可權;

通過查詢資料字典視圖dba_role_privs可以顯示使用者所具有的角色

 

比如:1)selectusername from dba_users (username固定格式)

2)Select * from dba_role_privs whereGRANTEE='WANGZIHU';( WANGZIHU注意大寫)

查看oracle中所有角色:

Select * from dba_roles;

查詢oracle中所有的系統許可權,一般是dba:

Select * from system_privilege_maporder by name;

 

查詢oracle中所有對象許可權,一般是dba:

Select distinct privilege fromdba_tab_privs;

 

 

一個角色包含的系統許可權

Select * from dba_sys_privs where grantee=’DBA’;

或者這樣也可以

Select * from role_sys_privs where role=’DBA’;

一個角色包括的對象許可權

Select * from dba_tab_privs where grantee=’DBA’;

 

如何查看某個使用者具有什麼樣的角色?

Select * from dba_role_privs where grantee=’ WANGZIHU’;

 

 

顯示目前使用者可以訪問的所有資料字典視圖

Select * from dict where commentslike ‘%grant%’;

顯示當前資料庫的全稱

Select * from global_name;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.