oracle数据库

SP_addlinkedserver 小结 (oracle,sql server,access,excel)

南楼画角 提交于 2020-03-04 08:54:30
/////////////////////////////SQL SERVER//////////////////////////// Exec sp_droplinkedsrvlogin DBVIP,Null Exec sp_dropserver DBVIP EXEC sp_addlinkedserver @server='DBVIP',-- 被访问的服务器别名 @srvproduct='', @provider='SQLOLEDB', @datasrc='Server2' -- 要访问的服务器 EXEC sp_addlinkedsrvlogin 'DBVIP', -- 被访问的服务器别名 'false', NULL, 'sa', -- 帐号 'thankyoubobby' -- 密码 Select * from DBVIP.pubs.dbo.orders /////////////////////////////ORACLE//////////////////////////// 需要 SQL SERVER 服务器中安装 ORACLE 客户端; Exec sp_droplinkedsrvlogin demo,Null Exec sp_dropserver demo go EXEC sp_addlinkedserver @server ='demo', --

Oracle的redo log(重做日志)

社会主义新天地 提交于 2020-03-04 07:35:07
Oracle的redo log(重做日志) Oracle日志文件是Oracle数据库存储信息的重要文件,主要用来存储数据库变化的操作信息。Oracle的重做日志分为在线重做日志和归档重做日志: (1)online Redo log files(在线重做日志):又称联机重做日志,在线重做日志实时记录数据库的数据更新。 (2)Archive Redo log files(归档重做日志):简称归档日志,指当条件满足时,Oracle将在线重做日志以文件形式保存到硬盘(持久化)。Oracle数据库在运行时,可以选择是否开启归档日志,在非归档日志的情况下,Oracle所有的操作日志都写在在线重做日志当中,当所有在线重做日志文件写满时(Oracle在线重做日志是分组的,默认是分为三组),那么就把前面的日志文件覆盖继续写入。而在开启归档日志模式情况下,当重做日志都写满时,继续要写入日志时,会把要覆盖的日志文件写入归档日志当中,然后再对重做日志进行覆盖。 重做日志对应于硬盘的重做日志文件(有在线和归档二种),重做日志文件以组(Group)的形式组织,一个重做日志组包含一个或者多个日志文件,一个重做日志组中的日志文件完全相同,互为镜像。 一、查看重做日志信息 1、查询日志组 SQL > select group #,sequence#,bytes,blocksize,members,archived

oracle数据库迁移的几种方式

我是研究僧i 提交于 2020-03-04 07:22:47
① exp/imp逻辑备份与恢复 这是最常用最简单的方法,一般是基于应用的owner级做导入导出。 操作方法: 在新库建立好owner和表空间,停老库的应用,在老库运行以下命令: $ exp SIEBEL/BYDUAT#SIE owner=SIEBEL grants=y file=/home/oracle/imp/siebel.dmp log=/home/oracle/imp/siebel.log 导入dmp文件到新库,在新库执行以下命令: $ imp SIEBEL/BYDUAT#SIE ignore=y grants=y fromuser=SIEBEL touser=SIEBEL file=/home/oracle/imp/siebel.dmp log=/home/oracle/imp/siebel.log 优缺点:优点是可以跨平台使用,缺点是停机时间长,停机时间为从exp到网络传输到新库,再加上imp的时间。 ② storage存储迁移 这种情况下,数据文件、控制文件、日志文件、spfile都在存储上(一般情况下是裸设备),我们可以直接把存储挂到新机器上,然后在新机器上启动数据库。 操作方法:将老库的pfile(因为里面有指向裸设备的spfile链接),tnsnames.ora,listener.ora,密码文件传到新库的对应位置。将存储切至新机

Oracle卸载

我只是一个虾纸丫 提交于 2020-03-03 15:58:17
上篇文章我们谈了关于Oracle的安装,本次我们来谈谈Oracle卸载。在教学的过程中,经常有小伙伴数据库安装不成功,或服务不完善,修改卸载后重新安装,但部分因未卸载干净而无法安装成功。接下来我们一看看如何卸载干净。 想要彻底卸载Oracle的话,仅仅是卸载程序是不够的,还要删除注册表;不然你下次重装会出现各种各样的问题,下面就是我整理的卸载详情; 1.卸载oracle第一步: 停用Oracle的服务;右击我的电脑;单机管理,点击服务和应用程序;点击服务;停用所有oracle的服务 2,卸载Oracle产品: 单机windows,找到箭头所指,双击运行它 3.点击已安装产品;单机全部展开,删除除OraDb11g_home2之外的所有项目;点击删除,弹出框,我们选择是进行卸载; 4.清理注册表:打开运行窗口输入regedit; 5.依次展开HKEY_LOCAL_MACHINE\SOFTWARE,找到oracle;删除它; 6.依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中,删除所有oracle开头的项目 7.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有oracle开头的项;在HKEY_CLASSES

使用PLSQL Developer工具连接Oracle11g数据库

