当前位置:文档之家› linux下连接oracle数据库

linux下连接oracle数据库

linux下连接oracle数据库
linux下连接oracle数据库

C++代码

1.#include

2.#include

3.#include "occi.h"

https://www.doczj.com/doc/7e4808590.html,ing namespace oracle::occi;

https://www.doczj.com/doc/7e4808590.html,ing namespace std;

6.

7.int main()

8.{

9. string usr="sys";

10. string pwd="orcl";

11. string SID="ORCL"; //注意大小写

12. string date;

13.

14. Environment *env=Environment::createEnvironment(Environmen

t::OBJECT);

15. Connection *conn= env->createConnection(usr,pwd,SID);//all stri

ngs

16. if(conn)

17. cout<<"success createConnection!"<

18. else

19. cout<<"failure createConnection!"<

20.

21. Statement *stmt = conn->createStatement();

22. string sSQL = "select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss

') from dual";

23. stmt->setSQL(sSQL);

24.

26. ResultSet *rs = stmt->executeQuery();

27. if(rs->next())

28. {

29. date = rs->getString(1);

30. }

31.

32. cout<<"now time :"<

33.

34. env->terminateConnection(conn);

35. Environment::terminateEnvironment(env);

36.

37. return 0;

38.}

39.

我linux上安装oracle路径:/u01/app/oracle/product/10.2.0/db_1

编译命令:g++ -o conn -L/u01/app/oracle/product/10.2.0/db_1/lib -L/u01/o racle/product/10.2.0/db_1/rdbms/lib conn_db.cpp

问题一:编译时报如下错误:

Shell代码

1. [oracle@localhost demo]$ g++ -o conn -L/u01/app/oracle/product

/10.2.0/db_1/lib -L/u01/oracle/product/10.2.0/db_1/rdbms/lib conn_d

b.cpp

2.g++: g++: No such file or directory

3.conn_db.cpp:3:18: error: occi.h: No such file or directory

4.conn_db.cpp:4: error: 'oracle' has not been declared

5.conn_db.cpp:4: error: 'occi' is not a namespace-name

6.conn_db.cpp:4: error: expected namespace-name before ';' token

7.conn_db.cpp: In function 'int main()':

8.conn_db.cpp:14: error: 'Environment' was not declared in this scope

9.conn_db.cpp:14: error: 'env' was not declared in this scope

10.c onn_db.cpp:14: error: 'Environment' is not a class or namespace

11.c onn_db.cpp:14: error: 'Environment' is not a class or namespace

12.c onn_db.cpp:15: error: 'Connection' was not declared in this scope

13.c onn_db.cpp:15: error: 'conn' was not declared in this scope

14.c onn_db.cpp:21: error: 'Statement' was not declared in this scope

15.c onn_db.cpp:21: error: 'stmt' was not declared in this scope

16.c onn_db.cpp:26: error: 'ResultSet' was not declared in this scope

17.c onn_db.cpp:26: error: 'rs' was not declared in this scope

18.c onn_db.cpp:35: error: 'Environment' is not a class or namespace

19.

解决:编译时没有引入OCCI库文件路径(oracle安装时候这个库已经附带装好了)路径:/u01/app/oracle/product/10.2.0/db_1/rdbms/public

编译命令增加OCCI库:g++ -o conn -I/u01/app/oracle/product/10.2.0/db_1 /rdbms/public -L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/produ ct/10.2.0/db_1/rdbms/lib conn_db.cpp

问题2:找不到对应函数

Shell代码

1. [oracle@localhost demo]$ g++ -o conn -I/home/oracle/oracle/includ

e -L/opt/app/oracle/product/10.2.0/db_1/lib -L/opt/oracle/product/10.2.

0/db_1/rdbms/lib conn_db.cpp -Wall -O -g

2./tmp/cclFs9xq.o: In function `main':

3./home/oracle/oracle/demo/conn_db.cpp:14: undefined reference to `or

acle::occi::Environment::createEnvironment(oracle::occi::Environmen

t::Mode, void*, void* (*)(void*, unsigned int), void* (*)(void*, void

*, unsigned int), void (*)(void*, void*))'

