cari
Rumahpangkalan datatutorial mysqlOracle11gR2 在 Linux CentOS 5.3,RHEL 5.4 上的安装 <转

Oracle11gR2 在 Linux CentOS 5.3,RHEL 5.4 上的安装 作者: Zinc Chen 邮箱: zinc.chen@live.cn 一. 安装操作系统 操作平台 : VMWARE 7.0.0 build-197124+CentOS-5.4-x86_64-bin-DVD.iso 数据库版本 : Oracle11gR2 针对 32/64 位 Linux ,请选用对应版本的

Oracle11gR2 在 Linux CentOS 5.3,RHEL 5.4 上的安装

作者: Zinc Chen 邮箱: zinc.chen@live.cn

 

 

一.   安装操作系统

操作平台 :

VMWARE 7.0.0 build-197124+CentOS-5.4-x86_64-bin-DVD.iso

数据库版本 :

Oracle11gR2  针对 32/64 位 Linux ,请选用对应版本的 Oracle

下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html 

 http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip

 

辅助软件 :

SecureCRT( 用于远程执行命令 ) 、 winscp( 用于远程文件传输 )

要求内存不小于 1G ; / 更新:测试机不满足要求,但是在安装的时候可以选择忽略

在内存小于 4G , SWAP 应该是内存的 1.5 倍;

内存 4 到 16G , SWAP 和内存相同大小即可

内存超过 16G , SWAP 是 16G ;

( 我的虚拟机物理内存设置为 2G , SWAP 设置为 3G) ;

由于 11gR2 对于共享内存要求变大,因此系统共享内存应该大于 512* 进程数;
如果共享内存不足的话,会造成 ORA-845 或 ORA-1078 错误;
要求 /tmp 分区不少于 400M ,安装目录应大于 4G ;

4.       我的虚拟机配置情况:

宿主配置为四核心 Q9550, 内存 8G DDR2 800 的,主板 Intel G45 ,硬盘采用 320G*3 前段组 RAID0, 后段组 RAID5 ,操作系统为 Vista 64bit SP2

虚拟操作系统配置: CPU 双核心,内存 2048G ,硬盘 160G

硬盘分区情况如下:

SWAP   3072M

/boot  300M 

/         15G     

/ora      15G     

/oradata  90G     

/orabak   30G      

/更新:实际使用中,先划分前面的分区,然后根据硬盘剩余对后面的空间进行划分,建议采用 LVM2 对分区进行管理,这样可以在线调整分区大小,灵活性比较高。

5.       默认服务器开启了 SSH ,在配置防火墙的时候注意检查一下,这样可以使用 SecureCRT 连接进入控制,使用 FileZilla 传输文件;

6.       安装系统的时候,可以直接选择依赖包,以解决 Oracle 安装的时候依赖关系,当然也可以在安装完基本系统以后再补充安装依赖包,建议采用后者,以避免操作太多导致混乱;

7.       VM 中安装的话,需要安装 VM 相关的驱动 ( 点击 VM->Install VMware Tools) :

进入光盘路径:    mount /media/cdrom /dev/cdrom

cd /media/cdrom

安装 VMwareTools : rpm –ivh VMwareTools-7.8.6-185404.i386.rpm

初始化图形界面: /usr/bin/vmware-config-tools.pl

重新启动 X : ctrl+alt+backspace

弹出 VM 的驱动光盘,挂载默认的系统盘,后面要用

 

二.配置系统,准备安装

检查硬件情况 ( 虚拟机情况 ) :

[root@ora ~]# grep "model name" /proc/cpuinfo

model name      : Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz

model name      : Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz

[root@ora ~]# grep MemTotal /proc/meminfo

MemTotal:      2075560 kB

[root@ora ~]# grep SwapTotal /proc/meminfo

SwapTotal:     3113340 kB

[root@ora ~]# free

             total       used       free     shared    buffers     cached

Mem:       2075560    1000572    1074988          0      59336     814732

-/+ buffers/cache:     126504    1949056