天大地大妈咪最大 提交于 2020-03-03 14:42:18
双击打开 PLSQL工具会自动从系统注册表找有没有Oracle的配置信息,如果已安装Oracle客户端,则如下图。否则没有Connect as 这一栏。不排除有时已安装,需要手动配置。如果没有Connect as选项,先选择Cancel 在菜单栏依次选择配置–>偏好在弹框中填入地址 填入Oracle主目录,及oci库的位置,应用 应用后,再次打开PLSQL就会出现Connect as选项 登陆框填哪些信息呢 打开路径E:\OracleBase\app\product\11.2.0\dbhome_2\NETWORK\ADMIN 找到tnsnames.ora文件 在文件底加入以下代码。First改为登陆框DataBase栏里的名称(可自行修改),host可改为连接到的数据库ip 无法保存解决办法 First = ( DESCRIPTION = ( ADDRESS = ( PROTOCOL = TCP ) ( HOST = 127.0 .0 .1 ) ( PORT = 1521 ) ) ( CONNECT_DATA = ( SERVER = DEDICATED ) ( SERVICE_NAME = orcl ) ) ) 然后就可以登录成功了 connect as下的选项是作为不同身份登录,当然用户名也不同(sys,system等) 来源: CSDN 作者: ITarmi 链接:

Oracle体系架构和导入/导出

丶灬走出姿态 提交于 2020-03-03 13:34:12
1. Oracle的体系架构 Oracle的体系结构是数据库的组成,工作过程,以及数据库中数据的组织与管理机制,要了解oracle数据库的体系结构,就必须要理解oracle的主要组件和重要的概念。Oracle体系结构包含一系列组件,包括实例、用户进程、服务进程、数据文件及其他文件,如参数文件、口令文件和归档日志文件等 2. 表空间的含义 表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。 Oracle 数据库中至少存在一个表空间,即 SYSTEM 的表空间。 SQL Server 数据库与 Oracle 数据库之间最大的区别要属表空间设计。 Oracle 数据库开创性地提出了表空间的设计理念,这为 Oracle 数据库的高性能做出了不可磨灭的贡献。可以这么说, Oracle 中很多优化都是基于表空间的设计理念而实现的。 3. 用户和权限之间的关系 1 、用户:应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于 0 ~ n 个角色,可属于 0 ~ n 个组。他的权限集是自身具有的权限、所属的各角色具有的权限、所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是 n 对 n 的关系。 2 、权限:系统的所有权限信息具有上下级关系,是一个树状的结构。对于每个权限,又存在两种情况

Oracle数据库管理——表数据库高水位及shrink操作

老子叫甜甜 提交于 2020-03-03 11:53:55
在Oracle数据的存储中,可以把存储空间想象为一个水库,数据想象为水库中的水。水库中的水的位置有一条线叫做水位线,在Oracle中,这条线被称为高水位线(High-warter mark, HWM)。在数据库表刚建立的时候,由于没有任何数据,所以这个时候水位线是空的,也就是说HWM为最低值。当插入了数据以后,高水位线就会上涨,但是这里也有一个特性,就是如果你采用delete语句删除数据的话,数据虽然被删除了,但是高水位线却没有降低,还是你刚才删除数据以前那么高的水位。也就是说,这条高水位线在日常的增删操作中只会上涨,不会下跌。 下面我们来谈一下Oracle中Select语句的特性。Select语句会对表中的数据进行一次扫描,但是究竟扫描多少数据存储块呢,这个并不是说数据库中有多少数据,Oracle就扫描这么大的数据块,而是Oracle会扫描高水位线以下的数据块。现在来想象一下,如果刚才是一张刚刚建立的空表,你进行了一次Select操作,那么由于高水位线HWM在最低的0位置上,所以没有数据块需要被扫描,扫描时间会极短。而如果这个时候你首先插入了一千万条数据,然后再用delete语句删除这一千万条数据。由于插入了一千万条数据,所以这个时候的高水位线就在一千万条数据这里。后来删除这一千万条数据的时候,由于delete语句不影响高水位线,所以高水位线依然在一千万条数据这里

Oracle 常用命令

為{幸葍}努か 提交于 2020-03-03 11:41:50
Oracle 常用命令 --连接数据库: sqlplus / as sysdba sqlplus 用户名/密码@数据库名 as sysdba --连远程主机的数据库: sqlplus 用户名/密码@IP地址/数据库名称 as sysdba --改行宽度 set linesize 2000; --改行数 set pagesize 1000; --1、查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name; --6、查看表空间的使用情况 SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name FROM dba_free_space GROUP BY tablespace_name; SELECT a.tablespace_name, a.bytes total, b.bytes used, c.bytes free, (b.bytes * 100) / a.bytes "% USED

Oracle数据库高水位释放——LOB字段空间释放

半城伤御伤魂 提交于 2020-03-03 11:28:28
在Oracle数据库中表随着数据增长,所占磁盘容量也会增长,当表中数据不再需要时,对表进行delete操作,表中代表所占空间的标志-高水位,不会随着数据删除而下降,高水位没有变化,即使删除了数据库,表所占空间大小仍然不变,因此,如果要释放空间,就需要对表进行如下处理: 一、如果表所在的表空间是段空间自动管理(即ASSM),可对表进行shink操作,来释放空闲数据块,降低高水位,shink操作可不用暂停所有业务: 查看表空间是否是段空间自动管理(ASSM)可以通过视图dba_tablespaces查看。 命令: select tablespace_name , segment_space_manegement from dba_tablespaces ; 如果segment_space_manegement的值不是AUTO,表示表空间不是ASSM,则不能进行shink操作,只能对表进行move的操作。 具体对表进行shrink操作方法,可参考:https://blog.csdn.net/qq_32838955/article/details/104625220 二、释放高水位也可以对表进行move操作,进行move操作时需要停止一切业务。但是对表进行move操作后,表上的索引和约束会全部失效,需要进行rebuild重建。 move操作的命令: alter table table