
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=‘*'
评论列表(0条)