由于工作需要,我和我的同事陈一起整理了下ORACLE11G的安装以及配合PLSQL使用的方法。总结如下:
准备工作:
数据库运行环境需安装如下系统/软件:
操作系统:WIN7 64位旗舰版
WIN7家庭普通版安装Oracle数据库会报错。
Oracle数据库:Oracle 11g WIN7 64位版
Oraclewin64_11gR2_database,下载地址:
http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_1of2.zip
http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_2of2.zip
下载方法:直接点击上述网页无法打开新页面,下载时先启动迅雷,然后复制上述连接即可下载。
下载后将两个压缩文件解压缩到同一个文件夹。
客户端:Oracle 11g WIN7 32位版
Oraclewin32_11gR2_client,下载地址:
http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_client.zip
下载方法同数据库。
上述Oracle客户端为安装版,如果安装过程中报Path环境变量无法创建(因为32位版创建Path环境变量时,要求Path环境变量的总长度不超过1023,当WIN7系统安装的软件比较多时,32位客户端将安装不成功),此时客户端需采用32位免安装版,下载地址:
http://download.csdn.net/download/eisjmo/4355308
PLSQL:安装PLSQL Developer 9.0及以上版本,下载地址:
http://down.51cto.com/data/760545
注意:之所以前面Oracle客户端要采用32位版而不采用64位版,是因为PLSQL只有32位版,ORACLE客户端采用32位版时,PLSQL才能正常连接数据库。安装步骤:
本次安装采用数据库软件和实例分离的方法,即先安装数据库软件,然后安装数据库实例。
1)安装数据库服务端软件
Oracle安装基目录根据个人习惯指定,建议为D:\oracle或E:\oracle,软件位置会自动跟着基目录改变,不用设置。如下图:
2)创建监听程序
注意:一定要先创建监听程序,然后再创建数据库实例,否则可能会安装不成功。
点击开始菜单→所有程序→Oracle-OraDb11g_home1→配置和移植工具→Net Configuration Assistant。如下图:
3)创建数据库实例
点击开始菜单→所有程序→Oracle-OraDb11g_home1→配置和移植工具→Database Configuration Assistant。如下图:
Oracle客户端安装
Oracle客户端采用免安装版。 将Oracle客户端32位免安装版解压缩后拷贝到Oracle数据库安装的product目录,如下图:
打开数据库服务端下面的监听程序的配置文件,listener.ora,如下图所示:
将里面的HOST = localhost中localhost改为Oracle数据库所在的主机名,如下图:
nsnames.ora文件也同样修改。
将listener.ora和tnsnames.ora拷贝到32位客户端目录instantclient_11_2下。
设置Path系统环境变量,添加32位客户端的目录,如下图:
新建系统环境变量TNS_ADMIN,值填入Oracle数据库ADMIN目录,如下图:
新建系统环境变量NLS_LANG,如下图:
Oracle客户端部署完毕后,需重启Oracle数据库服务,可直接重启电脑的方式。重启之后,在计算机右键—管理—服务,可查看Oracle开头的相关服务,看是否已正常启动。
4、PLSQL安装
安装PLSQL时,注意安装目录不要有括号,PLSQL运行时无法识别括号,如下图:
其余按默认安装即可。
安装完成后,运行PLSQL,在登录对话框中直接点击关闭按钮,以非登录模式打开PLSQL,如下图:
点击工具—首选项,点击连接,将注销(有打开的事物)改为提交,将Oracle主目录名设置为32位客户端的目录,将OCI库设置为32位客户端目录,后加上oci.dll,如下图:
点击登录历史,将带口令存储打钩,如下图:
设置完上述两项后,先点击应用,再点击确定;如果只点击确定,将无法生效;然后重启PLSQL,用Oracle的sys或system用户连接Oracle数据库,如下图:
成功连接后界面如下图:
5、系统数据库搭建
1)设置deferred_segment_creation参数
此处的数据库为监控系统实际运行中采用的数据库,对Oracle而言,实际上是一个用户(User)。
在创建Oracle用户之前,首先进行如下参数设置:
conn sys/Oracle11g@chenlinxing:1521/ORACLE as sysdba
sys为Oracle的系统管理用户,Oracle11g为用户口令,chenlinxing为Oracle数据库所在主机名,1521为端口号,ORACLE为全局数据库实例名。
连接上之后用如下语句将deferred_segment_creation参数设置为false,并查看是否设置成功。
alter system setdeferred_segment_creation=false;
show parameterdeferred_segment_creation;
设置上述参数的作用:如果不设置,在创建User后创建表(Table)时,如果表只有字段但内容为空,则将所有表导出为dmp文件时,这些无内容的表将无法导出;设置上述参数后即可正常导出。
2)创建表空间
打开PLSQL用sys用户登录,点击DBATools—表空间管理,如下图:
点击新建按钮,输入表空间名称,如下图:
点击新建数据文件按钮,弹出数据文件属性设置对话框,如下图:
点击确定命令执行成功,创建表空间成功后,可看到表空间列表里面多了新创建的表空间,如下图:
3)创建用户
点击新建按钮—SQL窗口,新建SQL命令窗口,如下图:
上述语句为创建用户(User)的命令,点击或者按F8即可执行上述语句创建Oracle用户。
意义解释:
DBMS1为创建的用户名,即系统运行的的数据库名字,可自定义设置;
dbsapp为用户口令,TPS6000为默认表空间,TEMP为临时表空间;
connect、dba、resource为角色权限;
unlimited tablespace为系统权限。
4)创建表
打开SQL命令窗口,将创建表和字段的语句复制到窗口中,不同的语句之间以分号区分,如下图:
然后点击执行按钮执行所有语句,即可完成数据库表的创建。
意义解释:
DBMS2为已创建好的用户名,NETNODE1为表名,NODEID为字段名,NUMBER等为字段类型。
创建完毕后,可以在左侧树形列表中Users—相应用户—Objects—Tables下面查看到创建完成的所有表,如下图:
并可选中某张表,右键查看或编辑属性,如下图:
5)导入导出数据库文件
开始菜单—运行—cmd—DOS命令窗口输入数据库导出命令,即可完成某一个用户下的所有表的导出为dmp文件,如下图:
exp DBMS/qd600@chenlinxing:1521/ORACLE file='E:\DBMS.dmp'owner=DBMS STATISTICS=NONE
意义解释:将用户DBMS下的所有表导出到E盘根目录下DBMS.dmp文件中,STATISTICS=NONE表示不导出统计信息。
导入数据库时,先创建好用户,下边无任何表,然后再DOS命令窗口执行如下命令完成数据库导入:
imp DBMS/qd600@chenlinxing:1521/ORACLE file='E:\DBMS.dmp'fromuser=DBMS touser=DBMS1
意义解释:将E盘根目录的DBMS.dmp文件,从用户DBMS导入到DBMS1中。
执行完成后登陆PLSQL即可查看到DBMS1下已经有相应的表。
至此,Oracle 11g在WIN7 64位系统下的数据库运行环境全部搭建完成。