Swap:      3113340          0    3113340

[root@ora ~]# df -k /dev/shm

文件系统                1K- 块         已用      可用 已用 % 挂载点

tmpfs                  1037780         0   1037780   0% /dev/shm

[root@ora ~]# df -k /tmp

文件系统                1K- 块         已用      可用 已用 % 挂载点

/dev/sda5              9920592   3165436   6243088  34% /

检查软件情况 (CentOS 5.3 的情况, RHEL 无需改动 ) :

[root@ora ~]# cat /proc/version

Linux version 2.6.18-128.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) #1 SMP Wed Jan 21 10:44:23 EST 2009

[root@ora ~]# uname -a

Linux ora.libcms.net 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux

[root@ora ~]# more /etc/issue

CentOS release 5.3 (Final)

Kernel \r on an \m

[root@ora ~]# cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1               ora.libcms.net ora localhost.localdomain localhost

::1             localhost6.localdomain6 localhost6

将 CentOS 系统伪装成 RedHat

Vi  /etc/redhat-release

修改为 :

Red Hat Enterprise Linux Server release 5.3 (Tikanga)

#cat /proc/partitions 查看现在分区

#cd /mnt 进入挂载目录

#mkdir cdrom 创建光盘挂载区

#mkdir usb 创建U盘挂载区

#mount /dev/sdb /mnt/usb 例如将sdb设备挂载到/mnt/usb目录下

#umount /mnt/usb 使用完毕后将设备卸载
 
 
 

linux的硬件设备在/dev目录下,光驱也是其中。
/dev/cdrom表示光驱,挂载光驱的方法如下(以root身份):


mkdir /mnt/cdrom
mount   -t auto  -o ro   /dev/cdrom       /mnt/cdrom  #不加参数也能自动挂上。



以下是操作的屏幕复制内容:

 

linux@cdyemail:/$ ls /mnt   #查看mnt下面有没有cdrom目录 ,这个是随意的目录。

cdrom  iso  usb  winc  wind

linux@cdyemail:/$ mount /dev/cdrom  /mnt/cdrom   #挂载发现没有权限

mount: 只有 root 才能进行此操作

linux@cdyemail:/$ su  #切换到root用户,也可以用sudo 来取得root权限。

密码: 

root@cdyemail:/# mount -t auto -o ro  /dev/cdrom  /mnt/cdrom   #-t auto类型自动, -o ro只读模式  

root@cdyemail:/# ls -l /mnt/cdrom  #查看光盘内容

root@cdyemail:/# umount  /mnt/cdrom   #删除挂载的光驱

root@cdyemail:/# eject /dev/cdrom         #弹出光驱

root@cdyemail:/# 

 

附:

对于iso镜像文件可以进行挂载

mount -t iso9660  -o loop  iso文件   /mnt/iso

 

你想安装:gcc-4.1.2-46.SEL5_4.2.i386.rpm的软件包,需要先安装相关的软件包,这都有依赖性。 如果,你只想安装gcc-4.1.2-46.SEL5_4.2.i386的软件包的话,就多加一个 --nodeps 的参数就好了

如:rpm -ivh  --nodeps  gcc-4.1.2-46.SEL5_4.2.i386.rpm

这就无需依赖其他的安装包了

rpm -ivh gcc-c++-4.1.2-46.el5.x86_64.rpm  --nodeps --force

安装系统的依赖包 ( 注意对应版本 , 安装系统的时候如果已经处理,这里就无需要安装了 )

 

// 下面是 redhat 5.4 64bit 版本的命令

cd /media/cdrom

cd Server

rpm -ivh binutils-2.17.50.0.6-12.el5.x86_64.rpm

rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm

rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm

rpm -Uvh elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm --nodeps

rpm -ivh elfutils-libelf-devel-0.137-3.el5.x86_64.rpm

rpm -ivh elfutils-libelf-0.137-3.el5.x86_64.rpm

rpm -Uvh elfutils-devel-static-0.137-3.el5.x86_64.rpm --nodeps

