oracle怎么配置数据库

oracle怎么配置数据库,第1张

假设数据所在服务器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

在windows下,重启oracle数据库需要先停止,重启,以下是步骤:

1、关闭数据库:win+r,输入如下代码停止:

set ORACLE_SID=SID_Name,回车。

sqlplus /nolog

SQL> connect / as sysdba

SQL> shutdown immediate

SQL> exit

2、启动数据库:win+r,输入如下代码启动:

set ORACLE_SID=你的数据库SID名字

sqlplus /nolog

SQL> connect / as sysdba

SQL> startup

SQL> exit

Oracle Database:

是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

oracle数据库特点:

数据的大量性、数据的保存的持久性、数据的共享性、数据的可靠性。

把查出来的数据做一个表g,arsc_status_cd as rsc_status

使用update g set grsc_status = '43'。

使用b表数据更新a表,那么where条件是什么,也就是说,更新a表中哪些数据,用b表中的哪些数据更新,二者的关系是什么。从你的语句中我看不出b表和a表的关联。

找到关联条件后,通过关联条件查出的b表数据是否唯一,如果不唯一,还是会出现“返回值多于一行”的错误。

逻辑结构

它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。

总之,逻辑结构由逻辑存储结构(表空间,段,范围,块)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成,而其中的模式对象(逻辑数据结构)和关系形成了数据库的关系设计。

百度百科-Oracle数据库

一 什么是oracle字符集

Oracle字符集是一个字节数据的解释的符号集合 有大小之分 有相互的包容关系 ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储 处理 检索数据 它使数据库工具 错误消息 排序次序 日期 时间 货币 数字 和日历自动适应本地化语言和平台

影响oracle数据库字符集最重要的参数是NLS_LANG参数 它的格式如下:

NLS_LANG = language_territory charset

它有三个组成部分(语言 地域和字符集) 每个成分控制了NLS子集的特性 其中:

Language 指定服务器消息的语言 territory 指定服务器的日期和数字格式 charset 指定字符集 如:AMERICAN _ AMERICA ZHS GBK

从NLS_LANG的组成我们可以看出 真正影响数据库字符集的其实是第三部分 所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据 前面影响的只是提示信息是中文还是英文

二 如何查询Oracle的字符集

很多人都碰到过因为字符集不同而使数据导入失败的情况 这涉及三方面的字符集 一是oracel server端的字符集 二是oracle client端的字符集;三是dmp文件的字符集 在做数据导入的时候 需要这三个字符集都一致才能正确导入

查询oracle server端的字符集

有很多种方法可以查出oracle server端的字符集 比较直观的查询方法是以下这种:SQL>select userenv( language ) from dual;

结果类似如下:AMERICAN _ AMERICA ZHS GBK

如何查询dmp文件的字符集

用oracle的exp工具导出的dmp文件也包含了字符集信息 dmp文件的第 和第 个字节记录了dmp文件的字符集 如果dmp文件不大 比如只有几M或几十M 可以用UltraEdit打开( 进制方式) 看第 第 个字节的内容 如 然后用以下SQL查出它对应的字符集:

SQL> select nls_charset_name(to_number( xxxx )) from dual;

ZHS GBK

如果dmp文件很大 比如有 G以上(这也是最常见的情况) 用文本编辑器打开很慢或者完全打不开 可以用以下命令(在unix主机上):

cat exp dmp |od x|head |awk {print $ $ } |cut c

然后用上述SQL也可以得到它对应的字符集

查询oracle client端的字符集

这个比较简单 在windows平台下 就是注册表里面相应OracleHome的NLS_LANG 还可以在dos窗口里面自己设置 比如:

set nls_lang=AMERICAN_AMERICA ZHS GBK

这样就只影响这个窗口里面的环境变量

在unix平台下 就是环境变量NLS_LANG

$echo $NLS_LANG

AMERICAN_AMERICA ZHS GBK

如果检查的结果发现server端与client端字符集不一致 请统一修改为同server端相同的字符集

三 修改oracle的字符集

上文说过 oracle的字符集有互相的包容关系 如us ascii就是zhs gbk的子集 从us ascii到zhs gbk不会有数据解释上的问题 不会有数据丢失 在所有的字符集中utf 应该是最大 因为它基于unicode 双字节保存字符(也因此在存储空间上占用更多)

一旦数据库创建后 数据库的字符集理论上讲是不能改变的 因此 在设计和安装之初考虑使用哪一种字符集十分重要 根据Oracle的官方说明 字符集的转换是从子集到超集受支持 反之不行 如果两种字符集之间根本没有子集和超集的关系 那么字符集的转换是不受oracle支持的 对数据库server而言 错误的修改字符集将会导致很多不可测的后果 可能会严重影响数据库的正常运行 所以在修改之前一定要确认两种字符集是否存在子集和超集的关系 一般来说 除非万不得已 我们不建议修改oracle数据库server端的字符集 特别说明 我们最常用的两种字符集ZHS GBK和ZHS CGB 之间不存在子集和超集关系 因此理论上讲这两种字符集之间的相互转换不受支持

修改server端字符集(不建议使用)

在oracle 之前 可以用直接修改数据字典表props$来改变数据库的字符集 但oracle 之后 至少有三张系统表记录了数据库字符集的信息 只改props$表并不完全 可能引起严重的后果 正确的修改方法如下:

$sqlplus /nolog

SQL>conn / as sysdba;

若此时数据库服务器已启动 则先执行SHUTDOWN IMMEDIATE命令关闭数据库服务器 然后执行以下命令:

SQL>STARTUP MOUNT;

SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;

SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES= ;

SQL>ALTER SYSTEM SET AQ_TM_PROCESSES= ;

SQL>ALTER DATABASE OPEN;

SQL>ALTER DATABASE CHARACTER SET ZHS GBK;

SQL>ALTER DATABASE national CHARACTER SET ZHS GBK;

SQL>SHUTDOWN IMMEDIATE;

SQL>STARTUP

修改dmp文件字符集

上文说过 dmp文件的第 第 字节记录了字符集信息 因此直接修改dmp文件的第 第 字节的内容就可以 骗 过oracle的检查 这样做理论上也仅是从子集到超集可以修改 但很多情况下在没有子集和超集关系的情况下也可以修改 我们常用的一些字符集 如US ASCII WE ISO P ZHS CGB ZHS GBK基本都可以改 因为改的只是dmp文件 所以影响不大

具体的修改方法比较多 最简单的就是直接用UltraEdit修改dmp文件的第 和第 个字节 比如想将dmp文件的字符集改为ZHS GBK 可以用以下SQL查出该种字符集对应的 进制代码:

SQL> select to_char(nls_charset_id( ZHS GBK ) xxxx ) from dual;

然后将dmp文件的 字节修改为 即可

lishixinzhi/Article/program/Oracle/201311/17875

以上就是关于oracle怎么配置数据库全部的内容,包括:oracle怎么配置数据库、如何重启oracle数据库windows、Oracle数据库数据修改语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9530192.html

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

发表评论

登录后才能评论

评论列表(0条)

保存