代码编织梦想

Linux下安装Oracle

下载安装包并解压

解压oracle文件
用ifconfig 查看inter地址

[root@localhostroot]#mkdir -p /usr/local/oracle
[root@localhostroot]#cd /usr/local/oracle
[root@localhostoracle]#unzip linux.x64_11gR2_database_1of2.zip
[root@localhostoracle]#unzip linux.x64_11gR2_database_2of2.zip

执行以上命令后,将会在/usr/local/oracle/下面产生名为database的目录,这就是oracle安装程序的目录

创建用户和用户组

oracle不能在root帐户下进行安装,所以需要为oracle的安装专门创建一个用户,同时需要创建dba和oinstall的用户组。

[root@localhost oracle]#groupadd dba

[root@localhost oracle]#groupadd oinstall

以下命令将创建oracle用户,并设置密码
[root@localhostoracle]#useradd -g oinstall -G dba oracle

[root@localhostoracle]#passwd oracle

准备安装目录

[root@localhost oracle]#mkdir -p /u01/app/oracle
[root@localhost oracle]#mkdir -p /u01/app/oraInventory
[root@localhost oracle]#chown -R oracle:oinstall /u01/app/oraInventory

[root@localhost oracle]#chown -R oracle:oinstall /u01/app/oracle

[root@localhost oracle]#chmod 755 /u01/app/oracle

安装目标目录是用户想将oracle安装到哪个位置的目录,本次我们将oracle安装到/u01/app/oracle目录中,以下为目录创建命令。

设置Linux内核参数

修改vi /etc/sysctl.conf,在最后加入以下内容 后启用# /sbin/sysctl -p
kernel.shmall = 4294967296
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
若报错:
error: “net.bridge.bridge-nf-call-ip6tables” is an unknown key
error: “net.bridge.bridge-nf-call-iptables” is an unknown key
error: “net.bridge.bridge-nf-call-arptables” is an unknown key
解决:
[root@172-1-1-154 oracle]# modprobe bridge
[root@172-1-1-154 oracle]# ls mod|grep bridge

修改vi /etc/security/limits.conf,在最后 # End of file前加入
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

修改vi /etc/hosts 最后一行添加本机ip

oracle用户打开此文件
[oracle@localhost oracle]#vi /home/oracle/.bash_profile
设置环境变量1(如果不行参考环境变量2)

.bash_profile

Get the aliases and functions

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

User specific environment and startup programs

PATH= P A T H : PATH: PATH:HOME/bin

export PATH

umask 022
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
LD_LIBRARY_PATH=/usr/lib:/usr/X11R6/lib

  ORACLE_BASE=/u01/app/oracle
  ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
  ORACLE_SID=ekp

LD_LIBRARY_PATH= O R A C L E H O M E / j d k / f r e / l i b / i 386 : ORACLE_HOME/jdk/fre/lib/i386: ORACLEHOME/jdk/fre/lib/i386:ORACLE_HOME/jdk/jre/lib/i386/server: O R A C L E H O M E / r d b m s / l i b : ORACLE_HOME/rdbms/lib: ORACLEHOME/rdbms/lib:ORACLE_HOME/lib: L D L I B R A R Y P A T H P A T H = LD_LIBRARY_PATH PATH= LDLIBRARYPATHPATH=ORACLE_HOME/bin:$PATH
NLS_LANG=American_America.AL32UTF8

ctrl+c保存, shift加:加+ 再输入wq保存退出

环境变量2:vi /root/.bash_profile
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH= O R A C L E H O M E / b i n : ORACLE_HOME/bin: ORACLEHOME/bin:PATH
export LANG=en_US.UTF-8
应用该文件:1.tail .bash_profile
2.source .bash_profile

执行安装

先测试是否可以用图形界面安装软件
初始化服务:
[root@powerlong4 database]# yum groupinstall “X Window System” “Desktop Platform” Desktop
[root@powerlong4 database]# yum install vnc
注意:yum是联网安装,rpm是用安装包

用root账户输入
[root@orcltest ~]# export DISPLAY=:0.0

注意export DISPLAY=本机PC的真实ip:0.0

[root@orcltest ~]# xhost +
出现下面语句则成功
access control disabled, clients can connect from any host
如果无法打开图形界面,则执行
[root@orcltest ~]# yum install tigervnc-server

进入oracle安装文件