rpm -ivh elfutils-libs-0.137-3.el5.x86_64.rpm

rpm -ivh elfutils-devel-0.137-3.el5.x86_64.rpm

rpm -ivh glibc-headers-2.5-42.x86_64.rpm

rpm -ivh glibc-2.5-42.i686.rpm

rpm -ivh glibc-devel-2.5-42.i386.rpm

rpm -ivh glibc-2.5-42.x86_64.rpm

rpm -ivh glibc-common-2.5-42.x86_64.rpm

rpm -ivh glibc-devel-2.5-42.x86_64.rpm

rpm -ivh gcc-4.1.2-46.el5.x86_64.rpm

rpm -ivh gcc-c++-4.1.2-46.el5.x86_64.rpm

rpm -ivh kernel-headers-2.6.18-164.el5.x86_64.rpm

rpm -ivh ksh-20080202-14.el5.x86_64.rpm

rpm -ivh libaio-0.3.106-3.2.i386.rpm

rpm -ivh libaio-0.3.106-3.2.x86_64.rpm

rpm -ivh libaio-devel-0.3.106-3.2.i386.rpm

rpm -ivh libaio-devel-0.3.106-3.2.x86_64.rpm

rpm -ivh libgcc-4.1.2-46.el5.i386.rpm

rpm -ivh libgcc-4.1.2-46.el5.x86_64.rpm

rpm -ivh libgomp-4.4.0-6.el5.x86_64.rpm

rpm -ivh libstdc++-4.1.2-46.el5.x86_64.rpm

rpm -ivh libstdc++-devel-4.1.2-46.el5.x86_64.rpm

rpm -ivh make-3.81-3.el5.x86_64.rpm

rpm -ivh sysstat-7.0.2-3.el5.x86_64.rpm

rpm -ivh unixODBC-2.2.11-7.1.i386.rpm

rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm

rpm -ivh unixODBC-2.2.11-7.1.x86_64.rpm

rpm -ivh unixODBC-devel-2.2.11-7.1.x86_64.rpm

 

增加必须要的用户组与用户

[root@ora ~]# groupadd oinstall

[root@ora ~]# groupadd dba

[root@ora ~]# adduser -g oinstall -G dba oracle

[root@ora ~]# passwd oracle

Changing password for user oracle.

New UNIX password:

BAD PASSWORD: it is based on a dictionary word

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@ora ~]# df -h

[root@ora ~]# mkdir -p /ora/app/oracle/product/

[root@ora ~]# chown -R oracle:oinstall /ora

[root@ora ~]# chmod -R 775 /ora

[root@ora ~]# chown -R oracle:oinstall /oradata

[root@ora ~]# chmod -R 775 /oradata

[root@ora ~]# chown -R oracle:oinstall /orabak

[root@ora ~]# chmod -R 775 /orabak

修改内核参数

[root@ora ~]#vi  /etc/sysctl.conf

kernel.shmmni = 4096

# semaphores: semmsl, semmns, semopm, semmni

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

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

fs.aio-max-nr= 1048576

[root@ora ~]#/sbin/sysctl -p

[root@ora ~]#/sbin/sysctl -a

为 oracle 用户设置 Shell 限制

[root@ora ~]# vi /etc/security/limits.conf

增加:

oracle           soft    nproc   2047

oracle           hard    nproc   16384

oracle           soft    nofile  1024

oracle           hard    nofile  65536

vi /etc/pam.d/login file

增加:

session    required     pam_limits.so\

vi   /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

vi   /etc/csh.login

增加:

if ( $USER == "oracle" ) then

        limit maxproc 16384

        limit descriptors 65536

endif

      修改用户的启动脚本

su oracle

echo $SHELL

cd /home/oracle

vi  .bash_profile

增加如下内容:

ORACLE_BASE=/ora/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

ORACLE_HOME_LISTNER=$ORACLE_BASE/product/11.2.0/dbhome_1

ORACLE_SID=orcl

PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_BASE ORACLE_HOME ORACLE_HOME_LISTNER ORACLE_SID PATH

ORACLE_TERM=xterm

export ORACLE_TERM

TNS_ADMIN=$ORACLE_HOME/network/admin

export TNS_ADMIN

#set the user languages

#NLS_LANG="SIMPLIFIED CHINESE_CHINA".GBK

#LC_CTYPE=zh_CN.GBK

#LC_ALL=zh_CN.UTF8

#LANG=zh_CN.GBK

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

CLASSPATH=$ORACLE_HOME/jdk/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export NLS_LANG LC_CTYPE LC_ALL LANG LD_LIBRARY_PATH CLASSPATH

umask 022

载入启动脚本:

source .bash_profile

上传 oracle 的安装文件到服务器,采用 SFTP 协议传输。

以 oracle 用户上传之 /ora 文件夹

[oracle@ora ora]$ unzip linux_11gR2_database_1of2.zip

[oracle@ora ora]$ unzip linux_11gR2_database_2of2.zip

 

二.安装 Oracle11gR2

cd /ora/database

./runInstaller 开始安装 .
选择高级安装 , 进行自定义安装

在 CentOS 的安装中 , 提示 pdksh 包找不到是正常现象, redhat5 以上的版本已经更名 pdksh 为 ksh 包了,前面我们已经安装了,所以可以忽略

在 CentOS 的安装中 , 会出现一个关于 oraInventory 目录的警告 , 点击 OK, 不用理会继续即可 , 在随后的窗口中将 /oraInventory 修改为 /ora/app/oraInventory
随后参数都是默认 , 在安装中会弹出一个要求执行 /ora/app/oraInventory/oraIinstRoot.sh 和 /ora/app/oracle/product/11.2.0/dbhome_1/root.sh 的提示框 , 可在命令行中 , 以 ROOT 用户执行这两个文件 , 进入 End of installtion 窗口 , 安装结束 .

 

[oracle@test database]$ ./runInstaller
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 120 MB。 实际为 117329 MB 通过
检查交换空间: 必须大于 150 MB。 实际为 1983 MB 通过
检查监视器: 监视器配置至少必须显示 256 种颜色
>>> 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过

未通过某些要求检查。必须先满足这些要求,

然后才能继续安装,那时将重新检查这些要求。

是否继续? (y/n) [n] y


原因:
当时是通过vnc登录的root,然后通过root切换到oracle用户的,注销通过oracle登录就可以!

三.连接测试

如果启动有问题lsnrctl: error while loading shared libraries: /home/oracle/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied

执行

semanage fcontext -a -t textrel_shlib_t   /ora/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1
restorecon -R -v      /ora/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1

启动监听器: lsnrctl start

登陆: sqlplus "/as sysdba"

启动数据库: startup

关闭数据库: shutdown

关闭监听器: lsnrctl stop

启动 EM : emctl start dbconsole

关闭 EM : emctl stop dbconsole

启动 iSQL*Plus : isqlplusctl start

关闭 iSQL*Plus : isqlplusctl stop

如果希望让服务器自动启动,那么需要修改 /etc/oratab 中:

orcl:/ora/app/oracle/product/11.2.0/dbhome_1:Y

 

四.添加系统服务

作为 root 用户创建一个叫做 /etc/init.d/dbora 的文件,包括下面的内容:

#!/bin/sh

# description: Oracle auto start-stop script.

# chkconfig: - 20 80

#

# Set ORA_HOME to be equivalent to the $ORACLE_HOME

# from which you wish to execute dbstart and dbshut;

#

# Set ORA_OWNER to the user id of the owner of the

# Oracle database in ORA_HOME.

ORA_HOME=/ora/app/oracle/product/11.2.0/dbhome_1

 

ORA_OWNER=oracle

if [ ! -f $ORA_HOME/bin/dbstart ]

then

echo "Oracle startup: cannot start"

exit

fi

case "$1" in

'start')

# Start the Oracle databases:

# The following command assumes that the oracle login

