Oracle数据库安装

准备工作

在/etc/hosts文件中增加主机名,配置host文件



vim /etc/hosts

192.168.233.101 hadoop


安装步骤

安装依赖包



yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686elfutils-libelf elfutils-libelf-devel gcc gcc-c++  glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686  libgcc libgcc.i686 libstdc++ libstdc++.i686libstdc++-devel make sysstat unixODBC unixODBC-devel


添加oracle用户和用户组

创建oinstall组和dba组,把oracle用户加入到用户组,并设置oracle登录密码



groupadd oinstall             
groupadd dba            
useradd -g oinstall -G dba oracle   
passwd oracle

 



修改内核参数配置文件



vim /etc/sysctl.conf

 # 在文件底部添加以下的内容

fs.file-max= 6815744
fs.aio-max-nr=1048576
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= 1048576
kernel.sem= 250 32000 100 128

# 执行命令sysctl使其自检并生效

sysctl -p



修改用户限制文件


1 修改配置文件

vim /etc/security/limits.conf

# 在文件底部添加以下的内容

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

2修改用户关联文件

vim /etc/pam.d/login

# 在文件底部添加以下的内容

session  required  /lib64/security/pam_limits.so 
session required pam_limits.so

3修改系统环境参数

vim /etc/profile  

# 在文件底部添加以下的内容

if [ $USER = "oracle" ]; then
 if [$SHELL = "/bin/ksh" ]; then
 ulimit -p 16384
 ulimit -n 65536
 else
 ulimit -u 16384 -n 65536
 fi
fi

# 刷新配置

source /etc/profile
 
 
创建安装目录和设置目录权限
 
 
mkdir /usr/local/oracle   # oracle是数据库系统安装目录,
mkdir /usr/local/oradata   # oradata是数据库数据安装目录,
mkdir /usr/local/oradata_back   # oradata_back是数据备份目录,
mkdir /usr/local/oraInventory   # oraInventory是清单目录

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/
 
 
配置oracle用户环境变量
 
 
vim /home/oracle/.bash_profile

# 在文件底部追加以下内容

export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

# 保存退出,刷新配置

source .bash_profile


编辑静默安装响应文件

切换到 oracle用户



su - oracle
 
 
复制一份模板
 
 
cp -R /home/database/response/ /usr/local/oracle



该文件默认存放在解压后的安装包内,也就是本例中/home/database/response下,将oracle静默安装所需应答文件全部拷贝至 /usr/local/oracle文件夹下

修改安装所需的所有响应文件的所属组及权限



