云主机安装oracle
本例:
通过SSH远程连接云主机,上传oracle11g安装包,在centos6.5上无图形化界面静默安装oracle11g。
1、 安装依赖包(root用户)
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
-----oracle12.2.0.1我是用下面这个-----
yum install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel
2、设定swap空间(root用户)
1.##在/home/下生成swap文件 设定大小2GB dd if=/dev/zero of=/home/swapfile bs=1M count=2048 2.##设定使用/home/swapfile交换文件 mkswap /home/swapfile 3.##启用交换分区 swapon /home/swapfile 4.##编辑文件/ect/fstab vi /etc/fstab ##以便引导系统时启用交换文件,文件最下方插入 /home/swapfile swap swap defaults 0 0
3、添加oracle用户(root)
##创建oinstall、dba组 将oracle用户加入组 修改并设定oracle用户密码 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle ---用户已存在可以跳过 passwd oracle --- 用户已存在可以跳过
如果用户已存在 要看这个oracle 是否归属于 oinstall 和 dba
如果没有 要用下面的命令,为这个用户添加组 不过组要先存在
usermod -a -G dba oracle
usermod -a -G oinstall oracle
4.修改内核参数 (root)
##编辑文件/etc/sysctl.conf vi /etc/sysctl.conf ##配置文件内加入 修改以下参数。如果没有可以自己添加,如果默认值比参考值大,则不需要修改。
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
##执行命令sysctl使其自检并生效
sysctl -p
5、修改用户资源限制(root)
## 1.修改/etc/security/limits.conf配置文件 vi /etc/security/limits.conf ## 2.配置文件下方加入
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
## 3.修改/etc/pam.d/login配置文件 vi /etc/pam.d/login ## 4.配置文件内加入
session required /lib/security/pam_limits.so
session required pam_limits.so
6、创建安装目录(root)
##创建安装目录 /usr/local/oracle /usr/local/oraInventory /usr/local/oradata 并赋予组用户及权限 mkdir -p /usr/local/oracle /usr/local/oraInventory /usr/local/oradata/ chown -R oracle:oinstall /usr/local/oracle /usr/local/oraInventory /usr/local/oradata/ chmod -R 775 /usr/local/oracle /usr/local/oraInventory /usr/local/oradata/
7、创建oraInst.loc文件(root)
##创建/etc/oraInst.loc文件 vi /etc/oraInst.loc ##文件内加入以下内容 inventory_loc=/usr/local/oraInventory inst_group=oinstall ##保存退出后执行以下命令。设定该文件的用户组及权限。 chown oracle:oinstall /etc/oraInst.loc chmod 664 /etc/oraInst.loc
8、通过上传zip文件并解压(root)
下载地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
##解压缩命令 cd /home unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip ##待解压完毕后会生成文件夹/home/database,这个目录要看自己解压缩后的路径,因人而异 修改其用户组及权限此处直接使用777 chmod 777 /home/database chown -R oracle.oinstall /home/database
9、准备oracle安装应答模板文件db_install.rsp文件(root)。
## 1、该文件默认存放在解压后的安装包内,也就是本例中/home/database/response下, ## 将oracle静默安装所需应答文件全部拷贝至 /usr/local/oracle文件夹下 cp /home/database/response/* /usr/local/oracle/ ## 2、修改安装所需的所有应答文件的所属组及权限 chown oracle:oinstall /usr/local/oracle/*.rsp chmod 755 /usr/local/oracle/*.rsp ## 3、配置db_install.rsp文件 vi /usr/local/oracle/db_install.rsp ## 4、文件内修改相应的参数配置如下: oracle.install.option=INSTALL_DB_SWONLY //安装类型,只装数据库软件 ORACLE_HOSTNAME=db //主机名称(命令hostname查询) UNIX_GROUP_NAME=oinstall // 安装组 INVENTORY_LOCATION=/usr/local/oraInventory //INVENTORY目录(**不填就是默认值,本例此处需修改,因个人创建安装目录而定) SELECTED_LANGUAGES=en,zh_CN // 选择语言 ORACLE_HOME=/usr/local/oracle/product/11.2.0/db_1 // oracle_home *路径根据目录情况注意修改 本例安装路径/usr/local/oracle ORACLE_BASE=/usr/local/oracle // oracle_base *注意修改 oracle.install.db.InstallEdition=EE // oracle版本 oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件 oracle 12.2不需要 oracle.install.db.DBA_GROUP=dba //dba用户组 oracle.install.db.OPER_GROUP=oinstall //oper用户组
**
oracle.install.db.BACKUPDBA_GROUP=oinstall //oracle 12.1、12.2需要配置
oracle.install.db.DGDBA_GROUP=oinstall //oracle 12.1、12.2 需要配置
oracle.install.db.KMDBA_GROUP=oinstall //oracle 12.1、12.2 需要配置
**
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型 oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName oracle.install.db.config.starterdb.SID=orcl //SID(**此处注意与环境变量内配置SID一致) oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M) oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码 SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //(手动写了false) DECLINE_SECURITY_UPDATES=true // **注意此参数 设定一定要为true
10、设置oracle用户环境
## 由root切换至创建好的oracle用户 su - oracle ## 修改该用户的用户配置文件 vi .bash_profile ## 文件内加入并修改至以下内容 export ORACLE_BASE=/usr/local/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl export ORACLE_OWNER=oracle export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin ## 保存退出后执行source命令立即生效。 source .bash_profile
11、在oracle用户下开始安装。
## 执行命令。 /home/database/./runInstaller -silent -force -ignorePrereq -responseFile /usr/local/oracle/db_install.rsp ##参数说明 /home/database是安装包解压后的路径,此处根据安装包解压所在位置做修改,因人而异。 runInstaller 是主要安装脚本 -silent 静默模式 -force 强制安装 -ignorePrereq忽略warning直接安装。 -responseFile读取安装应答文件。
12、xshell另起窗口并以root登陆。
通过 watch -d -n 2 'du -sh /usr/local/oracle' 监测oracle安装目录是否变化。或者直接tail -f命令监测安装log日志。不赘述。 log日志在 oraInventory底下
13、等待安装编译直至出现以下内容,在新创建的root窗口内执行以下提示内的脚本,
/usr/oracle/oraInventory/orainstRoot.sh
/usr/oracle/product/11.2.0/db_1/root.sh
#------------------------------------------------------------------- /usr/oracle/oraInventory/orainstRoot.sh /usr/oracle/product/11.2.0/db_1/root.sh To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts 4. Return to this window and hit"Enter" key to continue Successfully Setup Software. #-------------------------------------------------------------------
以上转载自:https://www.cnblogs.com/colmeluna/p/5686142.html
13.1用oracle用户登录配置监听
netca -silent -responseFile /usr/local/oracle/netca.rsp
在安装监听的的时候 报了以下错误:
Oracle Net Configuration Assistant failed ;Returning is Port 1521 free: false
好像是操作系统不同。 我把/etc/hosts 里面 多余的去掉 就可以了。去掉的这些
127.0.0.1 ecs-cf3b.novalocal ecs-cf3b
127.0.0.1 ecs-cf3b.novalocal ecs-cf3b.novalocal
127.0.0.1 ecs-test01.novalocal ecs-test01.novalocal
127.0.0.1 ecs-tst0001.novalocal ecs-tst0001.novalocal
127.0.0.1 ecs-c264.novalocal ecs-c264.novalocal
127.0.0.1 ecs-e60a.novalocal ecs-e60a.novalocal
127.0.0.1 ecs-ce99.novalocal ecs-ce99.novalocal
127.0.0.1 ecs-ccc5-0019.novalocal ecs-ccc5-0019.novalocal
出现下图情况时,则需要配置DISPLAY变量,配完之后重新netca:
export DISPLAY=localhost:0.0
成功运行后,会在/usr/local/oracle/product/11.2.0/db_1/network/admin 中生成listener.ora和sqlnet.ora两个文件。
13.2查看监听端口:
netstat -tnulp | grep 1521
14.静默安装数据库
修改仅安装数据库的响应文件/usr/local/oracle/etc/dbca.rsp 这个文件在linux安装包里有,或者第9步里复制的
cp /home/oracle/database/response/dbca.rsp /usr/local/oracle
GDBNAME="orcl.java-linux-test" //78 行 全局数据库的名字=SID+主机域名 可以不改 SID="orcl" //149行 SID CHARACTERSET="AL32UTF8" //415行 编码 可以不改 NATIONALCHARACTERSET="UTF8" //425行 编码 可以不改
templateName=General_Purpose.dbc 12.2需要修改这个参数 否则会出现这个报错:[FATAL] [DBT-10503] Invalid template file specified.
15.开始安装数据库(oracle用户--整个过程要等二十分钟) 可以通过这边,创建第二个数据库实例
$ORACLE_HOME/bin/dbca -silent -responseFile /usr/local/oracle/dbca.rsp
12.2.0.1使用下面这个命令
$ORACLE_HOME/bin/dbca -silent -createDatabase -responseFile /data/oradata/dbca.rsp --否则会出现说-silent这个参数非法
这里的密码是配置的是oralce-SYS 用户的密码
完成后如下图

