达梦数据迁移

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

 

如果日志里出现 未找到包含数据文件信息的文件 “/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

 

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

启动数据库

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

新建工程

 

选择迁移方式

 

连接源数据库

 

连接目标数据库

 

选择源模式和目的模式

 

选择迁移对象

 

审阅迁移任务

 

完成迁移

 

DM(win)迁移DM(Linux)

选择迁移项目

 

连接源数据库

 

连接目标数据库

 

选择源模式和目的模式

 

选择迁移对象

 

审阅迁移任务

 

迁移完成

 

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

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

创建迁移任务

 

连接源数据库

 

连接目标数据库

 

选定迁移内容和模式

 

审阅迁移任务

 

完成迁移

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值