# will not prompt the user for any values

su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"

su - $ORA_OWNER -c "emctl start dbconsole"

;;

'stop')

# Stop the Oracle databases:

# The following command assumes that the oracle login

# will not prompt the user for any values

su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"

su - $ORA_OWNER -c "emctl stop dbconsole"

;;

'restart')

$0 stop

$0 start

;;

esac

修改权限为 750

chmod 750 /etc/init.d/dbora

设置服务自动启动

chkconfig --level 345 dbora on

 

如果你遇上: cannot restore segment prot after reloc: Permission denied, 应该是 SELinux 的问题,可以考虑把它关闭。

 

四.添加自动备份服务

作为 root 用户创建一个叫做 /orabak/backup.sh 的文件,包括下面的内容:

#!/bin/bash

 

source /home/oracle/.bash_profile

# 初始化 Oracle 数据库

 

rq=$(date +%Y%m%d)

# 把当天日期赋予变量 rq

 

rm /orabak/backup/full_$rq.dmp

# 清空旧文件

 

exp system/springland  file=/orabak/backup/full_$rq.dmp

log=/orabak/backup/full_$rq.log  full=y compress=y

修改权限为 750

chmod 750 /orabak/backup.sh

设置 Cron 计划自动执行

nano /orabak/backup.txt

30 23 * * * /orabak/backup.sh

crontab –u root /orabak/backup.txt

crontab –l

/etc/init.d/crond restart

 

 

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
MySQL: Pengenalan kepada pangkalan data paling popular di duniaMySQL: Pengenalan kepada pangkalan data paling popular di duniaApr 12, 2025 am 12:18 AM

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

Kepentingan MySQL: Penyimpanan Data dan PengurusanKepentingan MySQL: Penyimpanan Data dan PengurusanApr 12, 2025 am 12:18 AM

MySQL adalah sistem pengurusan pangkalan data sumber terbuka yang sesuai untuk penyimpanan data, pengurusan, pertanyaan dan keselamatan. 1. Ia menyokong pelbagai sistem operasi dan digunakan secara meluas dalam aplikasi web dan bidang lain. 2. Melalui seni bina pelanggan-pelayan dan enjin penyimpanan yang berbeza, MySQL memproses data dengan cekap. 3. Penggunaan asas termasuk membuat pangkalan data dan jadual, memasukkan, menanyakan dan mengemas kini data. 4. Penggunaan lanjutan melibatkan pertanyaan kompleks dan prosedur yang disimpan. 5. Kesilapan umum boleh disahpepijat melalui pernyataan yang dijelaskan. 6. Pengoptimuman Prestasi termasuk penggunaan indeks rasional dan pernyataan pertanyaan yang dioptimumkan.

Mengapa menggunakan mysql? Faedah dan kelebihanMengapa menggunakan mysql? Faedah dan kelebihanApr 12, 2025 am 12:17 AM

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Huraikan mekanisme penguncian InnoDB (kunci yang dikongsi, kunci eksklusif, kunci niat, kunci rekod, kunci jurang, kunci seterusnya).Huraikan mekanisme penguncian InnoDB (kunci yang dikongsi, kunci eksklusif, kunci niat, kunci rekod, kunci jurang, kunci seterusnya).Apr 12, 2025 am 12:16 AM

Mekanisme kunci InnoDB termasuk kunci bersama, kunci eksklusif, kunci niat, kunci rekod, kunci jurang dan kunci utama seterusnya. 1. Kunci dikongsi membolehkan urus niaga membaca data tanpa menghalang urus niaga lain dari membaca. 2. Kunci eksklusif menghalang urus niaga lain daripada membaca dan mengubah suai data. 3. Niat Kunci mengoptimumkan kecekapan kunci. 4. Rekod Rekod Kunci Kunci Rekod. 5. Gap Lock Locks Index Rakaman Gap. 6. Kunci kunci seterusnya adalah gabungan kunci rekod dan kunci jurang untuk memastikan konsistensi data.

