您的位置:首页 > 数据库 > Oracle

Oracle快捷版安装、使用、基本操作、错误解决

2015-11-18 17:38 441 查看
最近安装使用了Oracle数据库,下载的是快捷版,因为它是免费的。我发现安装的过程和使用的过程比mysql要复杂的多的多,而且还有PL/SQL等工具的安装和使用,因此写出来希望能帮助新手更好的解决问题。

-------------------------------------------------------Oracle安装步骤-----------------------------------------------------------

一、Oracle数据库快捷免费版:http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

安装目录:D:\tools\oraclexe

二、Oracle即时客户端:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

安装目录:D:\tools\oraclexe\app\oracle\product\instantclient_12_1

注意:instantclient一定要下载32位的,因为PLSQL_Developer没有64位的

在该目录下建network\ADMIN两层目录,然后找到文件D:\tools\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora复制到这里。

文件中输入DB的连接字符串如:

XE =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = luenxin-work-pc)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = XE)

    )

  )

注:第一行XE前边一定不能有空格

设置环境变量:

TNS_ADMIN=D:\tools\oraclexe\app\oracle\product\instantclient_12_1

NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(注意中间有空格,这个如果不设,toad查询中文会是乱码)

三、再下载PL/SQL Developer,32位的

打开PLSQL_Developer后,取消登陆,进入主界面。

1.点击--Tools--Preference--Connection:

修改Oracle Home和OCI Library路径为:

Oracle Home :D:\tools\oraclexe\app\oracle\product\instantclient_12_1

OCI Library :D:\tools\oraclexe\app\oracle\product\instantclient_12_1\oci.dll

注意:在安装PL/SQL Developer时,特别注意不要安装在Program Files(x86)下面,因为PL/SQL Developer出现”()”会导致错误。

四、如果使用Navicat for Oracle,Oracle即时客户端instantclient如果使用32位,那么Navicat也必须使用32位的,他们要一致。

------------------------------------------------------Oracle基本操作-----------------------------------------------------------------------------

五、Oracle概念:

服务名(SID):是Oracle服务端的oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora文件中配置的,默认是XE,改了之后会连不上服务。

               客户端也有tnsnames.ora文件,这里的服务名可以改,目前还没有报错,具体影响尚不可知。

数据库实例:即是相当于在Navicat中创建的一个连接

用户即是登陆用的常规意义的用户,也相当于连接中的一个数据库的含义,该用户下就可以建表了。

六、登陆

打开SQL*PLUS,输入命令connect as sysdba,输入管理员用户名SYS和密码

七、创建表空间

create tablespace jw

DATAFILE 'D:\tools\oraclexe\app\oracle\oradata\XE\jw' size 1028M     // 表空间的物理地址和空间大小

autoextend on next 500M maxsize 20480M     // 空间自动增长,如果空间满自动增长500M,最大增长到20480M

extent management local; // 区间(本地管理),还有一种管理方式是(数据字典管理)

八、创建用户:

create user 用户名 identified by 密码  

default tablespace 表空间名;

系统默认SYS和SYSTEM管理员用户,其中SYS是最高权限的超级管理员,他们的密码都是在安装时设定的,一定要记住。

创建普通用户一般会授予RESOURCE权限。这里的用户在Navicat里是模式,模式的概念也就是用户,相当于mysql中的数据库概念。

九、授权:

grant connect,resource to jw;

grant create any sequence to jw;

grant create any table to jw;

grant delete any table to jw;

grant insert any table to jw;

grant select any table to jw;

grant unlimited tablespace to jw;

grant execute any procedure to jw;

grant update any table to jw;

grant create any view to jw;

--------------------------------------------------------常见错误及解决方案--------------------------------------------------------------

一. 创建表空间失败

错误信息,创建表空间出错:

SQL> create tablespace data;

ERROR at line 1:

ORA-02199: missing DATAFILE/TEMPFILE clause

原因:  创建表空间时必须指定具体的datafile的文件路径和名称

解决方法:

SQL> alter system set db_create_file_dest='D:\tools\oraclexe\app\oracle\oradata\XE\';

System altered.

SQL> show parameter db_create;

这个参数用于指定Oracle数据库服务器创建以下文件的缺省路径:Datafiles、Tempfiles、Redo log files、Control files、Block change tracking files

SQL> create tablespace data;

Tablespace created.

二. 无法导入dmp文件

打开sqlplus(SQL命令行),输入命令:

host imp 用户名/密码@服务名 full=y file=D:\tools\oraclexe\app\oracle\product\11.2.0\jwbk.dmp

注:

1.用户名不能用管理员

2.服务名是连接名,例如XE,是客户端的tnsnames.ora文件中配置的

3.dmp文件必须放在oracle有读写权限的目录,例如oracle服务端安装目录

4.有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。

5.如果报错:只有dba才能导入由其他dba导出的文件。那么解决办法是grant dba to 导入用户;之后再取消dba授权

此操作可能引起这个错误:TNS:could not resolve the connect identifier。

即无法解析指定的连接标识符,也就是服务名,或者连接名,我的是XE

三、使用Navicat for Oracle连接Oracle服务时报错:

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

意思大概是:监听器无法获取当前Oracle服务的服务名(SID)

原因:Navicat连接中的服务名或SID,与Oracle服务端tnsnames.ora文件中配置的服务名不符

解决方案:Oracle服务端tnsnames.ora文件中配置的服务名,默认是XE,最好别改,改了就会报这个错误。

因此使用Navicat连接的时候就使用XE。注意:修改tnsnames.ora后需要重启Oracle的监听服务才会生效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息