数据库session立即生效(64---8192) SCOPE参数
SCOPE=MEMORY|SPFILE|BOTH 指示了修改参数时的“作用域”:
SCOPE=MEMORY :只在实例中修改,重启数据库后此次修改失效。
SCOPE=SPFILE :只修改SPFILE中的值,重启数据库后这个修改才会生效。
SCOPE=BOTH :在内存和SPFILE中都会完成参数修改。这个参数修改在当前实例中生效,下次以SPFILE启动数据库时也会生效。
数据库参数文件分为二类:
1.初始参数文件:pfile(initialization parameter file)
2.服务器参数文件:spfile(server-side parameter file)
主要的区别是:
1.pfile是文本文件,spfile是二进制文件
2.pfile可以通过文本编辑器修改,spfile主要是通过alter system set parameter=value [scope=memory|spfile|both]修改
oracle启动时,读取参数文件的顺序是:
1.spfile$ORACLE_SID.ORA(创建数据库时创建的spfile)
2.spfile.ora(oracle缺省spfile文件)
3.init$ORACLE_SID.ora(创建数据库时创建的pfile)
4.init.ora(oracle缺省pfile文件)
oracle会按顺序读出这些参数文件,如果在1没有找到就去找2,直到找到。
和参数文件相关常用SQL如下:
1.查看当前使用的spfile和pfile的位置:show parameter spfile/show parameter pfile
2.查看参数文件的具体设置:show parameters
3.从spfile获取pfile:
create pfile='pfilesid.ora' from spfile
create pfile='pfilesid.ora' from spfile='/$ORACLE_HOME/dbs/spfile.ora'
4.修改参数
alter system set parameter=value [scope=memory|spfile|both]
1.修改后当前实例起作用,重启数据库不起作用:scope=memory
2.修改后当前实例不起作用,下次重启数据库才起作用:scope=spfile
3.修改后当前实例起作用,下次重启数据库也起作用:scope=both
Notice:命令alter system set parameter=value在没有加scope选项时,默认值是什么呢?多数朋友可能不加思索就会回答both这答案,实际的情况是,当oracle在以spfile参数启动时,默认值是both,而以pfile启动时,默认值是memory,也就是只修改当前值。所以如果不能确定启动的参数文件,可以用show parameter spfile查看。
5.指定初始参数文件启动数据库:startup pfile='/$ORACLE_HOME/dbs/init$ORACLE_SID.ora'
不能以指定服务器参数文件spfile来启动数据库,可以先将spfile转换成pfile,再用这个命令来达到目的。
6.查看系统是以pfile还是spfile启动:show parameter spfile。如果是null值,就是pfile启动的。
2.参数文件的动作原理
oracle实例在启动时,会去读取参数文件中的配置,这个过程是这样的:
数据库的startup命令中可以指定以哪个pfile来启动,但是请注意,只能指定pfile,不 能指定spfile。
当使用不带pfile 子句的startup 命令时,Oracle 将从平台指定的默认位置上的服务器 参数文件(spfile) 中读取初始化参数。Oracle查找spfile或者init.ora的顺序是:在平台指定的默认位置上,Oracle首先查找名为spfile$ORACLE_SID.ora的文件,如果没有就查找spfile.ora文件,还没有的话,就找init$ORACLE_SID.ora文件。
在$ORACLE_BASE\admin\db_name\spfile下,你可以看到一个类似这样init.ora.1 92003215317]名字的文件,这就是初始化参数文件,只是跟上了时间戳。对于Oracle920 ,缺省的就使用spfile启动,但是这个spfile不是凭空而来,而是根据这个文件创建而来 ,你可以去掉这个长后缀,就是标准的pfile文件了。
数据库中的同义词(SYNONYM)
建立:create 【public】 synonym 同义词名称(一般可以与表名不同,这样不容易混淆) for AA.table_name;--在当前用户下建立一个同义词(去同义“AA”中的表:table_name,public的是可选参数,本人建议尽量建立公用的 同义词)
删除:DROP 【public】 SYNONYM 同义词名称; ---------此处特别注意 关键字 public 的存在--------;
查看:select * from user_synonyms sy where sy.synonym_name ='A_CODEMAPPING'; --查看私有的同义词,自己看到自己创建的;
select * from all_synonyms sy where sy.synonym_name ='A_CODEMAPPING'; --可以查看到 某某创建的 公共的 同义词
参看信息中包括,同义词拥有者,表拥有者,是否public的等信息;
1》同义词 分为私有的 和公共的两种;
私有的:
也只有 本用户使用,包括别的用户查不到 用户 “BB” 有这个同义词(这点很重哟奥);
共有的:
可以被其它的任何用户使用, 也可以被人家查到,看到这个同义词,当然最重要的也可以被别的用户删除;
同义词相当于模式对象的别名,起著连结数据库模式对象和应用程序的作用,假如模式对象需要更换,则不用修改应用程序而直接修改同义词就可以了
建立一个同义词可以排除一个对象名字的限制.
如果你的数据库有多个用户,USER_A要访问USER_B的TABLE1,只能使用USER_B.TABLE1
建一个同义词abc指向USER_B.TABLE1,那你就可以select * from abc了,而且public的同义词会直接出现在所有用户的面前,开发不就方便多了
创建同义词
语法:
CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema.] synonym_name FOR [schema.] object_name [@dblink];
语法说明:
OR REPLACE: 在不使用DROP的前提下容许你重新创建(如果同义词已经存在)。
PUBLIC: 所创建的同义词是全局的同义词,所有数据库用户都可以使用。
schema: 要创建同义词的对象所在的schema,如果省略,则默认的应用对象在当前schema下。
object_name: 要创建同义词的对象,它可以是以下几种类型:
TABLE
VIEW
SEQUENCE
STORED PROCEDURE
FUNCTION
PACKAGE
MATERIALIZED VIEW
JAVA CLASS SCHEMA OBJECT
USER-DEFINED OBJECT
SYNONYM
示例:
CREATE PUBLIC SYNONYM suppliers FOR app.suppliers;
示例中创建的同义词名为suppliers,这样,其他schema下的用户可以使用该同义词来使用app下的suppliers表而不必加上app。例如:
SELECT *
FROM suppliers;
删除同义词
语法
DROP [PUBLIC] SYNONYM [schema.] synonym_name [FORCE];
说明:
PUBLIC: 容许删除PUBLIC同义词, 如果使用了PUBLIC关键字,则可以省略schema。
FORCE:用来强制删除同义词,即使它在数据库中有其它的依赖。
示例:
DROP PUBLIC SYNONYM suppliers;
数据库session立即生效(64---8192) SCOPE参数的更多相关文章
- Asp.Net进程外Session(状态服务器Session、数据库Session)
介绍 我们知道,当浏览器关闭,或者网站重启的时候,会话就结束了.即Seesion就丢失了.(当Web.config配置文件改动,哪怕什么内容都不加,仅仅往配置文件中加一个空格都是改we.config变 ...
- Kafka session.timeout.ms heartbeat.interval.ms参数的区别以及对数据存储的一些思考
Kafka session.timeout.ms heartbeat.interval.ms参数的区别以及对数据存储的一些思考 在计算机世界中经常需要与数据打交道,这也是我们戏称CURD工程师的原因之 ...
- [C#]记录一次异常排查,关于using语法、sqlserver数据库session、DBHelper类
最近在做一个基于asp.net和sqlserver的网站项目,发现网站运行一段时间之后,会报异常: 超时时间已到,但是尚未从池中获取连接.出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小 ...
- 微信第三方登录测试时报Scope参数错误或没有Scope权限解决方法
一 报错信息: 二 出现原因分析: 出现这种错误网上查出现有的原因是: 1. 订阅号没有相关的权限 2. 账号没有认证,没有相关的权限 那么这里遇到问题两种都不是.开发账号是 服务号,而且也是认证号. ...
- oracle数据库使用plsql(64位)时出现的问题
64位win7上装PL/SQL,经常会遇见“Could not load "……\bin\oci.dll"”这个错误,我查了一下资料,原因是PL/SQL只对32位OS进行支持,解决 ...
- oracle dblink造成远程数据库session过多
现场报网公司数据库连不上,先检查了下数据库processes=1500,session=2200.我认为非常大啊.这个数据库没有几个人用. 查看v$session中的session最多是哪个machi ...
- angularjs指令中scope参数 true、false、{} 的区别详解
scope 有三个参数 true.false.{} scope 默认是 false,当 scope设置为true时,会从父作用域继承并创建一个新的作用域对象, 按照true .false的反向思维,我 ...
- hrabs的数据库session的修改
using System;using System.Data;using System.Collections;using System.Collections.Generic;using Syste ...
- flask session 使用默认配置修改session不生效问题
flask session相关 使用flask 默认sessio是存储在浏览器的cookie中,当请求返回时会将session写在cooKie中,但是在写的时候,默认并不是每次都重新写入 比如下例子 ...
随机推荐
- jdbc的入门学习
一.JDBC相关概念介绍 1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡 ...
- page0902未完成
/** * @author:(LiberHome) * @date:Created in 2019/3/1 23:14 * @description: * @version:$ */ import j ...
- 关于Spring事物的面试题
https://blog.csdn.net/h294590501/article/details/80386000 数据库事务和Spring事务是一般面试都会被提到,很多朋友写惯了代码,很少花时间去整 ...
- python基础5 while循环
一.while循环: while 条件: 代码块 例: n=0 while n<10: print(n) n=n+1 #n自加1 ,满足n<10,继续循环 输出结果: 1 2 3 4 ...
- ant 执行jmeter脚本
环境准备 1.jdk版本:java version "1.8.0_201" 2.jmeter版本:5.0 3.ant版本:Apache Ant(TM) version 1.10.5 ...
- linux查看所有用户信息
所有的用户信息在根目录/etc/中passwd文件内,而passwd的所有权限是root用户及root组用户,所有想要查看所有用户,需要root用户登录系统. root用户登录后,可以直接用查看命令c ...
- Windows Server 2012 R2服务器部署Tomcat JDK、安装Mysql以及将Java项目部署到CVM
我们平时所调试的Java Web 项目需要在本地Eclipse或者MyEclipse当中开发调试,并且部署到Tomcat上来测试,比如说笔者这里用的eclipse添加tomcat服务器, 但是这里发布 ...
- git 环境搭建
1. 生成ssh-key 并上传到 git服务器上 #cd $HOME #ssh-keygen -t rsa -C "youremail@example.com" -t 是类型,- ...
- python报错记录
1.AttributeError: 'NoneType' object has no attribute 'group' import re s=r'<title>kobe<\tit ...
- centos7mini静默安装oracle11gr2
[root@oracle ~]# cat /etc/hosts127.0.0.1 oracle.osp.cloud localhost localhost.localdomain localhost4 ...