Apakah sebab -sebab biasa prestasi pertanyaan MySQL yang lemah?Apakah sebab -sebab biasa prestasi pertanyaan MySQL yang lemah?Apr 12, 2025 am 12:11 AM

Sebab -sebab utama prestasi pertanyaan MySQL yang lemah termasuk tidak menggunakan indeks, pemilihan pelan pelaksanaan yang salah oleh pengoptimasi pertanyaan, reka bentuk jadual yang tidak munasabah, jumlah data yang berlebihan dan persaingan kunci. 1. Tiada indeks menyebabkan pertanyaan perlahan, dan menambah indeks dapat meningkatkan prestasi dengan ketara. 2. Gunakan perintah Jelaskan untuk menganalisis pelan pertanyaan dan cari ralat pengoptimuman. 3. Membina semula struktur meja dan mengoptimumkan keadaan gabungan dapat meningkatkan masalah reka bentuk jadual. 4. Apabila jumlah data adalah besar, pembahagian dan strategi bahagian meja diterima pakai. 5. Dalam persekitaran konkurensi yang tinggi, mengoptimumkan urus niaga dan strategi mengunci dapat mengurangkan persaingan kunci.

Bilakah anda harus menggunakan indeks komposit berbanding indeks lajur tunggal?Bilakah anda harus menggunakan indeks komposit berbanding indeks lajur tunggal?Apr 11, 2025 am 12:06 AM

Dalam pengoptimuman pangkalan data, strategi pengindeksan hendaklah dipilih mengikut keperluan pertanyaan: 1. Apabila pertanyaan melibatkan pelbagai lajur dan urutan syarat ditetapkan, gunakan indeks komposit; 2. Apabila pertanyaan melibatkan pelbagai lajur tetapi urutan syarat tidak ditetapkan, gunakan pelbagai indeks lajur tunggal. Indeks komposit sesuai untuk mengoptimumkan pertanyaan berbilang lajur, manakala indeks lajur tunggal sesuai untuk pertanyaan tunggal lajur.

Bagaimana untuk mengenal pasti dan mengoptimumkan pertanyaan perlahan di MySQL? (Log pertanyaan perlahan, prestasi_schema)Bagaimana untuk mengenal pasti dan mengoptimumkan pertanyaan perlahan di MySQL? (Log pertanyaan perlahan, prestasi_schema)Apr 10, 2025 am 09:36 AM

Untuk mengoptimumkan pertanyaan perlahan MySQL, SlowQuerylog dan Performance_Schema perlu digunakan: 1. Dayakan SlowQueryLog dan tetapkan ambang untuk merakam pertanyaan perlahan; 2. Gunakan Performance_Schema untuk menganalisis butiran pelaksanaan pertanyaan, cari kesesakan prestasi dan mengoptimumkan.

MySQL dan SQL: Kemahiran Penting untuk PemajuMySQL dan SQL: Kemahiran Penting untuk PemajuApr 10, 2025 am 09:30 AM

MySQL dan SQL adalah kemahiran penting untuk pemaju. 1.MYSQL adalah sistem pengurusan pangkalan data sumber terbuka, dan SQL adalah bahasa standard yang digunakan untuk mengurus dan mengendalikan pangkalan data. 2.MYSQL menyokong pelbagai enjin penyimpanan melalui penyimpanan data yang cekap dan fungsi pengambilan semula, dan SQL melengkapkan operasi data yang kompleks melalui pernyataan mudah. 3. Contoh penggunaan termasuk pertanyaan asas dan pertanyaan lanjutan, seperti penapisan dan penyortiran mengikut keadaan. 4. Kesilapan umum termasuk kesilapan sintaks dan isu -isu prestasi, yang boleh dioptimumkan dengan memeriksa penyataan SQL dan menggunakan perintah menjelaskan. 5. Teknik pengoptimuman prestasi termasuk menggunakan indeks, mengelakkan pengimbasan jadual penuh, mengoptimumkan operasi menyertai dan meningkatkan kebolehbacaan kod.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.