本文概要:
1. 新手安装DM7常见问题
2. disql使用问题,上下键乱码处理等
3. 没有使用过oracle的用户,可能对一些概念比较费解
4. 记录了ODBC驱动安装和配置,数据库连接配置
1. 不同版本的linux系统分别对应不同的安装包,请注意区分版本,如果在center os7装了rh6版本的包,则会出现因没升级到GLIBC2.14版本报错,因此尽量按照对应的版本安装,版本对应关系如下所示:
操作系统(示例) | 对应的安装包 |
NeoKylin Advance V6.0 x86_64 | dm7_setup_rh6_64_ent_7.6.0.142_20190312.iso |
Center OS 7 | dm7_setup_rh7_64_ent_7.6.0.142_20190312.iso |
2. 几点注意事项
(1) 建议单独创建一个用户进行数据库安装操作,不要直接使用root账户安装。
(2) open files 的设置
建议修改配置文件: /etc/security/limits.conf
根据配置文件中的提示, 添加两行配置(假设使用dmdba用户进行安装):
dmdba soft nofile 4096
dmdba hard nofile 65536
保存之后,注销或者重启, 使用ulimit -a 命令进行查看是否已生效。
(3) 如果是在虚拟机内进行安装,yum本地安装源设置方式:
挂载系统镜像: mount -o loop NeKylinLinuxServer6.iso /mnt/cdrom
修改 /etc/yum.repos.d/目录下的ns6.repo, 其中的baseurl指向挂载的 /mnt/cdrom
[nk6-os]
name=NeKylin Linux Server 6 - Os
baseurl=file:///mnt/cdrom/// #注意路径格式中的 /// 不要写错
gpgcheck=0
enabled=1
如果没有问题,此时就可以使用 yum -y install gcc 安装gcc了。 gcc是安装odbc驱动包时的必备库,否则无法编译。
(4) 如果在linux6中安装了rh7的包,升级GLIBC2.12至GLIBC2.17即可解决,具体升级方式请自行百度。
具体安装步骤,参见DM_Install_zh.pdf即可,这里不再赘述。
1. disql命令找不到
这时需要配置环境变量,把安装目录下的bin文件夹路径加入环境变量配置文件:
进入安装用户的home文件夹下, 修改.bash_profile文件, 最后加入 export PATH=$PATH:$DM_HOME/bin
保存后,执行 source .bash_profile , 即可生效。
2. 在tool下的disql无法直接 disql uid/pwd@host:port的方式登录
如果无法直接登录成功, 可以使用 conn uid/pwd@host:port 进行连接
3. 密码中含有特殊符号,连接出错,怎么办?
密码使用 '"pwd"' 包裹即可(最外层是单引号,里层是双引号),例如 conn sysdba/'"qwer*1234"'。
此密码输入方式同样适用于 dexp 和 dimp 导入导出工具。
4. 在disql命令行使用上下键或左右键时,出现乱码怎么办?
首先,安装 yum -y install readline*
然后下载rlwrap安装包,这里提供rlwrap-0.30版本的包。
进行./configure&make&make install安装成功之后,进入到home文件夹,
修改.bash_profile文件,在下方增加如下配置:
alias disql='rlwrap disql'
alias rman='rlwrap rman'
alias isql='rlwrap isql'
保存之后,source .bash_profile , 此时问题已解决。
1. 数据库(DATABASE)
每个数据库实例创建后,都会有一个不同的端口号,默认5236。
每个数据库实例都有系统自身的数据库文件.dbf, 重做日志文件.log,以及.ctl控制文件,.ini配置文件等。
每个数据库实例都有一个相应的dmserver服务,服务启动后,才可以进行正常的访问。
2. 模式(SCHEMA)
模式是一个架构,在概念上可将其看作是包含表、视图和权限定义的对象。
模式与用户之间的关系是多对多的关系。
创建用户时,系统会默认创建一个同名的模式。
我们在做各种操作时,一般基于模式进行操作。
3. 表空间(TABLESPACE)
表空间是存放表,索引等数据文件的地方,每个表空间都有自己所对应的一个或多个dbf文件。
4. 用户(USER)
顾名思义,用户是数据库的使用者。根据权限来判断其能进行的操作。
5. 角色(ROLE)
角色可以理解为是一组不同权限的统称,每个角色下可以对应多个权限。 拥有此角色,即拥有该角色下的所有权限。
概念理解:
“表或者索引”数据存放在表空间数据文件中,在某个模式下创建表或者索引时,可以通过STORAGE(ON TABLESPACE_NAME)来指定数据存放的表空间。在对数据各种操作时,通过 模式名 + 表、索引... 等进行操作。
1. 安装驱动包unixODBC-2.3.0.tar.gz
如果系统中已安装gcc, 则解压后,直接编译和安装即可。
解压: tar -zxvf unixODBC-2.3.0.tar.gz
进入安装包: cd unixODBC-2.3.0
配置安装:./configure --enable-gui=no
编译: make
安装:make install
如果在make时报错,请检查是否安装了gcc , rpm -aq|gcc, 如果没安装,请参照上方1.2.3进行安装。
安装成功后,使用 odbc_config --version可查看版本。
2. 配置驱动
检查驱动配置文件的路径: odbcinst -j
修改驱动实例配置文件(odbcinst.ini),内容如下:
[DM7 ODBC DRIVER]
DESCRIPTION = ODBC DRIVER # 描述
DRIVER = /dm7/bin/libdodbc.so #指定驱动
修改数据库连接配置(odbc.ini),内容如下:
[DM7]
DESCRIPTION = DM ODBC DSDN #描述
DRIVER = DM7 ODBC DRIVER #上面配置的驱动实例名字
SERVER = localhost #服务器地址
TCP_PORT = 5236 #数据库实例TCP端口
UID = SYSDBA #用户名
PWD = SYSDBA #密码
如果使用 isql dm7无法登陆成功,是您使用的linux账号没有配置环境变量, 需要切换到安装数据库的用户下执行。