4./home/oracle/oracle/demo/conn_db.cpp:35: undefined reference to `or

acle::occi::Environment::terminateEnvironment(oracle::occi::Environm ent*)'

5.collect2: ld returned 1 exit status

6.

解决:增加libocci.so和libclntsh.so(它们既为OCCI库文件)指定编译

修改后的编译命令:g++ -o conn -I/u01/app/oracle/product/10.2.0/db_1/rdb ms/public-L/app/oracle/product/10.2.0/db_1/lib -L/u01/app/oracle/product/ 10.2.0/db_1/rdbms/lib -lclntsh -locci conn_db.cpp

另外可能在引入-lclntsh -locci编译时可能会报找不到以下错误:

Shell代码

1. [oracle@localhost demo]$ g++ -o conn -I/u01/app/oracle/product/

10.2.0/db_1/rdbms/public -L/app/oracle/product/10.2.0/db_1/lib -L/u0

1/app/oracle/product/10.2.0/db_1/rdbms/lib -lclntsh -locci conn_db.cp p

2./usr/bin/ld: cannot find -lclntsh

3.collect2: ld returned 1 exit status

4.[oracle@localhost demo]$

5.

解决:这是因为没有找到libclntsh.so和libocci.so链接库,将libclntsh.so和libocc i.so拷贝到/usr/lib目录下就可以了

补充:完成后改写环境变量:vi ./bash_profile

问题三:occi在linux编译运行时报libstdc++.so.6冲突的问题

Java代码

1.[oracle@localhost demo]$ g++ -o conn -I/u01/app/oracle/product/10.

2.0/db_1/rdbms/public -L/app/oracle/product/10.2.0/db_1/lib -L/u01/a

pp/oracle/product/10.2.0/db_1/rdbms/lib -lclntsh -locci conn_db.cpp

2./usr/bin/ld: warning: libstdc++.so.5, needed by /opt/app/oracle/produc

t/10.2.0/db_1/lib/libocci.so, may conflict with libstdc++.so.6

解决:OCCI库在linux编译的时候,由于linux版本太高,会提示以上情况,实际上,在大多数linux系统上,还保留有libstdc++5的库,自己手工在编译的时候加上去就好了

修改后的编译命令:g++ -o conn -I/u01/app/oracle/product/10.2.0/db_1/rdb ms/public-L/app/oracle/prod uct/10.2.0/db_1/lib -L/u01/app/oracle/product/ 10.2.0/db_1/rdbms/lib -lclntsh -locci/usr/lib/libstdc++.so.5conn_db.cpp

补充:编译之前将数据库监听开启

在oracle的安装目录中找到lsnrctl执行文件,并运行它(监听开启)

编译通过后执行结果输出:

Shell代码

1.[oracle@localhost demo]$ g++ -o conn -I/u01/app/oracle/product/10.

2.0/db_1/rdbms/public-L/app/oracle/prod uct/10.2.0/db_1/lib -L/u01/a

pp/oracle/product/10.2.0/db_1/rdbms/lib -lclntsh -locci/usr/lib/libstdc ++.so.5conn_db.cpp

2.[oracle@localhost demo]$ ./conn

3.success createConnection!

4.now time :2010-11-14 22:49:24

5.[oracle@localhost demo]$

Linux下Oracle 11g数据库全库自动备份(EXPDP)

使用EXPDP方式备份整个实例 本教程可使用system账户将整个实例备份(包含空表),并自动删除超过6天的历史数据。 1、r oot用户登录服务器 mkdir-p/backup/oracledata#新建Oracle数据库备份目录 chown-Roracle:oinstall/backup/oracledata-R#设置目录权限为oinstall用户组的oracle用户(用户 oracle与用户组oinstall是在安装Oracle数据库时设置的) 2、创 因为使用 su–oracle# 3、编 #/bin/sh export expdpsystem/123456@shuweiDUMPFILE=$dmpfileDIRECTORY=expdp_bak_dirfull=y echo"Deletethefilebakupbefore6days..." find/backup/oracledata/-mtime+6-name"*.dmp"-execrm-rf'{}'\; echo"Deletethefilebakupsuccessfully." echo"Bakupcompleted." chmod+x/backup/oracledata/ordatabak.sh??#添加脚本执行权限 4、设置系统自动定时执行备份脚本 vi/etc/crontab#编辑系统任务计划

将下面的代码写入最后一行: 302***oracle/backup/oracledata/ordatabak.sh #每天凌晨2点30分,以oracle用户执行ordatabak.sh备份文件 :wq#保存退出 servicecrondrestart#重启系统计划服务 即每天凌晨2点30分进行备份,如需每天备份多次,可设置不同时间段备份:例如:*3,13,18***oracle/backup/oracledata/ordatabak.sh 即每天3点、13点、18点进行备份。 说明:文件备份目录,用户oracle必须有更改权限,否则无法备份。

ORACLE数据库与实例的关系

ORACLE数据库与实例的关系 1 数据库名 1.1 数据库名的概念 数据库名(db_name)就是一个数据库的标识,就像人的身份证号一样。如果一台机 器上装了多个数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。 数据库名在$Oracle_HOME/admin/db_name/pfile/init.ora(或 $ORACLE_BASE/admin/db_name/pfile/init.ora或$ORACLE_HOME/dbs/SPFILE<实 例名>.ORA)文件中 ########################################### # Database Identification ########################################### db_domain="" db_name=orcl 在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是 以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但是在Oracle启动时,由于参数文件中的DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。 1.2 数据库名的作用 数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的(注意这些时候不能使用sid,还有alter database时都是使用数据库名)。 有很多Oracle安装文件目录是与数据库名相关的,如: winnt: F:\oracle\product\10.2.0\oradata\DB_NAME\...

linux 下安装oracle 步骤

在LINUX下部署ORACLE 9i/10g/11g 1.准备好安装文件:Oracle for linux 的安装盘。 2.检查相关的RPM 包是否已安装上。 检查命令格式如下: rpm -qa | grep 名字 binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 elfutils-libelf-devel-static-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-common-2.5 glibc-devel-2.5 glibc-headers-2.5 kernel-headers-2.6.18 ksh-20060214 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.2

libgomp-4.1.2 libstdc++-4.1.2 libstdc++-devel-4.1.2 make-3.81 numactl-devel-0.9.8.i386 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-devel-2.2.11 在安装之前,确保这些RPM包都安装好。 如果系统中还没有安装相应的包,安装方法如下: rpm -ivh *.rpm 3.以上所有的包都安装好之后,然后做如下操作: groupadd oinstall groupadd dba mkdir -p /u01/oracle 4.然后,添加一个oracle用户,根目录是/u01/oracle,主的组是oinstall 副的组是dba useradd -g oinstall -G dba -d /u01/oracle oracle 5.然后,做下面的步骤: cp /etc/skel/.bash_profile /u01/oracle cp /etc/skel/.bashrc /u01/oracle

linux卸载oracle

linux下怎样完全卸载oracle 1 首先用dbca来把db给卸载掉 2 os层面delete掉oracle的安装目录 3. 删除oracle 残留的一些目录: /etc/ora* /var/opt/oracle /usr/local/bin下面的3个文件 4 清空/tmp目录下的内容 oracle官方网: 5 Removing Oracle SoftwareThis chapter describes how to completely remove all software from an Oracle home directory. See Also: If you want to remove an individual product, refer to the product-specific documentation for requirements and restrictions. 5.1 Removing Oracle Software The following steps describe how to use Oracle Universal Installer to remove Oracle software from an Oracle home: Note: Always use Oracle Universal Installer to remove Oracle software. Do not delete any Oracle home directories without first using Oracle Universal Installer to remove the software. If necessary, log in as the oracle user: $ su - oracle Set the ORACLE_HOME environment variable to specify the path of the Oracle home directory that you want to remove: Bourne, Bash, or Korn shell: $ ORACLE_HOME=/u01/app/oracle/product/10.2.0/client_1 $ export ORACLE_HOME C shell: $ setenv ORACLE_HOME /u01/app/oracle/product/10.2.0/client_1 Start Oracle Universal Installer as follows:

Linux下Oracle导入dmp文件

Linux下向oracle数据库倒入dmp包的方式 1、登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户) 2、以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba" 3、查看常规将用户表空间放置位置:执行如下sql: select name from v$datafile; 上边的sql一般就将你的用户表空间文件位置查出来了。 4、创建用户表空间: CREATE TABLESPACE 表空间名DATAFILE '/oracle/oradata/test/notifydb.dbf(表空间位置)' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 5、创建用户,指定密码和上边创建的用户表空间 CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 表空间名; 6、赋予权限 grant connect,resource to 用户名; grant unlimited tablespace to用户名; grant create database link to用户名; grant select any sequence,create materialized view to用户名; 经过以上操作,我们就可以使用用户名/密码登录指定的实例,创

建我们自己的表了续: 创建临时表空间: create temporary tablespace test_temp tempfile 'F:\app\think\oradata\orcl\test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; 创建表空间: create tablespace test_data logging datafile 'F:\app\think\oradata\orcl\test_data01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; 创建用户: create user jack identified by jack default tablespace test_data temporary tablespace test_temp; 为用户赋予权限: GRANT create any table TO jack; GRANT resource,dba TO jack; GRANT select any table TO jack; 第一个是授予所有table有create权限, 第二个就是赋予DBA的权限,这才是最重要的,其实只要第二就可以了. 第三是授予所有table有select权限. 四:删除用户表空间的步骤: Alter tablespace 表空间名称 offline;

Linux系统(X64)安装Oracle11g完整安装教程

Linux系统(X64)安装Oracle11g完整安装图文教程1修改操作系统核心参数(Root用户) 1)修改用户的SHELL的限制,修改 /etc/security/ 文件 输入命令:vi /etc/security/,按i键进入编辑模式,将下列内容加入该文件。 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 编辑完成后按Esc键,输入“:wq”存盘退出 2)修改/etc/login 文件,输入命令:vi /etc/login,按i键进入编辑模式,将下列内容加入该文件。 session required /lib/security/ session required 编辑完成后按Esc键,输入“:wq”存盘退出 3)修改linux内核,修改/etc/文件,输入命令: vi /etc/ ,按i键进入编辑模式,将下列内容加入该文件 = 6815744 = 1048576 = 2097152 = 48 = 4096 = 250 32000 100 128 = 1024 65500 = 4194304 = 4194304 = 262144 = 1048576 编辑完成后按Esc键,输入“:wq”存盘退出。 注意: = 9000 65500 网络默认9000 65500 4)要使 /etc/ 更改立即生效,执行以下命令。输入:sysctl -p显示如下: linux:~ # sysctl -p = 1 = 1 = 6815744 = 1048576 = 2097152 = 48 = 4096 = 250 32000 100 128 = 1024 65500

windows环境下配置连接oracle数据库的方法及步骤

配置oracle连接 怎么在windows环境下配置连接oracle数据库? 步骤如下: 一、安装PL/SQL: 1、获取PL/SQL安装包;(PL/SQL是连接oracle的客户端) 2、安装PL/SQL; (1)双击PL/SQL安装程序,安装PL/SQL; (2)选择“I Agree”进行安装;

(3)选择安装路径(一般选择默认路径);点击【Next】按钮; (4)默认选择,点击【Next】按钮; (5)默认选择,点击【Finish】按钮,开始安装;

(6)安装进度显示 (7)窗口提示“PL/SQL Developer installed successfully”,安装完成,点击【Close】按钮。

二、配置连接 1、获取oci.dll文件(该文件是用来连接数据库的文件),将该文件及其所在的文件夹放置在一个不含有中文的路径下(如:F:\instantclient); 2、双击打开PL/SQL客户端,点击【Cancel】按钮; 3、跳转到PL/SQL页面,如下图所示。选择【Tool】—>Preferences; 4、按下图进行选择,在“Oracle Home(enpty is autodetect)”栏中选择oci.dll文件所在的目录;在“OCI library(enpty is autodetect)”栏中选择oci.dll文件

5、点击【OK】按钮即可完成 6、退出PL/SQL页面,重新登录。双击PL/SQL客户端,在Oracle Logon窗口中填写数据库的用户名、密码、数据库名和连接方式;点击【OK】按钮即可查询数据库。 完毕!谢谢!

linux 下命令行安装Oracle步骤

LINUX命令行下安装Oracle11.2 关闭防火墙 service iptables stop chkconfig iptables off 创建组和用户 groupadd dba groupadd oper groupadd oinstall useradd oracle /usr/sbin/usermod -g oinstall -G dba oracle passwd oracle 输入两遍密码 创建目录并授权 mkdir -p /opt/oracle/product mkdir -p /opt/oracle/product/OraHome mkdir -p /opt/oraInventory mkdir -p /opt/oracle/oradata

mkdir -p /var/opt/oracle chown -R oracle.oinstall /opt/oracle chown -R oracle.oinstall /opt/oracle/oradata chown -R oracle.oinstall /opt/oracle/product/OraHome chown -R oracle.dba /opt/oraInventory chown oracle.dba /var/opt/oracle chmod -R 775 /opt/oracle chmod -R 755 /var/opt/oracle 切换到oracle用户 su - oracle 设置环境变量 vi .bash_profile 添加: export JAVA_HOME=/opt/oracle/product/OraHome/jdk export ORACLE_BASE=/opt/oracle export ORACLE_HOME=$ORACLE_BASE/product/OraHome export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

Linux下Oracle10g创建数据库

Linux下Oracle10g创建数据库流程 通过Redhat as4 Linux 下的两种途径来创建数据库,详细描述各个步骤的来龙去脉,让理清创建一个数据库的整体流程。 前提:用户已经成功的安装ORACLE数据库服务器到对应的LINUX平台,下面的动作都是基于ORACLE+REDHAT AS4的基础上完成的。 在linux平台创建数据库的方法有两种:1.通过oracle数据库建库脚本直接到终端下运行对应的脚本即可,前提是这些脚本报保证它的正确性;2.通过linux平台下提供的图形界面来创建数据库,这种方式用的最多也是最简便的一种 1.图形界面安装oracle数据库 登陆到linux操作系统界面下,切换到root用户,执行命令xhost,具体如下: xhost +ip/hostname ---主要是让本机终端能够访问x server图形界面服务 切换用户到oracle,执行env查看DISPLAY环境变量的值,通常DISPLAY=:0.0,这时需要把对应的ip/hostname设置到DISPLAY中,执行命令: export DISPLAY=ip:0.0 如果一切正常的话,那么这时候我们直接进入oracle用户下执行dbca命令。 进入安装界面

直接点击上图的下一步。

在上图 Database Templates 页面上,选择创建数据库使用的数据库模板类型。您可以单击 Show Details 查看每种数据库类型的配置。选择适合于您的数据库将支持的工作负载的类型的模板。如果您不确定,选择默认的 General Purpose(一般用途)模板。直接点击上图的下一步。

linux系统下安装Oracle

步骤前部:为linux系统安装放盘后(5.iso) 安装好linux系统后 (注意以后su-指的的是你的当前用户名@) 查看网卡是否正常及网络地址# ifconfig -a |more 查看系统的主机名,要设置好主机名,不然后面在其它系统上安装Oracle的客户端的时候会有问题,这里的主机名是https://www.doczj.com/doc/7e4808590.html, su - # cat /etc/hosts 这一节将配置Oracle安装的环境.其中包括安装必须的软件包,创建相应的用户和组,增加相应的系统参数,编辑必须的环境参数.本节中需在计算机中输入的数据将以蓝色字体标记. 一:创建相应的用户(以root用户登陆)

groupadd dba useradd -g dba -d /usr/Oracle -s /bin/bash oracle passwd oracle 注意:在图中没有"passwd oracle"这一条,因为忘记截图了,这个是必须的,因为后面用oracle这个用户登陆如果没有密码会登陆不了. 二:设置系统参数: 编辑/etc/sysctl.conf文件,增加以下内容 kernel.sem=250 32000 100 128 kernel.shmmax=4294967295 kernel.shmmni=128 kernel.msgmnb=65536 kernel.msgmni=2878 fs.file-max=65536 net.ipv4.ip_local_port_range=1024 65000

输入命令"sysctl -p"或重启电脑使设置生效sysctl -p 编辑/etc/security/limits.conf文件,增加以下内容* - nproc 16384 * - nofile 16384

Linux系统最全Oracle11g安装文档

Linux系统(X64)安装Oracle11g基本操作 一、修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件,输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。(用户限制配置文件。要使 /etc/security/limits.conf 文件配置生效,必须要确保 PAM验证模块 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:session required /lib/security/pam_limits.so,64位地址是: /lib64/security/pam_limits.so 否则本地即使输入正确密码也无法登陆。)(PS我们平常登陆实际上是运行一个程序login来判断我们是不是这个用户,如果是的话就给我们shell;不是的话就进不去。而/etc/pam/login这件文件就是我们验证过程中需要经过哪些模块的认证。根据设定来叛断我们的帐号密码是不是正确,当这个文件有问题的时候,验证就会出错,尽管我的帐号密码是正常的,也进不去。) session required /lib/security/pam_limits.so session required pam_limits.so 编辑完成后按Esc键,输入“:wq”存盘退出 3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件 fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128

Linux下oracle建库

ORACLE 安装部分说明
一、通过 dbca 创建数据库
Oracle DBCA 总共提供四种操作模式,进行数据库管理工作,分别是: 1、 创建数据库( Create a database ) .] 2、 配置数据库各项设定( Configuration database options in a database ) . 3、 删除数据库( Delete a database ) . 4、 模板管理( Manager Templates) .

这里有 4 个选项, Data Warehousing : 这个模版是用来创建数据仓库环境的( DDS ) 。 Transacti on Processing : 这个模版是用来创建联机事务处理环境的 (OLTP)。 General Purpose: 这个模版创建的数据拥有 DDS 和 OLTP 特性。当然也很巨大! (小硬盘 8 0G 以下者慎用! ) New Database:以自定义方式创建数据库。

设置全域数据库名称(Global Database Name)和 SID。 所谓全域数据库名称目的是希望能够在网络上唯一识别每个 oracle 数据库,格式通常如 下:[Oracle SID 名称].[数据库主机所在网域名称] 我们公司的域名称:https://www.doczj.com/doc/7e4808590.html,,数据库 SID 设定 oracleDB。那么全域数据库名称就可 以设定为:https://www.doczj.com/doc/7e4808590.html, 下一步选择:No,don’t register the database。

oracle大型数据库简答题题库

共享和专用操作模式的工作过程有什么区别? 在专用服务器操作模式中,Oracle为每个连接到数据库实例的用户进程启动一个专门的服务进程,其用户进程数与服务器进程数的比例为1:1因为在用户进程空闲期间,对应的服务器进程始终存在,数据库的效率比较低。共享服务器操作模式可以实现只运行少量的服务器进程,由少量的服务器进程为大量用户提供服务。在此模式下,数据库实例启动的同时也将启动一定数量的服务进程,在调度进程Dnnn 的调度下位任意数量的用户进程提供服务。 简述oracle的初始化参数文件? 答:在传统上,Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称为PFILE)。 简述如何修改初始化参数文件? 答:如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。 简述启动数据库时的状态。 答:开启数据库分成4种状态。SHUTDOWN状态:数据库是关闭的。NOMOUNT状态:Instance被开启的状态,会去读取初始化参数文件。MOUNT状态:会去读取控制文件。数据库被装载。OPEN状态:读取数据文件、在线重做日志文件等,数据库开启。 简述数据库的各种关闭方式。 答:(1)正常关闭(SHUTDOWN NORMAL):不允许新的USER连进来。(2)事务关闭(SHUTDOWN TRANSACTIONAL):等待所有未提交的事务完成后再关闭数据库(3)立即关闭(SHUTDOWN IMMEDIATE):任何未提交的事务均被回退。(4)终止关闭(SHUTDOWN ABORT):立即终止当前正在执行的SQL语句,任何未提交的事务 页脚内容1

LINUX下服务器安装oracle10g数据库教程

目录 1、l inux下安装oracle10g 2、表空间的建立及用户建立 3、O racle数据库随linux系统启动关闭及 自动备份 在linux下安装oracle10g 安装oracle: 1、内存及交换分区检查 [root@oracle10g ~]# cat /proc/meminfo | grep MemTotal MemTotal: 1034604 kB [root@oracle10g ~]# cat /proc/meminfo | grep SwapTotal SwapTotal: 1574360 kB 建议内存最少1G,交换分区为内存1.5~2倍。如果空间充足建议2倍。Oracle 安装之前会检测,但我在交换分区为内存一半的情况下,也安装成功过。当时内存为4G。 2、修改主机名及hosts文件 [root@oracle10g ~]# hostname oracle10g [root@oracle10g ~]# vi /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 172.16.60.196 oracle10g“改成配给那个门店的ip和服务器名qtjlmd” 建议修改,避免以后网络访问出现异常。退出重联看是否生效。 3、检查所需操作系统的RPM包是否完整 以下是oracle10g在RHEL5环境下,需要装的包。 # From RedHat AS5 Disk 1 cd /media/cdrom/Server rpm -Uvh setarch-2*

linux下oracle使用命令

Linux下oracle数据库操作命令 1.进入linux系统后,右击打开终端 2.Oracle监听启动命令:lsnrctl start 3.登录oracle客户端工具sqlplus ,如图: 4.查询该数据库的实例名,如图: SQL语句: select name from v$database; SQL语句:select * from tab; 6.查询当前用户的缺省表空间,如图;

SQL语句:select username,default_tablespace from user_users; 7. 查询当前用户的角色 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下

su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quit 启动oracle9i数据库命令: $ sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on FriOct 31 13:53:53 2003 Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved. SQL> connect / as sysdba Connected to an idle instance. SQL> startup ORACLE instance started. 2、在双机环境下

Oracle数据库管理与应用实例教程(刘志成)课后习题及答案

【填空题】 1.默认情况OEM的URL地址是https://sd04:1158/em(其中sd04为机器名) 2.Oracle9i发布于2001,i代表Internet,11G发布于2007,g代表grid(网格) 3.在oracle内存结构中,保存正在执行或可能执行的代码的区是代码区 4.在oracle进程结构中,用于实现进程监控功能的进程是PMON 1.Oracle数据库系统的物理存储结构主要由3类文件组成,分别为数据文件、重做日志文件、控制文件。 2.一个表空间物理上对应一个或多数据文件 3.在oracle的逻辑存储结构中,根据存储数据的类型,可以将段分成为数据段、索引段、回滚段、LOB段和临时段。 1.在设计表时,对于邮政编码最适合的数据类型是CHAR 2.在alter table语句中,如果要删除列,可以通过指定DROP COLUMN关键字来实现。 3.如果需要在表中插入一批已经存在的数据,可以在insert语句中使用SELECT语句。 4创建一个update语句来修改goods表中的数据,并且把每一行的t-id值都改成15,应该使用的SQL语句是UPDATE SCOTT.Goods SET t_ID=’15’ 5.使用DESC命令可以显示表的结构信息 6.两个表的主关键字和外关键字的数据应该对应一致,这是属于引用完整性,通常可以通过主键和外键来实现。 7.UNIQUE约束通过确保在列中不输入重复值保证一列或多列的实体完整性。 1.在select语句中选择满足条件的记录使用where关键字,分组之后进行选择使用having 关键字 2.用来返回特定字段中所有值得总和的聚合函数是SUM 3.编写查询语句时,使用%通配符可以匹配多个字符。 18.集合运算符UNION实现集合的并运算,操作符INTERSECT实现了对集合的交运算,而MINUS则实现了减运算 19.如果要定义只读的视图,可以在创建视图时使用READ ONLY关键字 20.删除视图的PL\SQL语句是DROP VIEW [用户方案.]视图名 21.在使用CREATE INDEX创建索引时,使用BITMAP关键字可以创建位图索引 22.聚集(Cluster)是存储表数据的可选择的方法。一个聚集是一组表,将具有同一公共列值的行存储在一起,并且它们经常一起使用,表中相关的列称为聚集键 23.在为表中某个列定义PRIMARY KEY约束PK_ID后,则系统默认创建的索引名为PK_ID 24.如果表中某列的基数比较低,则应该在该列上创建反向索引 25.如果要获知索引的使用情况,可以通过查询DBA_INDEXES视图,而要获知索引的当前状态,可以查询INDEX_STATS视图。 26. 在Oracle的PL/SQL程序中,除了可以使用Oracle规定的数据类型外,还可以使用%TYPE 类型的变量,由系统根据检索的数据表列的数据类型决定该变量的类型,也可以使用%ROWTYPE 类型的变量用来一次存储从数据表中检索的一行数据。 27. SYSDATE函数可以获得当前系统的日期,SUBSTR(s,start,len)函数可以实现从指定的字符串中取指定长度的字符串。 28. 用来变异存储过程的PL/SQL语句是ALTER PROCEDURE,CREATE FUNCTION语句可以用来创建函数。

linux下oracle数据库安装步骤

数据库安装步骤 1.创建oracle用户和组 [root@hostname ~]# groupadd oinstall [root@hostname ~]# groupadd dba [root@hostname ~]# useradd -g oinstall -G dba oracle [root@hostname ~]# passwd oracle 输入两次密码 2.修改oracle用户的环境变量 oracle用户下,在/home/oracle/.bash_profile文件中添加如下参数 [oracle@hostname ~]$ vim .bash_profile 文档最后添加: # For Oracle export DISPLAY=:0.0 export TMP=/tmp; export TMPDIR=$TMP; export ORACLE_BASE=/home/oracle/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1; export ORACLE_SID=ipms; export ORACLE_TERM=xterm; export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH; export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; 3.root用户下执行 [root@hostname ~]# export DISPLAY=:0.0 [root@hostname ~]# xhost + 4.oracle用户下执行 [oracle@hostname ~]$ export DISPLAY=192.168.1.1:0.0

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实 例。( T )2、Oracle服务器端的监听程序是驻留在服务器上的单独 进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务, 非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不 可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信 息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多 个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文 件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使 用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特 殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字 段列表的末尾。( T )  20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在 结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时, 自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可 以访问多行。( F )

Linux环境下Oracle的安装与配置

Linux环境下Oracle的安装与配置 随着Oracle for Linux 8.0.5版本的推出,Linux环境下的高端数据库应用也达到了一个新高度。但由于Oracle自身的复杂性,在Linux环境下安装涉及很多方面的因素。我们将分三个方面来讨论在Linux RedHat 6.0环境下Oracle 8.0.5的安装。 一、Linux核心与环境的调整 在安装Oracle之前,要对RedHat 6.0的Linux内核与环境进行调整。 1.在完成RedHat 6.0 Linux的缺省安装后,需要安装以下软件包: kernel-source-2.2.5-15.i386.rpm Linux 2.2.5内核源码,主要用于修改核心参数后重生成内核。 tcl-8.0.4-29.i386.rpm 该软件包是安装Oracle Intelligent Agent包所必需的。 Compat-binutils-5.2-2.9.0.23.1.i386.rpm Compat-glibc-5.2-2.0.7.2.i386.rpm

Compat-egcs-5.2-1.0.3a.1.i381.rpm Compat-egcs-C++-5.2-1/0/3a.1.i386.rpm Compat-libs-5.2-1.i386.rpm 2.调整Linux核心参数 根据Oracle 8.0.5对Linux核心内存参数的要求,可对Linux核心参数进行调整。编辑修改/usr/src/linux/include/asm/shmparam.h文件,修改SHMMAX选项。Oracle 推荐使用4294967295,这意味着系统的共享内存达到4G,这是不合适的。一般,SHMMAX的设置可略大于本机内存配置。 事实上,缺省安装的RedHat 6.0核心运行Oracle 8.0.5是没有问题的。一般情况下可不对这些参数作出调整。 如确需调整,在完成修改后,要按文档要求重生成核心,并用lilo命令指定用新的核心进行引导。 3.增加用户、创建安装目录 Oracle安装与运行需要创建一个属于dba组的Oracle用户,同时要创建一个属主为Oracle 用户的安装点目录,例如/u0/oracle ,并指定该目录为Oracle用户的缺省主目录。 为了设置Oracle用户的运行环境,在Oracle用户的主目录下要建立一个脚本文件,用于在以Oracle用户登录时自动设置环境变量。该脚本文件的命名与用户所使用的shell有关(在/etc/passwd文件中定义)。如采用bash,则脚本文件是.bash_profile;如采用sh,则脚本文

Oracle数据库链接建立技巧与实例讲解

Oracle数据库链接建立技巧与实例讲解 数据库链接(DATABASE LINK)是在分布式环境下,为了访问远程数据库而创建的数据通信链路。数据库链接隐藏了对远程数据库访问的复杂性。通常,我们把正在登录的数据库称为本地数据库,另外的一个数据库称为远程数据库。有了数据库链接,可以直接通过数据库链接来访问远程数据库的表。常见的形式是访问远程数据库固定用户的链接,即链接到指定的用户,创建这种形式的数据库链接的语句如下: CREATE DATABASE LINK 链接名 CONNECT TO 账户 IDENTIFIED BY 口令 USING 服务名; 创建数据库链接,需要CREATE DATABASE LINK系统权限。 数据库链接一旦建立并测试成功,就可以使用以下形式来访问远程用户的表。 表名@数据库链接名 例:在局域网上创建和使用数据库链接。 步骤1:创建远程数据库的服务名,假定局域网上另一个数据库服务名为MYDB_REMOTE。 步骤2:登录本地数据库SCOTT账户,创建数据库链接: CONNECT SCOTT/TIGER@MYDB CREATE DATABASE LINK abc CONNECT TO scott IDENTIFIED BY tiger USING 'MYDB_REMOTE'; 执行结果为: 数据库链接已创建。 查询远程数据库的数据: SELECT * FROM emp@abc; 结果略。 步骤4:一个分布查询: SELECT ename,dname FROM emp@abc e,dept d WHERE e.deptno=d.deptno; 结果略。

相关主题
文本预览
相关文档 最新文档