16.建库后实例检查
ps -ef | grep ora_ | grep -v grep | wc -l
ps -ef | grep ora_ | grep -v grep
17.监听检查
lsnrctl status
**如果建了多个数据库实例 怎么同时启动多个数据实例呢?
配置监听:
在 /oracle/oracle/product/12.2.0/db_1/network/admin/listener.ora 下增加以下内容
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl12c.us.oracle.com) (ORACLE_HOME = /oracle/oracle/product/12.2.0/db_1) (SID_NAME = orcl) ) (SID_DESC = (GLOBAL_DBNAME = orcl12c2.us.oracle.com) (ORACLE_HOME = /oracle/oracle/product/12.2.0/db_1) (SID_NAME = orcl12c) ) )
重启监听
lsnrctl stop
lsnrctl start
再次检查监听状态,出现如下 代表监听启动了
lsnrctl status

重启数据库,后两个实例都可以登录了
shutdown immediate
startup
修改数据库编码
sqlplus / as sysdba
Oracle Server端字符集查询
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
由此可以看出字符集为ZHS16GBK
如果startup报错了 可以使用

可以使用 alter database open resetlogs;
Server端字符集修改
将数据库启动到RESTRICTED模式下做字符集更改:
$ sqlplus "/as sysdba"
SQL> conn /as sysdba;
SQL> shutdown immediate;
SQL> startup mount;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> alter database character set INTERNAL_USE UTF8; 或者 alter database character set INTERNAL_USE ZHS16GBK;
SQL> shutdown immediate;
SQL> startup;
SQL> exit;
18.连接数据库
sqlplus / as sysdba
19.创建用户,指定密码
CREATE USER 用户 IDENTIFIED BY 用户密码;
19.1 创建临时表空间和表空间
create temporary tablespace gsiomc_NOTIFYDB_TEMP tempfile '${ORACLE_HOME}\oradata\NOTIFYDB_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;
create tablespace gsiomc_NOTIFYDB datafile '${ORACLE_HOME}\oradata\notifydb.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
20.赋予权限
grant connect,resource,dba to 用户;
grant unlimited tablespace to 用户;
grant create database link to 用户;
grant select any sequence,create materialized view to 用户;
grant unlimited tablespace to 用户;//授予不限制的表空间
grant select any table to 用户;//授予查询任何表
grant是关键字,select any table是权限,to后面是用户账号
21.创建测试表
create table test_V1(
PROJECT_ID NUMBER(10) primary key,
PROJECT_NAME varchar2(20) not null,
);
=================================================================
*修改连接数------以下命令都在sql>下运行
sqlplus / as sysdba
show parameter processes --查看最大连接
processes --即为最大连接数
alter system set processes = 300 scope = spfile;--修改最大连接数为300:
shutdown immediate;
startup;--重启数据库
==================================================================

浙公网安备 33010602011771号