在安装oracle是可能会遇到network错误
可去http://vault.centos.org/6.5/os/x86_64/Packages/ 地址下载如下rpm
根据centos版本下载
用root进入目录安装
–nodeps 无视依赖
–force强制安装
rpm -ivh libstdc+±4.4.7-4.el6.x86_64.rpm
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm
rpm -ivh kernel-headers-2.6.32-431.el6.x86_64.rpm
rpm -ivh glibc-headers-2.12-1.132.el6.x86_64.rpm
rpm -ivh glibc-devel-2.12-1.132.el6.x86_64.rpm
rpm -ivh libstdc+±devel-4.4.7-4.el6.x86_64.rpm
rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm
rpm -ivh gcc-c+±4.4.7-4.el6.x86_64.rpm
rpm -ivh compat-libstdc+±33-3.2.3-69.el6.x86_64.rpm
rpm -ivh unixODBC-2.2.14-12.el6_3.x86_64.rpm
rpm -ivh unixODBC-kde-2.2.14-12.el6_3.x86_64.rpm

如果装错版本
rpm -qa | grep -i cloog-ppl
查询出已装的rpm的名称
rpm -e 删除的名称

先在/etc/hosts文件里添加IP地址对应主机,例:192.168.40.131 myvm
[oracle@orcltest ~]# export LANG=en_US.UTF-8
[oracle@orcltest ~]# cd /usr/local/oracle/database
[oracle@orcltest ~]# ls
[oracle@orcltest ~]# ./runInstaller
如果无法启动图形界面,则用Xmanager用oracle账户登录

oracle进行check时,如果提示未安装的rpm,查看是否已安装版本。如果已安装比需求的高,则可忽略check。

检查时swap size不足:
root用户: 1.cd /tmp
建2G文件swapfree 2.dd if=/dev/zero of=swapfree bs=32k count=65515
该文件当交换区 3.mkswap swapfree
开启这个交换区 4.swapon swapfree
查看swap空间: 5.free

(2)安装数据库实例:
创建实例时对oracle赋予etc文件夹的权限:chown -R oracle:oinstall /etc

参考地址:http://blog.csdn.net/mchdba/article/details/43086037

[root@orcltest ~]# xhost +
[oracle@orcltest ~]# xhost +
[oracle@orcltest ~]# netmgr 配置监听
[oracle@orcltest ~]# netca 配置监听端口
[oracle@orcltest ~]# dbca 创建实例
以上都是图形界面

常见问题

解锁用户:
1.sqlplus /nolog;–运行sqlplus,进入slqplus环境,/nolog没有参数,即不登入数据库

2.conn/ as sysdba;–以sys身份连接,操作系统认证;

或sqlplus / as sysdba

3.alter user system identified by system;–修改system用户密码为system;

4.alter user system account unlock/lock;–system账户解锁/锁定;

错误: ORACLE not available
解决:SQL>startup force

错误:
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file
解决:原来是没有initicare1.ora文件
解决此问题的方法就是到cd /oracle/app/oracle/admin/orcl/pfile/目录下,将ora.1114201016265复制到dbs目录下,记得改名字

SGA、PGA的分配原则
OLTP:SGA=系统内存0.56,PGA=SGA(0.1~0.2)
OLAP:SGA=系统内存0.48,PGA=SGA(0.45~0.65)

Character Sets:
选择UTF-8

给用户赋权限:chown -R oracle:oinstall /oracle

主机名:hostname

与主机名有关的文件:
hosts
network
还有dbhome里的两个监听文件,(可用netmgr设置)

端口号修改:
/sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT
/etc/rc.d/init.d/iptables save

listener.ora文件如下:

listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora

Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST=
(SID_DESC=
(SID_NAME=ORCL)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_2)
)

(SID_DESC=
	(GLOBAL_DBNAME=orcl)
	(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_2)
	(SID_NAME=orcl)
)

)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.1.1.34)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (ORCL)

INBOUND_CONNECT_TIMEOUT=60

ADR_BASE_LISTENER = /u01/app/oracle

Oracle笔记

当前数据库连接数select count(*) from v p r o c e s s 当前并发连接数 s e l e c t c o u n t ( ∗ ) f r o m v process 当前并发连接数select count(*) from v process当前并发连接数selectcount()fromvsession where status =‘ACTIVE’

数据库最大连接数select value from v$parameter where name =‘processes’

用户解锁
alter user SUNDSPWP_IF account unlock;

删除用户
1.drop user sunds241 cascade
如果报错无法删除当前连接用户:
2.select sid,serial# from v$session where username=‘SUNDS241’;
3.alter system kill session ‘15,19095’; // ‘sid,serial#’

重启监听lsnrctl stop
lsnrctl start

错误oracle
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does notexist
解决:
SQL>startup force

修改最大连接数alter system set processes = 1000 scope=spfile;
1.关闭oracle:shutdown immediate
2.重启oracle:startup

管理员登录sqlplus: 1.su oracle
2.sqlplus / as sysdba
修改用户密码 alter user sunds identified by sunds;

#按用户导出
exp sunds241241/SUNDS241241@172.16.3.206/xe file=d:/sunds241241.dmp (不要加分号)
导入
imp sunds/sunds@192.168.1.8/sunbizdb file=d:/sunds241241.dmp full=y ignore=y