cd  /usr/local/oracle/response
chown oracle:oinstall /usr/local/oracle/response/*.rsp
chmod 755 /usr/local/oracle/response/*.rsp


配置db_install.rsp文件


vim /usr/local/oracle/response/db_install.rsp

# 找到对应属性并修改

oracle.install.option=INSTALL_DB_SWONLY     #安装类型,只装数据库软件   
ORACLE_HOSTNAME=nginx                    #主机名称(命令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.install.db.DBA_GROUP=dba                     #dba用户组   
oracle.install.db.OPER_GROUP=dba              #oper用户组(不明白)   
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=8920      #自动管理内存的内存(M)  
oracle.install.db.config.starterdb.password.ALL=oracle    #设定所有数据库用户使用同一个密码 
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false            #(手动写了false)  
oracle.install.db.config.starterdb.password.SYS=1995
oracle.install.db.config.starterdb.password.SYSTEM=1995
DECLINE_SECURITY_UPDATES=true        # **注意此参数 设定一定要为true


根据响应文件安装oracle



cd /home/database/
./runInstaller  -silent -responseFile /usr/local/oracle/response/db_install.rsp -ignorePrereq

参数说明:   
/home/database 是安装包解压后的路径,此处根据安装包解压所在位置做修改,因人而异。  
runInstaller 是主要安装脚本   
-silent 静默模式   
-force 强制安装   
-ignorePrereq忽略warning直接安装。   
-responseFile读取安装应答文件。



在root账号登录打开新窗口内执行以下提示的脚本


/usr/local/oraInventory/orainstRoot.sh
/usr/local/oracle/product/11.2.0/db_1/root.sh
 
 
oracle用户下编辑静默响应文件.把dbca.rsp改名为dbca_数据库名.rsp
 
 
cd  /usr/local/oracle/response
mv  dbca.rsp   dbca_orcl.rsp


静默配置监听



netca /silent /responsefile /usr/local/oracle/response/netca.rsp

# 注意netca.rsp文件的需要指定绝对路径
 
 
查看生成监听文件
 
 
ll $ORACLE_HOME/network/admin/*.ora



查看服务端口,如果监控程序没启动成功的情况下,执行下面命令手动启动



lsnrctl start dbstart



静默安装数据库(同时也建立一个对应的实例)

修改/usr/local/oracle/response/dbca_orcl.rsp



vim /usr/local/oracle/response/dbca_orcl.rsp

# 设置如下:

GDBNAME="orcl"           #78行 全局数据库的名字=SID+主机域名
SID="orcl"               #149行 SID对应的实例名字
SYSPASSWORD="1995"       #190 SYS管理员密码
SYSTEMPASSWORE="1995"    #200行//SYSTEM管理员密码
DATAFILEDESTINATION=/usr/local/oradata/    #357行 数据文件存放目录
RECOVERYAREADESTINATION=/usr/local/oradata_back     #367行 恢复数据存放目录
CHARACTERSET="AL32UTF8"    #415行 字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚
TOTALMEMORY= "5120"       #540行 oracle内存5120MB,建议为物理内存70%~85%



静默安装数据库



dbca -silent -responseFile /usr/local/oracle/response/dbca_orcl.rsp



查看安装日志



cat /usr/local/oracle/cfgtoollogs/dbca/orcl/orcl.log



达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_数据库

 

如果日志里出现 未找到包含数据文件信息的文件 “/usr/local/oradata/Seed_Database.dfb”。请指定有效文件。

则需要找到Seed_Database.dfb文件复制到/usr/local/oradata/Seed_Database.dfb目录



find / -name  Seed_Database.dfb
#找到文件然后复制过去
cp /home/oracle/database/stage/Components/oracle.rdbms.install.seeddb/11.2.0.1.0/1/DataFiles/Expanded/filegroup1/Seed_Database.dfb   /usr/local/oradata/Seed_Database.dfb


建库后实例查询



ps -ef | grep ora_ | grep -v grep



建库后监听检查



lsnrctl status



达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_oracle_02

 

启动数据库,创建用户赋权

启动数据库



su - oracle lsnrctl start



重启启动数据库



export ORACLE_SID=orcl
sqlplus / as sysdba
shutdown immediate
startup


如果客户端工具连接出现ORA-01033,或者 ORA-12514, TNS:listener does not currently know of service requested in connect descriptor 错误,进入sqlplus执行以下命令


sqlplus / as sysdba
shutdown abort 
startup

创建新用户并授予权限



Oracle用户下启动 SQL plus 程序

su- oracle
sqlplus

创建新用户

SQL> CREATE USER USER01 IDENTIFIED BY Orcl1234;
User created.



Oracle迁移DM

环境准备


在进行迁移前,需要修改DM数据库中专门阵地ORACLE移植到DM的参数。

Compatibility   使用效果及建议
COMPATIBLE_MODE 
是否兼容其他数据库模式。

0:不兼容,1: 兼容 SQL92 标准,2:部分兼容 ORACLE,3: 部分兼容 MS SQL SERVER,4:部分兼容 MYSQL, 5:兼容 DM6,6:部分兼容Teradata。

该参数默认为 0,所以当从 Oracle 移植到 DM 数据库时,修改值为2。

CALC_AS_DECIMAL 整数相除是否保留小数位,修改为 1
ORA_DATE_FMT    
是否兼容 ORACLE 的 DATE 类型格式。0:不兼 容;1:兼容。

该参数默认为0。

注:仅当 COMPATIBLE_MODE 为 2 时有效

修改方式:

SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);
SP_SET_PARA_VALUE(2,'CALC_AS_DECIMAL',1);
或者
ALTER SYSTEM SET 'COMPATIBLE_MODE'=2 SPFILE;
ALTER SYSTEM SET 'CALC_AS_DECIMAL'=1 SPFILE;
修改完成后需要重启数据库后才能生效。

select para_name,para_value from v$dm_ini 
where para_name = 'CALC_AS_DECIMAL' OR para_name = 'COMPATIBLE_MODE';
##查看修改后的参数值

在 INI 参数的 compatibility 部分,还有其它的一些参数,在涉及到之前,尽量保持默认值,在移植准备的环节,先只调整这个参数就可以了,其它参数,在移植过程中遇到了再具体分析。

新建工程

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_达梦mysql 数据库迁移工具_03

 

选择迁移方式

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_数据库_04

 

连接源数据库

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_oracle_05

 

连接目标数据库

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_oracle_06

 

选择源模式和目的模式

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_达梦mysql 数据库迁移工具_07

 

选择迁移对象

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_数据库_08

 

审阅迁移任务

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_达梦mysql 数据库迁移工具_09

 

完成迁移

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_mysql_10

 

DM(win)迁移DM(Linux)

选择迁移项目

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_oracle_11

 

连接源数据库

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_数据库_12

 

连接目标数据库

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_数据库_13

 

选择源模式和目的模式

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_mysql_14

 

选择迁移对象

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_数据库_15

 

审阅迁移任务

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_数据库_16

 

迁移完成

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_mysql_17

 

注:我未向源数据库中生成数据,所以迁移的内容,两台机器均有,导致部分内容(视图)无法迁移

MySQL数据库安装

创建安装用户



[root@lxr ~]# useradd mysql -s /sbin/nologin -M #<==创建mysql用户。 
[root@lxr ~]# id mysql



下载、解压mysql软件包,并做好软链接mysql到/usr/local。


[root@lxr ~]# cd /opt 

[root@lxr opt]# wget https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.26- linux-glibc2.12-x86_64.tar.xz 

[root@lxr opt]# tar xf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz 

[root@lxr opt]# mv /opt/mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql 

[root@lxr opt]# ls -l /usr/local/mysql


创建MySQL数据目录、配置文件(/etc/my.cnf)并授权



#1)增加简易配置文件,后面在优化 

cat>/etc/my.cnf<<'EOF' 

[mysqld] 

user=mysql

basedir=/usr/local/mysql 

datadir=/data/3306/data 

port=3306 

socket=/tmp/mysql.sock

[client] 

socket=/tmp/mysql.sock 

EOF 

cat /etc/my.cnf 

chown mysql.mysql /etc/my.cnf 

#2)创建MySQL数据目录并授权 

mkdir -p /data/3306/data 

chown -R mysql.mysql /data 

ls -ld /data



配置PATH环境变量,并初始化MySQL数据库



#1) 配置PATH环境变量 

echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile 

. /etc/profile 

echo $PATH 

#2)初始化MySQL数据库 

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql \ 

--basedir=/usr/local/mysql --datadir=/data/3306/data 

重点知识1 : 之前不同版本的初始化命令异同 

/usr/local/mysql/scripts/mysql_install_db #5.7之前 

/usr/local/mysql/bin/mysqld #5.7和8.0初始化 

重点知识2: --initialize和--initialize-insecure区别 

--initialize: 会生成一个12位,4种密码复杂度临时管理员密码. 第一次登陆需要修改. 

--initialize-insecure:管理员密码为空. 

来自8.0官方翻译: 

mysql_install_db程序已从MySQL发行版中删除。数据目录初始化应通过使用 --initialize 或-- 

initialize-insecure选项调用mysqld来执行。 此外,删除了mysql_install_db使用的mysqld选 

项,并删除了控制mysql_install_db安装位置的选项。 

#(5)初始化数据库的原理及结果说明 

初始化数据库的实质就是创建基础的数据库系统的库文件等信息,例如:生成mysql库表等。 

[root@db01 /opt]# ls /data/3306/data/ -l 

total 176568 

-rw-r----- 1 mysql mysql 56 Mar 7 16:40 auto.cnf 

-rw------- 1 mysql mysql 1680 Mar 7 16:40 ca-key.pem 

-rw-r--r-- 1 mysql mysql 1112 Mar 7 16:40 ca.pem 

-rw-r--r-- 1 mysql mysql 1112 Mar 7 16:40 client-cert.pem



配置并启动MySQL数据库



1.设置MySQL启动脚本 

cd /usr/local/mysql/support-files/ 

cp mysql.server /etc/init.d/mysqld #<==拷贝mysql启动脚本到启动路径。 

systemctl enable mysqld #<==等价chkconfig mysqld on(c7把服务设置开机自启动命令) 

2.启动MySQL数据库 

systemctl start mysqld 

3.检查MySQL数据库是否启动。 

netstat -lntup|grep 330 

4.查看MySQL数据库启动结果日志。 

cat /data/3306/data/db01.err 

2.2.3登录MySQL测试 

执行登录命令如下: 

mysql



MySQL迁移DM

创建迁移任务

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_数据库_18

 

连接源数据库

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_达梦mysql 数据库迁移工具_19

 

连接目标数据库

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_mysql_20

 

选定迁移内容和模式

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_oracle_21

 

审阅迁移任务

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_达梦mysql 数据库迁移工具_22

 

完成迁移

达梦mysql 数据库迁移工具 达梦数据库迁移到oracle_mysql_23