exp/imp属于逻辑备份;处理起来速度有点慢。
你可以尝试关机后将数据文件,控制文件,日志文件等全部copy出去备份起来,这叫冷备份。
等弄完系统后,再安装一个跟当前oracle的sid一样的oracle实例,将对应文件copy上去就可以了。
参考1: exp迁移数据库实例
环境描述:
源数据库
Oracle服务器版本: Oracle9208
数据库名称 db_name = oradb instance_name=oradb
*** 作系统版本: windows 2003
实例安装位置: $oracle_base = e:\oracle
目标数据库
Oracle服务器版本: Oracle9208
数据库名称 db_name = orcl instance_name=orcl
*** 作系统版本: windows xp
实例安装位置: $oracle_base = d:\oracle
执行步骤
一, 数据库名称和sid要求相同
11 数据库名称的相关概念
一, 数据库名
数据库名是数据库的身份z号码, 用于表示一个数据库 在参数文件(/database/initSIDora)中用DB_NAME表示
db_domain=''
db_file_multiblock_read_count=16
db_name='oradb'
instance_name='oradb'
数据库名是在安装数据库, 创建新的数据库, 创建数据控制文件, 修改数据库结构, 备份与恢复数据库时都需要使用到的
查询数据库名称:
Select name, dbid from v$database;
Show parameter db_name;
查看参数文件initsidora
二, 数据库实例名
数据库实例名是用户和 *** 作系统进行联系的标识, 也就是说数据库和 *** 作系统之间的交互使用的是数据库实例名
实例名在参数文件中也存在, 该参数为instance_name
数据库名和实例名可以相同也可以不同, 在一般情况下, 数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中, 数据库名和实例名是一对多的关系
查询当前数据库实例名
使用sql语句 Select instance_name from v$instance;
使用show命令 Show parameter instance_name;
查看参数文件initsidora
数据库实例名和oracle_sid两者都表示oracle实例, 但是有区别的 Instance_name是oracle数据库参数 而oracle_sid是 *** 作系统的环境变量 Oracle_sid用于于 *** 作系统交互, 也就是说, 从 *** 作系统角度访问实例名, 必须通过oracle_sid
Oracle_sid和instance_name必须是一致的, 否则用户将会受到一个错误 在unix平台, 是oracle not available, 在winnt平台, 是tns, 协议适配器错误
三, 数据库域名与全局数据库名
随着由多个数据库构成的分布式数据库的普及, 单一的db_name表示的数据库命名方式给数据库的管理造成了一定的负担 因为分布式环境下的数据库名字可能一样, 造成管理上的混乱
为了解决这种情况, 引入了db_domain参数, 这样在数据库的标识是由db_name和db_domain两个参数共同决定的 避免了因为数据库重名而造成管理上的混乱
查询数据库域名
使用sql命令 select value from v$parameter where name = ‘db_domain’;
使用show命令 show parameter domain
查看参数文件initsidora
四, 数据库服务名
该参数是oracle8i新引入的 在8i之前, 我们用sid来表示数据库的一个实例, 但是在oracle的并行环境中, 一个数据库对应多个实例, 这样就需要多个网络服务名, 设置繁琐 为了方便并行环境中的设置, 引进了service_name参数 该参数对应一个数据库, 而不是一个实例 该参数的初始值为db_namedb_domain, 即等于global_name 如果数据库有域名, 则数据库服务器名就是全局数据库名; 否则, 数据库服务名与数据库名相同
查询数据库服务名的方法
使用sql语句: select value from v$parameter where name = ‘service_name’;
使用show命令: show parameter service_name;
查看参数文件: 在参数文件initsidora中查询
五, 网络服务名
网络服务名, 又称为数据库别名, 是客户端程序访问数据库时需要的配置 屏蔽客户端如何连接到服务器端的细节, 实现了数据库的位置透明的特性 网络服务名被记录在tnsnamesora文件中
六, 总结
Oracle中各种命名的比较
名称 查询方式
Db_name Select name from v$database
Instance_name Select instance_name from v$instance
Oracle_sid 值和instance_name相同
Db_domain Select value from v$parameter where name = ‘db_domain’;
Global_name Db_namedb_dommain
Service_name Select value from v$parameter where name=’service_name’;
Net_service_name 检查tnsnamesora文件
12 修改oracle数据库的db_name和sid
一,用oracle自带的工具nid改数据库名
在本例中,假设原来的数据库名为orcl, 要改成oradb, 原实例名(service_name, instance_name)orcl要改成oradb。
Nid是自带的工具, 在oracle_home/bin目录下, 以下方法假设登陆到需要修改db_name的数据库服务器本地处理。
1, 在mount状态下使用nid修改sid
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL> conn / as sysdba
SQL> shutdown immediate
SQL> startup mount -- nid需要在mount状态下处理。
SQL> host nid target=/ dbname=oradb
处理过程中需要与用户执行一次交互。
Change database ID and database name ORCL to ORADB (Y/[N]) => Y
2, 在mount状态下修改db_name
完成上述 *** 作后需要再次启动到mount状态修改参数文件。
SQL> shutdown immediate
SQL> startup mount
SQL> alter system set db_name=oradb scope=spfile;
SQL> shutdown immediate
3, 重建pwdsidora文件
Passwd文件通常放在oracle_home/database下, 文件命名形式为pwdsidora, sid为实例名(instance_name)
SQL> host orapwd file=D:\oracle\ora92\database\pwdorclora password=sys_47522341 entries=5;
4, 开启数据库(要open resetlogs)
SQL> startup mount
SQL> alter database open resetlogs;
5, 检查修改后的结果
SQL> select name from v$database;
二, 使用oradim工具修改instance_name
执行完步骤一中的 *** 作后, 数据库db_name变为oradb, 但instance_name依然还是orcl。 这个名称需要使用oracle的oradim工具进行修改。
1, 如果是windows系统, 先要将所有的oracle服务关闭, 否则会出错。
2, 将之前的instance_name删除
C:\Documents and Settings\Administrator>oradim -delete -sid orcl
3, 创建密码文件
SQL> host orapwd file=D:\oracle\ora92\database\pwdoradbora password=sys_47522341 entries=5;
4, 创建一个新的sid。
C:\Documents and Settings\Administrator>oradim -new -sid oradb
C:\Documents and Settings\Administrator>oradim -new -sid oradb
5, 进入oracle并创建spfile
设置环境变量oracle_sid=oradb
C:\Documents and Settings\Administrator>set oracle_sid = oradb
修改spfile里实例信息(包含路径里的zs改为zstest,OS目录zs改为zstest)
//如果此处不修改路径中的zs到zstest则后面应无需重建控制文件
C:\Documents and Settings\Administrator>sqlplus sys/admin as sysdba
SQLPlus: Release 102010 - Production on 星期四 7月 3 16:23:16 2008
Copyright (c) 1982, 2005, Oracle All rights reserved
已连接到空闲例程。
//先从spfile创建pfile
SQL> create pfile='D:\oracle\product\1020\admin\zs\pfile\init080703ora' from
spfile='D:\oracle\product\1020\db_1\database\SPFILEZSORA';
文件已创建。
//调整pfile里的参数后再创建spfile
SQL> create spfile='D:\oracle\product\1020\db_1\database\SPFILEZSTESTORA' fro
m pfile='D:\oracle\product\1020\admin\zstest\pfile\init080703ora';
文件已创建。
5)更改listenerora和tnsnamesora并重启listener
直接编辑这两个文件将里面的sid_name、dbname和service_name都改为zstest
6)因为更改了OS数据库目录路径(zs改为zstest)所以需要重建controlfiles
//创建控制文件的脚本可以再旧数据库的时候使用如下语句获得:
alter database backup controlfile to trace as 'd:\controlfiletxt';
再做修改即可使用。
SQL> CREATE CONTROLFILE REUSE DATABASE "ZSTEST" RESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 (
9 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\REDO01ALOG',
10 'E:\ORADATA\ZSTEST\REDO01BLOG'
11 ) SIZE 250M,
12 GROUP 2 (
13 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\REDO02ALOG',
14 'E:\ORADATA\ZSTEST\REDO02BLOG'
15 ) SIZE 250M,
16 GROUP 3 (
17 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\REDO03ALOG',
18 'E:\ORADATA\ZSTEST\REDO03BLOG'
19 ) SIZE 250M
20 DATAFILE
21 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\SYSTEM01DBF',
22 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\UNDOTBS01DBF',
23 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\SYSAUX01DBF',
24 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\USERS01DBF',
25 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\EXAMPLE01DBF',
26 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\ZSKJ_DATA01DBF',
27 'E:\ORADATA\ZSTEST\ZSKJ_DATA02DBF',
28 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\ZS_DATA01DBF',
29 'E:\ORADATA\ZSTEST\ZS_DATA02DBF',
30 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\ZS_IDXDATA01DBF',
31 'E:\ORADATA\ZSTEST\ZS_IDXDATA02DBF',
32 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST\ZSKJ_IDXDATA01DBF',
33 'E:\ORADATA\ZSTEST\ZSKJ_IDXDATA02DBF'
34 CHARACTER SET ZHS16GBK;
控制文件已创建。
SQL> alter database open resetlogs;
数据库已更改。
//重建完控制文件记得要重新启用temp表空间,再trace的控制文件脚本里有提示
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\1020\ORADATA\ZSTEST
\TEMP01DBF'
2 SIZE 20971520 REUSE AUTOEXTEND ON NEXT 524288000 MAXSIZE 32767M;
表空间已更改。
二, 镜像迁移数据文件,控制文件以及归档日志文件
21 数据文件存储位置
视图 v$datafile;
Select file#, name from v$datafile;
22 控制文件存储位置
视图 v$controlfile
Select name from v$controlfile;
23 联机重做日志文件存储位置
视图 v$logfile;
Select from v$logfile;
三, 镜像跟踪文件和警告文件到目标数据库
如果源数据库的安装路径和目标数据库不一致, 则需要在源数据库中先使用spfilesidora创建一个initsidora, 然后到目标数据库中修改initsidora对应文件的配置 然后再创建一个spfileora
31 在源数据库中创建pfile
SQL> create pfile='E:\oracle\admin\oradb\pfile\initoradb20090922ora' from spfile='E:\oracle\ora92\database\spfileoradbora';
32 将跟踪文件和警告文件镜像到目标数据库
源数据库路径
$oracle_base/admin
33 在目标数据库中修改pfile
修改在31中生成的pfile文件initoradb20090922ora, 将其中与目标数据库配置路径不同的地方替换为目标数据库中对应的路径
34 常见的手工修改spfile的错误
Oracle的spfile是一个二进制文件, 这个文件不能采用手工修改的方式进行维护 可以选择的维护方式有两种, 一是在登录到服务器后使用alter system set … scope=both/spfile来实现 或者是先通过create pfile from spfile 然后修改pfile的内容 之后使用startup pfile=’’启动数据库后,再执行create create spfile from pfile来完成对spfile的修改
在数据库的迁移中, 只能采用第二种方式
四, 重新生成控制文件
41 在目标数据库中备份控制文件到跟踪文件中
首先,我们使用下述命令备份源数据库的控制文件;
SQL> alter database backup controlfile to trace as 'd:\zhangleitxt';
42 修改控制文件中的内容
将上面步骤产生的控制文件中与目标数据库不匹配的内容使用目标数据库的路径替换
CREATE CONTROLFILE REUSE DATABASE "ORADB" NORESETLOGS ARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'E:\ORACLE\ORADATA\ORADB\REDO01LOG' SIZE 100M,
GROUP 2 'E:\ORACLE\ORADATA\ORADB\REDO02LOG' SIZE 100M,
GROUP 3 'E:\ORACLE\ORADATA\ORADB\REDO03LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'E:\ORACLE\ORADATA\ORADB\SYSTEM01DBF',
'E:\ORACLE\ORADATA\ORADB\UNDOTBS01DBF',
'E:\ORACLE\ORADATA\ORADB\CWMLITE01DBF',
'E:\ORACLE\ORADATA\ORADB\DRSYS01DBF',
'E:\ORACLE\ORADATA\ORADB\EXAMPLE01DBF',
'E:\ORACLE\ORADATA\ORADB\INDX01DBF',
'E:\ORACLE\ORADATA\ORADB\ODM01DBF',
'E:\ORACLE\ORADATA\ORADB\TOOLS01DBF',
'E:\ORACLE\ORADATA\ORADB\USERS01DBF',
'E:\ORACLE\ORADATA\ORADB\XDB01DBF',
'E:\ORACLE\ORADATA\ORADB\ASSMDBF',
'E:\ORACLE\ORADATA\ORADB\PERFSTAT01DBF',
'E:\ORACLE\ORADATA\ZHANGLEIDBF',
'E:\ORACLE\ORADATA\ORADB\CTL01DBF'
CHARACTER SET ZHS16GBK
;
43 在目标数据库中执行替换后的控制文件
将上面替换后的sql语句拿到目标数据库中进行执行
完成后, 可以使用下面的语句打开数据库
Sql> alter database open resetlogs;
44 生成spfile文件
SQL> create spfile='D:\oracle\ora92\database\spfileoradbora' from pfile='D:\oracle\admin\oradb\pfile\initoradb20090922ora';
45 重启数据库完成数据库迁移
到这一步完成, 数据库已经迁移成功
重新启动数据库, 使用spfile登录
SQL> shutdown immediate;
SQL> startup
在把Oracle查询结果转换为SQL
Server的时候要特别当心一些不容易注意到的问题。
我们知道,T-SQL是SQL
Server的语言引擎,而Oracle的语言引擎却是PLSQL这两种查询语言都对
ANSI
SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何
对这些扩展进行转化以用在SQL
Server环境下。
列的选择
用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL
Server的要求是一样的。
SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUALDUAL表由
Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2
(1)类型,有一行值X
从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
Oracle下的DUAL查询如下所示:
SELECT
‘x’
FROM
dual
而对等的SQL
Server查询则是下面这个样子:
SELECT
‘x’
连接
Oracle用||
符号作为连接符,而SQL
Server的连接符是加号:+
Oracle查询如下所示:
Select
‘Name’
||
‘Last
Name’
From
tableName
对应的SQL
Server查询如下所示:
Select
‘Name’
+
‘Last
Name’
数字取舍
Oracle数据库内有一个TRUNC函数,该函数返回m位十进制数的n位;如果省略m则n就是0位。m的值可以为负,表示截去小数点左边m位数字。
在SQL
Server下可以用Round或者Floor
以下是Oracle查询:
SELECT
TRUNC(1579,1)
"Truncate"
FROM
DUAL;
下面是同类查询的SQL
Server版本:
SELECT
ROUND(1579,
0)
rounded
,
ROUND(1579,
0,1)
truncated
SELECT
FLOOR(ROUND(1579,
0)),
FLOOR(ROUND(1579,
0,1)
)
在把Oracle查询转换为SQL
Server的时候要特别当心一些不容易注意到的问题。我们知道,T-SQL是SQL
Server的语言引擎,而Oracle的语言引擎却是PLSQL这两种查询语言都对
ANSI
SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何
对这些扩展进行转化以用在SQL
Server环境下。
列的选择
用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL
Server的要求是一样的。
SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUALDUAL表由
Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2
(1)类型,有一行值X
从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
Oracle下的DUAL查询如下所示:
SELECT
‘x’
FROM
dual
而对等的SQL
Server查询则是下面这个样子:
SELECT
‘x’
连接
Oracle用||
符号作为连接符,而SQL
Server的连接符是加号:+
Oracle查询如下所示:
Select
‘Name’
||
‘Last
Name’
From
tableName
对应的SQL
Server查询如下所示:
Select
‘Name’
+
‘Last
Name’
假设数据库所在服务器IP地址:19216801
数据库实例名为:ora92
用户名:umap
密码:umap
第一步打开配置程序
位于:程序-->Oracle - OraHome92-->Configuration and Migration Tools-->Net Configuration Assistant ;
第二步:选择配置项:
打开程序后,出现的界面中有四个选项, 分别为(1)监听程序配置,(2)命名方法配置,(3)本地NET服务名配置,(4)目录使用配置 这里我们选择第3个,点下一步
第三步:根据需要选择 *** 作内容,是添加还是对以前的配置进行修改或删除;
第四步:根据您要连接的Oracle数据据库版本选择, 这里我们选择Oracle8i或更高版本数据库或服务;
第五步:服务名,输入示例中的实例名;
第六步:选择TCP;
第七步:主机名:输入示例中的IP地址; 使用默认端口1521;
第八步:使用您的登录帐户与密码进行连接测试
“ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务”的解决方法
ORA-12154:TNS:无法处理服务名
解决方案:
1服务是否打开
2监听是否打开
3C:\oracle\ora92\network\admin目录下tnsnamesora文件中是否有你建的库名和主机名
比如:
AA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =1014410089)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = AA)
)
)
SQL SERVER连接oracle数据库几种方法2010年08月27日星期五 09:35 PM--1 方式
--查询oracle数据库中的表
SELECT
FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;UserID=DAIMIN;Password=DAIMIN'
)DAIMINJOBS
举一反三:在查询分析器中输入:
SELECT
FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=ORCL;User ID=SYSTEM;Password=manager'
)HKDYS_HD_HKDY
--在sqlserver中创建与oracle数据库中的表同名的表
select into JOBS from
OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User ID=daimin;Password=daimin'
)DAIMINJOBS
select from JOBS
--2、方式
--在master数据库中查看已经存在的链接服务器
select from sysservers
EXEC sp_addlinkedserver
@server = 'GE160',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'GE160'
exec sp_addlinkedsrvlogin 'GE160', false,'sa', 'daimin', 'daimin'
--要在企业管理器内指定登录帐号
exec sp_dropserver GE160
select from GE160DAIMINJOBS
delete from GE160DAIMINJOBS
--备注:引用ORACLE服务器上的表时,用户名称与表名一定要大写字母。
SELECT
FROM OPENQUERY(GE160, 'SELECT FROMDAIMINJOBS')
--3、方式
SELECT a
FROM OPENROWSET('MSDAORA',
'GE160';'DAIMIN';'DAIMIN',
DAIMINJOBS) AS a
ORDER BY aJOB_ID
--4、方式 ODBC
--ODBC方式比较好办
SELECT A
FROMOPENROWSET('MSDAORA','GE160';'DAIMIN';'DAIMIN', --GE160是数据源名
DAIMINJOBS) AS A
ORDER BY AJOB_ID
你说的比较范范,我只能让你看看语句大全,你可以全面了解
Oracle数据库语句大全
ORACLE支持五种类型的完整性约束
NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值
CHECK (检查)--检查在约束中指定的条件是否得到了满足
UNIQUE (唯一)--保证在指定的列中没有重复值在该表中每一个值或者每一组值都将是唯一的
PRIMARY KEY (主键)--用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束
POREIGN KEY (外部键)--通过使用公共列在表之间建立一种父子(parent-child)关系,在表上定义的外部键可以指向主键或者其他表的唯一键ORACLE支持五种类型的完整性约束
NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值
CHECK (检查)--检查在约束中指定的条件是否得到了满足
UNIQUE (唯一)--保证在指定的列中没有重复值在该表中每一个值或者每一组值都将是唯一的
PRIMARY KEY (主键)--用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束
POREIGN KEY (外部键)--通过使用公共列在表之间建立一种父子(parent-child)关系,在表上定义的外部键可以指向主键或者其他表的唯一键
1--设置每行显示多少字符 set linesize 300;
2 设置每页显示多少条记录 set pagesize 30;
3 用户名的切换: 如 conn system/tiger
Conn sys/change_on_install as sysdba(注意超级用户 在后面加as sysdba)
4 在超级用户下查找普通用户的表是查不到的 必须这样查找 如 select from scottemp(普通用户下的emp表)
5 查看当前是那个用户身份登录: show user;
6 查看有多少张表: select from tab;(注意不同用户下的表是不同的)
7查看表的结构: desc emp(emp为表名)
8 取出重复的列(DISTINCT): 如 SELECT DISTINCT JOB EMP(去掉job的重复的值)
9字符串的链接 *** 作用: ||
10 查询有奖金的员工: select from emp where comm is not null;
11 查询没有奖金的员工信息: select from emp where comm is null;
12 两个条件以上就得用and 如查询工资大雨1500和有奖金的员工 select from emp where sal>1500 and comm is not null;
13 表示两个条件有一个满足就可就用:or 如查询工资大于1500或者没有奖金的员工信息
Select from emp where sal>1500 or comm is not null;
14取反可以用not 如 查询员工工资不大于1500和有奖金的员工信息 如:
Select from emp where not (sal>1500 or comm is not null);
15 在什么什么之间用between----and----如查询工资在1500和3000之间的员工信息:
Select from emp where sal between 1500 and 3000;
16 查询员工编号是2323, 4555, 2222的员工具体信息: 如
Select from emp where empno in(2323,4555,2222);
17l模糊查询 like 一般结合"%"和"_"使用其中%:表示可以匹配任意长度的内容,"_"表示匹配一个长度放入内容 如: 查询员工姓名中第二哥字母是M的员工信息:
Select from emp where ename LIKE '_M%';
又如姓名中包含M的员工 Select from emp where ename LIKE '%M%';
18oracle中不等于有两种表示方式"<>"和"!="
19 排序用order by {asc desc}其中asc 是升序排列 如果不写就默认按升序排列desc是按降序排列 排序语句放在sal语句的最后如: 按员工工资进行排序
Select from emp order by sal asc(升序)
Selecct from emp order by sal desc(降序)
Select from emp where deptno='10' order by sal desc,hiredate asc;(查询部门10的员工工资的升序排列如果工资相等就按员工的入职时间排序)
20group by 用于对查询的结果进行分组统计: 显示每个部门的平均工资和最高工资 如:
Select avg(sal),max(sal) from emp group by deptno;
Having 子句用于限制分组显示结果: 显示平均工资大于2000的的部门号和他的平均工资
如:select avg(sal), deptno from emp group by deptno having avg(sal)>2000;
2 单行函数:
1 小写变大写: upper 如 select from emp where ename=upper('smith');
讲一个字符串变为小写字母表示 如: select lower('HELLO WORLD') FROM DUAL;
将单词的首字母变大写 用 INITCAP 如: SELECT INITCAP('HELLO WORLD') FROM DUAL;
2字符串的 *** 作
Substr()截取字符串 length()字符串的长度 replace()替换字符串
3数值函数
四舍五入: round();
截断小数位:trunc();
1、如果列名不适合,那么可以使用alter table语句的rename column子句改变列名。
2、用plsql developer工具修改方便。
Oracle数据库一个最重要的部分就是数据字典,是只读类型的表的集合,提供数据库的信息。
一个数据字典包括: 数据库对象所有的框架对象的定义〔表、视图、索引、群集、同义词、序列、过程、函数、包、触发器等)。
数据字典的结构是表和视图,就像其他数据库数据一样,一个给定数据库的所有数据字典表的和视图都存储在数据库的SYSTEM表空间中。数据字典不但是每个Oracle数据库的重要组戍部分之一,同时对于所有的用户,从应用设计人员到数据库管理员,都是非常重要的工具。可以使用SQL语句访问数据字典,由于数据字典是只读的,所以只能使用SELECT语句访问数据字典的表和视图。
1、首先我们打开电脑桌面,同时按windows徽标键和R键,在d出来的窗口里输入,regedit,点击OK按钮。
2、打开后进入注册表界面。
3、打开后找到HKEY_LOCAL_MACHINE下的SOFTWARESOFTWARE下有Oracle选项,自己查找即可找到。
4、oracle下有好几个目录,可以都点点,因为目录名字可能不一样,不能肯定的说就是跟我的截图一样,可以明确的是,我们要找的注册项就是NLS_LANG。
5、找到后双击进行编辑,将nls_lang=SIMPLIFIED CHINESE_CHINAZHS16GBK修改成其他字符集,编辑后保存即可。
在以SYSDBA身份登陆时可以修改其他用户的密码,比如:用户已更改。在以SYSDBA身份登陆时可以修改其他用户的密码,比如:用户已更改。一般来说,oracle数据库安装后,里面有很多个默认账号和密码,比较常用的是:账号:scott
密码:tiger
账号:system
密码:manager
账号:sys
密码:任意字符。当我们想创建一个账号时,可以使用sys登录sysdba后,创建用户(需要授权),代码如下我们一般使用的是用scott登录sysdba,这时候有可能出现账户未解锁的状态,这时候可以用来解锁账户。解锁之后可能会要求你改密码:可以用
以上就是关于oracle 10g数据备份与恢复全部的内容,包括:oracle 10g数据备份与恢复、oracle数据库,查询到的结果怎样修改、oracle怎么配置数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)