修改oracle编码:
1.shutdown immediate
2.startup mount
3.alter system enable restricted session;
4.alter system set job_queue_processes=0;
5.alter system set aq_tm_processes=0;
6.alter database open;
7.alter database character set internal_use ZHS16GBK;
8.shutdown immediate
9.startup
查看编码:
select userenv(‘language’) from dual
select * from nls_database_parameters

SIMPLIFIED CHINESE_CHINA.ZHS16GBK : 一个汉字占用两个字节
SIMPLIFIED CHINESE_CHINA.AL32UTF8 : 一个汉字占用三个字节

mybats (in 的 sql):
String []arr = role_no.split(“&”);
params.put(“menu”, menu);
params.put(“ids”, arr);
return menuTreeDao.selectdefaultQueryMenu(params);

select distinct m.* from sm_menu_tb m, sm_right_tb r where m.menu_id = r.menu_id and m.is_open='1' and m.menu_belong like CONCAT(CONCAT('%',#{menu.menuBelong,jdbcType=VARCHAR}),'%') and m.bank_no=#{menu.bankNo,jdbcType=VARCHAR} and m.system_no=#{menu.systemNo,jdbcType=VARCHAR} and m.project_no=#{menu.projectNo,jdbcType=VARCHAR} and r.role_no in #{item} order by m.menu_level,m.menu_order,m.menu_id

DB2与Oracle 序列不同:
oracle中取dual表,db2没有dual表,其取特殊表SYSIBM.SYSDUMMY1
oracle:select SEQ_ELEMENTNO_STANDARD.nextval as id from dual
db2:select SEQ_ELEMENTNO_STANDARD.nextval from SYSIBM.SYSDUMMY1

兼容方法:创建一个与dual功能相同的视图:
create view dual as select IBMREQD as DUMMY from SYSIBM.SYSDUMMY1
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_37621076/article/details/130871559

oracle 造数脚本-爱代码爱编程

SELECT DBMS_RANDOM.VALUE() FROM DUAL; SELECT DBMS_RANDOM.VALUE(20,30) FROM DUAL; SELECT DBMS_RANDOM.NORMAL FROM DUAL; SELECT DBMS_RANDOM.RANDOM() FROM DUAL; CREATE TAB

plsql为什么连不上远程或本地的oracle,需要做哪些准备?-爱代码爱编程

文件配置解说 tnsnames.ora文件 文件所在地址:ORACLE_HOME\network\admin ORACLE_HOME:Oracle数据库或者客户端软件所在的地址 但是我的在Oracle数据库的目录下,

使用springboot记录用户操作日志-爱代码爱编程

在工作中我们可能会遇到一个需求,就是记录用户的操作信息,接下来使用spring的aop特性实现这一需求 一、首先引入我们必要的一些依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b

oracle ebs 底层分析 v1.01(1)-爱代码爱编程

并发管理器 ORACLE EBS 产品在最初就引入了并发管理器的概念,在用户在 FORM 界面进行了数据的基础录入之后,提交并发请求 在后台异步进行数据的加工以及报表的展现。 本章节基础环境 R12.1.3 DB 11.2.0.3 PSU8 本章节作者 虚名 管理

oracle ebs r12 dba(二)-爱代码爱编程

Overview of Oracle E-Business Suite An integrated suite of applications for e-business Applications Technology Financials HRMS   CRM Supp

hive如何实现oracle中复杂的update sql-爱代码爱编程

hive3.1有update语法,但是目前没用还是采用的非事务表,所以我们用其他的办法来解决hive的update问题 简单的update oracle update student  set name='cclovezbf' where id=1 hive   insert overwrite table student s

12.2c集群清理环境-爱代码爱编程

有套12.2C rac环境一直未使用,因12c已停产,客户要求重新部署成19c集群,正好有个机会做个清理过程 MOS文件: 如何(Deconfigure)解除配置/(Reconfigure)重新配置(重建 OCR)或卸载 GI (Doc ID 2016852.1) 步骤 1  使用dbca删除实例 2  节点一上使用oracle用户执行$ORACLE_

oracle数据库从入门到精通系列之四:重做日志文件-爱代码爱编程

Oracle数据库从入门到精通系列之四:重做日志文件 一、重做日志文件 二、重做日志文件主要用处 三、在线重做日志 1.数据库高速缓存 2.数据块写入器DBWn

在agileplm项目中使用积木报表-爱代码爱编程

前言 目前市面上有很多比较好的报表工具,但很多收费都比较昂贵,这次找到一个开源免费的报表工具。推荐企业内部开发使用 积木报表虽然没有FineReport那么功能强大,但是目前测试下来也可以满足大部分报表功能。也是能缩短开发周期降低开发成本的。 积木报表的开源协议是LGPL v2.1,如果要商业使用,最好确认一下协议细节,是否存在法律风险。大家也可以直