建立自己的使用者名稱,在自己的使用者名稱下建表,寫儲存過程,為了方便管理,不與其他使用者公用表空間所引起一些不必要的麻煩。
一. 環境說明:
1. 本機安裝10.2
2. 本地建了乙個資料庫例項叫ywl
3. 在這個資料庫例項下面有乙個使用者叫user1,它下面有很多表。
二. 問題描述:
1. 現在我要在ywl下面新加乙個使用者叫user2,然後我會在這個使用者下,建自己的一些表,寫一些自己的儲存過程,儲存過程中需要訪問user1裡面一些表的資料。
2. 我的做法如下:
a) 建立乙個新的表空間 newtablespace,建立表空間的時候為表空間設定大小,其他預設。
b) 建立乙個新使用者 user2,建立的時候通過enterprise manage concole來建立,直接在security->users下建立乙個使用者,
在建立視窗的general tab頁下面的tablespace中default中選擇新建的表空間newtablespace,temporary預設。在role的tab頁中為使用者選擇dba role。
最後完成建立新使用者,user2.
c) 用user1連線lyprd,連線成功後執行
select 'grant select on '||table_name||' to user2;' from user_tables;
grant select on xj_vdsp_core.service to xj_vdsp_up
grant select on xj_vdsp_core.sp to xj_vdsp_up
執行結果為一組sql語句,將user1下的所有表的select許可權都授權給了user2.
將執行結果中的需要授權的表的grant語句拷貝出來,然後在user1下將這些grant語句全部執行,即完成了將user1的特定表的查詢許可權授予給了user2.
用user2連線ywl,在user2下寫儲存過程,裡面用到user1中表的時候,
直接用user1.tablename即可。
oracle的表如何跨表空間儲存
oracle的乙個表所在表空間,空間已經佔滿,其他表空間有剩餘空間.實現表存在另外的表空間 方案一 利用原表重建分割槽表 1 原表temp,存在欄位id,time 2 temp存在紀錄 3 根據原表temp建立新的分割槽表temp new create table temp new id,time ...
iframe跨域資料訪問
前提 父頁面和子頁面不同域 首先是父頁面傳資料給子頁面 parent.html your browser dose not support iframes child.html 需要注意的是一定要加上http 同時統一用ip都用ip,用網域名稱都用網域名稱,用localhost都用localhost...
資料庫 mysql 跨庫訪問 資料庫跨庫訪問問題
sql server中的所有權鏈及其問題 沒有多少朋友對所有權鏈真的理解的。我自己有時候經常回過來看看這些資料,覺得還是很有意思的。下面的內容摘自微軟文件,介紹得比較好 簡而言之 1.如果在同乙個資料庫中,只要兩個物件的所有者是一樣的,那麼他們之間的訪問是不檢查訪問者身份的。例如乙個檢視和乙個表是屬...