centos oracle 修改监听服务名_实际业务开发中,解决Oracle数据库乱码问题和服务器数据库扩容详细步骤…

  • Post author:
  • Post category:其他


4021dbd8392ede36ab2f391226ef63ed.png

前言:

1. 本文的主要内容为数据库开发记录,包含的业务数据部分占比较大。

2. 此外由于笔记中有一部分内容的Markdown格式符号不能被知乎的编辑器识别,看起来比较奇怪,还请各位读者见谅。

3. 由于实际操作较多,即使我已经有选择地删去了部分代码,文中包含了一些我认为关键的代码,希望能抛砖引玉,给各位带来参考意义。

一、必要环境安装与简单问题解决

首先解决连接数据库查询到中文数据异常的问题。

  • 编码格式可能造成两个后果:
  • 1、中文数据显示为乱码;
  • 2、一个汉字占据的空间异常。


中文乱码效果如下

895cb252f1f66d84198d2e54029c8039.png


汉字占据的空间异常

问题如下:

下面描述在插入表数据的时候发现,一个中文汉字居然要占3个字节,问了周围的同事,他们都说,一个汉字占2个字节,没毛病。网上查了一下,说是编码格式的问题,网络搜索结果的链接如下:


http://bbs.csdn.net/topics/390078856

于是又找了很多改编码格式的教程

总结方法如下:


pl/sql developer编码格式设置

一、pl/sql developer 中文字段显示乱码

原因是:数据库的编码格式和pl /sql developer工具的编码格式不统一。

二、查看和修改oracle数据库字符集:

select userenv(‘language’) from dual;

查询结果:

SIMPLIFIED CHINESE_CHINA.AL32UTF8



修改oracle数据库字符集

一、在终端工具输入SQLplus命令,连接成功后执行下面的命令

sql> conn / as sysdba;	//我的电脑不能用这种方式登录,于是用下面的方式登录sysDBA 
SQL> conn sys/password as sysdba

sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
database mounted.
sql> alter system enable restricted session;
system altered.
sql> alter system set job_queue_processes=0;
system altered.
sql> alter system set aq_tm_processes=0;
system altered.
sql> alter database open;
database altered.

二、修改字符集

sql> alter database character set internal_use JA16SJIS;//这里要改成:
sql> alter database character set	ZHS16GBK  ;
ALTER DATABASE CHARACTER SET ZHS16GBK 
* 
ERROR at line 1: 
ORA-12712: new character set must be a superset of old character set 
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改: 
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK; 
Database altered. 
SQL> select * from v$nls_parameters; 
略 
19 rows selected. 

三、重启数据库,使修改生效。

重启检查是否更改完成: 
SQL> shutdown immediate; 
Database closed. 
Database dismounted. 
ORACLE instance shut down. 
SQL> startup 
ORACLE instance started. 
Total System Global Area  236000356 bytes 
Fixed Size                   451684 bytes 
Variable Size             201326592 bytes 
Database Buffers           33554432 bytes 
Redo Buffers                 667648 bytes 
Database mounted. 
Database opened. 
SQL> select * from v$nls_parameters; 
略 
19 rows selected. 
+++++++++++++++++++++++++++++++++

# 重启数据库,使修改生效。
sql> shutdown immediate;
sql> startup;


附上网上找的教程:


pl/sql developer编码格式设置


http://www.2cto.com/database/201304/206749.html

sqlplus命令行登录方法 as sysdba


http://blog.csdn.net/zd8582zd/article/details/8202725

二、业务数据表和相关记录

# 一、 2I2C报表开发

目前2i2c的报表已经进入了数据开发阶段

前置的数据配置表为:

汇总过程:tb_sp_qry_wcost_total_TI_IQ

汇总表: tb_qry_wcost_total_ti

结果表: tb_rpt_val_gpm_2i2c

存储过程:tb_sp_rpt_val_gpm_2i2c

视图: v_entity_dim

***

**需要重点处理的问题:**

1. 数据的类型

– 省分

– 本地网

– 省本部

– 分档

2. 数据的主体

– 运营

– 云数据

– 新时空等

3. 报表样式的固定

– 主要是要确定都要显示==哪些主体==的数据

考虑是否需要新增存储过程来实现

> sp_rpt_val_gpm_2i2c

# 二、物联网报表的开发

1. 方案一:通过新的报表工具

1. 建立新的汇总数据生成过程

2. 设计展现主体

2. 方案二:通过旧的报表工具

1. 建立新的汇总数据生成过程

2. 配置报表的表样

三、扩容操作的详细操作步骤

等导入业务数据之后,发现服务器的硬盘空间不足,解决办法:扩容


操作流程如下:

连接上服务器,用命令查看目前剩余空间

Press Ctrl+C to cancel or Enter to reconnect immediately.
Reconnecting in 1 seconds...


Last login: Mon Apr 20 13:37:06 2020 from 192.168.161.1
[centos@localhost ~]$ df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root   17G   14G  3.3G   82% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                495M  100K  495M    1% /dev/shm

