怎么把内网的oracle映射到外网

怎么把内网的oracle映射到外网,第1张

1、服务器端Sqlnet.oraSQLNET.AUTHENTICATION_SERVICES=(NTS)NAMES.DIRECTORY_PATH=(TNSNAMES,ONAMES,HOSTNAME)TRACE_LEVEL_CLIENT=162、服务器端regeditHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME1新建字符串名为USE_SHARED_SOCKET,值为TRUE这一步要重启电脑,不重启电脑也可以,把explorer.exe进程结束,然后再新建一个explorer.exe设置mts_dispatchers参数SQL>altersystemsetmts_dispatchers='(PROTOCOL=TCP)(disptchers=1)'这一步要重启电脑3、服务器端Listener.orasfc=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=joy_sfc_db)(PORT=1521)))))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=PLSExtProc)(ORACLE_HOME=E:\Oracle\)(PROGRAM=extproc))(SID_DESC=(GLOBAL_DBNAME=sfc)(ORACLE_HOME=E:\oracle\)(SID_NAME=sfc)))###############################################################################1、客户端Sqlnet.ora添加NAMES.DIRECTORY_PATH=(HOSTNAME)2、客户端Tnsname.orasfc=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=58.251.163.164)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=sfc)))

使用type动态创建类,并动态绑定metaData这种方式来动态创建类:

from sqlalchemy.orm import mapperfrom sqlalchemy import Table,MetaData

metadata = MetaData()def getNewModel(name):

t = type(name,(object,),dict())

user = Table(name,metadata,

Column('id',Integer,primary_key = True),

)

mapper(t,user)return t

t1 = getNewModel("t1")

t2 = getNewModel("t2")

oracle中如何将表缓存到内存中

由于在一些静态资料表在数据库中被频繁的访问,所以可以考虑将这些数据量不大的表缓存到内存当中。

共有2种方法:

例:将fisher表缓存到内存中

1)altertable fisher cache2)altertable fisher storage(buffer_pool keep)--取消缓存 1)altertable fisher nocache2)altertable fisher storage(buffer_pooldefault) selecttable_name,OWNER,cache,buffer_pool fromdba_tables where table_name='FISHER'--查看是否缓存 select* from dba_segments where segment_name='FISHER' --查看表大小

两者区别:

1) cache是将表缓存到share pool 中,该 *** 作直接将表缓存的热端,受LRU算法控制。

2)将表缓存到一个固定的内存空间中,默认情况下buffer_pool空间为0,。需手动设置空间大小。

alter system set db_keep_cache_size=50M scope=both sid=‘*'


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9620102.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存