国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

TimesTen如何緩存兩個用戶的Schema

2024-07-21 02:53:19
字體:
來源:轉載
供稿:網友

如果Oracle數據庫中有兩張表,分別屬于不同的Schema, TimesTen是否可以緩存? 答案是可以的,來看一個例子,順便了解一下概念;

首先在Oracle數據庫中建立兩個用戶user1和user2,并且分布在兩個用戶下建表t1和t2:

SQL> create user user1 identified by oracle;User created.SQL> create user user2 identified by oracle;User created.SQL> grant create session, create table to user1;Grant succeeded.SQL> grant create session, create table to user2;Grant succeeded.SQL> ALTER USER user1 quota unlimited on USERS;User altered.SQL> ALTER USER user2 quota unlimited on USERS;User altered.SQL> connect user1/oracleConnected.SQL> create table t1(k int, v int, PRimary key(k));Table created.SQL> insert into t1 values(1,1);1 row created.SQL> grant select on t1 to cacheadm;Grant succeeded.SQL> connect user2/oracleConnected.SQL> create table t2(k int, v int, primary key(k));Table created.SQL> insert into t2 values(2,1);1 row created.SQL> grant select on t2 to cacheadm;Grant succeeded.

在TimesTen數據庫端,也分別建立用戶user1和user2, 使用cacheadm用戶建立兩個緩存組:

Command> create user user1 identified by timesten;User created.Command> create user user2 identified by timesten;User created.Command> grant create session to user1;Command> Command> grant create session to user2;Command> cachegroups;Cache Group CACHEADM.USER1_CG: Cache Group Type: Read Only Autorefresh: Yes Autorefresh Mode: Incremental Autorefresh State: On Autorefresh Interval: 5 Seconds Autorefresh Status: ok Aging: No aging defined Root Table: USER1.T1 Table Type: Read OnlyCache Group CACHEADM.USER2_CG: Cache Group Type: Read Only Autorefresh: Yes Autorefresh Mode: Incremental Autorefresh State: On Autorefresh Interval: 5 Seconds Autorefresh Status: ok Aging: No aging defined Root Table: USER2.T2 Table Type: Read Only

接下來,就可以在TimesTen中使用user1或user2訪問數據了:

[timesten@ttlab ~]$ ttisql "dsn=sampledb_1122;uid=user1"Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.Type ? or "help" for help, type "exit" to quit ttIsql.connect "dsn=sampledb_1122;uid=user1";Enter passWord for 'user1': Connection successful: DSN=sampledb_1122;UID=user1;DataStore=/home/timesten/TimesTen/tt1122/info/DemoDataStore/sampledb_1122;DatabaseCharacterSet=WE8MSWIN1252;ConnectionCharacterSet=US7ASCII;DRIVER=/home/timesten/TimesTen/tt1122/lib/libtten.so;PermSize=40;TempSize=32;TypeMode=0;OracleNetServiceName=orcl;(Default setting AutoCommit=1)Command> select * from t1;< 1, 1 >1 row found.Command> select * from user2.t2;15100: User USER1 lacks privilege SELECT on USER2.T2The command failed.

總結以上的測試,如下圖:

也就是說,Oracle中表的屬主用戶,在TimesTen中也必須有此用戶。這時最關鍵的一點。

因此也建議使用獨立的緩存管理員,而非直接賦予user1或user2 CACHE_MANAGER權限。剩下的問題就靠權限解決了,你也可以基于這兩個表建立視圖。

還有一個重要概念,一個TimesTen只能緩存一個Oracle數據庫,多個是不行的!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陵川县| 威远县| 佳木斯市| 阳新县| 玛曲县| 大渡口区| 纳雍县| 石门县| 营山县| 佛坪县| 延安市| 察哈| 黄山市| 聂拉木县| 申扎县| 扶沟县| 延津县| 保康县| 营口市| 剑川县| 上栗县| 志丹县| 来宾市| 哈巴河县| 乳山市| 门源| 广宗县| 射阳县| 平顶山市| 九江县| 屏山县| 离岛区| 冷水江市| 内黄县| 沙田区| 阳泉市| 湟源县| 永年县| 常州市| 鸡东县| 唐河县|