查看目前的挂载信息

[centos@localhost ~]$ 
[centos@localhost ~]$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0           2:0    1    4K  0 disk 
sda           8:0    0   40G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   19G  0 part 
  ├─cl-root 253:0    0   17G  0 lvm  /
  └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
sr0          11:0    1 1024M  0 rom  
[centos@localhost ~]$

遇到服务器权限问题示例:

[centos@localhost ~]$ 
[centos@localhost ~]$ fdisk /dev/sda
fdisk: 打不开 /dev/sda: 权限不够
[centos@localhost ~]$ 
[centos@localhost ~]$

授权,并打开分区信息

[centos@localhost ~]$ 
[centos@localhost ~]$ fdisk /dev/sda
fdisk: 打不开 /dev/sda: 权限不够
[centos@localhost ~]$ 
[centos@localhost ~]$ 
[centos@localhost ~]$ su root
密码:
[root@localhost centos]# 
[root@localhost centos]# 
[root@localhost centos]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。


更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。




命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (41943040-83886079,默认为 41943040):
将使用默认值 41943040
Last 扇区, +扇区 or +size{K,M,G} (41943040-83886079,默认为 83886079):+20G
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (41943040-83886079,默认为 83886079):+19.5G
不支持的后缀:“.5G”。
支持:10^N: KB (千字节), MB (兆字节), GB (吉字节)
            2^N: K  (约千字节), M  (约兆字节), G  (约吉字节)
Last 扇区, +扇区 or +size{K,M,G} (41943040-83886079,默认为 83886079):+20377M  
分区 3 已设置为 Linux 类型,大小设为 19.9 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@localhost centos]#

查看分区信息

[root@localhost centos]# 
[root@localhost centos]# partprobe
[root@localhost centos]# 
[root@localhost centos]# 
[root@localhost centos]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0           2:0    1    4K  0 disk 
sda           8:0    0   40G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
├─sda2        8:2    0   19G  0 part 
│ ├─cl-root 253:0    0   17G  0 lvm  /
│ └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
└─sda3        8:3    0 19.9G  0 part 
sr0          11:0    1 1024M  0 rom  
[root@localhost centos]# 
[root@localhost centos]#

创建分区

[root@localhost centos]# lvm
lvm> pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.
lvm> pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               cl
  PV Size               <19.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4863
  Free PE               0
  Allocated PE          4863
  PV UUID               xTpTLX-vpbQ-1ngV-ruw6-mVcl-Nd0y-2bdhnN
   

扩容操作1阶段

lvm> vgdisplay
  --- Volume group ---
  VG Name               cl
  System ID             

  Act PV                1
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               SWGnyX-ezyE-K5KM-2QsR-zq4l-2X2Q-MgQnrK
   
lvm> 
lvm> vgextend centos /dev/sda3
  Volume group "centos" not found
  Cannot process volume group centos
lvm> 
lvm> vgextend cl /dev/sda3
  Volume group "cl" successfully extended
lvm> 
lvm> vgdisplay
  --- Volume group ---
  VG Name               c
  Cur PV                2
  Act PV                2
  VG Size               38.89 GiB
  PE Size               4.00 MiB
  Total PE              9957
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       5094 / <19.90 GiB
  VG UUID               SWGnyX-ezyE-K5KM-2QsR-zq4l-2X2Q-MgQnrK
   
lvm> 

扩容2阶段

lvm> lvextend -l +100%FREE /dev/centos/root
  Volume group "centos" not found
  Cannot process volume group centos
lvm> 
lvm> lvextend -l +100%FREE /dev/cl/root
  Size of logical volume cl/root changed from <17.00 GiB (4351 extents) to 36.89 GiB (9445 extents).
  Logical volume cl/root successfully resized.
lvm> 
lvm> xfs_growfs /dev/cl/root
  No such command 'xfs_growfs'.  Try 'help'.
lvm> 
lvm> xfs_growfs /dev/centos/root
  No such command 'xfs_growfs'.  Try 'help'.
lvm> 
lvm> exit
  Exiting.
[root@localhost centos]#

扩容最后阶段

[root@localhost centos]#  xfs_growfs /dev/cl/root
meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4455424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4455424 to 9671680
[root@localhost centos]# 
[root@localhost centos]#

查看扩容完成结果

[root@localhost centos]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root   37G   14G   24G   38% /
devtmpfs             479M     0  479M    0% /dev
tmpfs                495M  100K  495M    1% /dev/shm
tmpfs                495M   20M  475M    4% /run
tmpfs                495M     0  495M    0% /sys/fs/cgroup
/dev/sda1           1014M  174M  841M   18% /boot
tmpfs                 99M   20K   99M    1% /run/user/1000
overlay               37G   14G   24G   38% /data/docker/overlay2/93ee455f0afb37f4f3f3d440ded92d0163c7b4baffc792e55c0b494e1bd7a6d9/merged
[root@localhost centos]#