ผู้ดูแลฐานข้อมูล

ถามตอบสำหรับผู้เชี่ยวชาญด้านฐานข้อมูลที่ต้องการพัฒนาทักษะฐานข้อมูลและเรียนรู้จากผู้อื่นในชุมชน

2
วิธีการกู้คืนตาราง InnoDB ซึ่งไฟล์ถูกย้ายไปมา
ดังนั้นฉันมีเซิร์ฟเวอร์ทดสอบ db ที่ติดตั้งในกระแสการจำลอง โดยชื่อการเพิ่มประสิทธิภาพผ่านมาซึ่งเต็มพื้นที่อย่างรวดเร็วบนทาสข้อมูล Mysql ตามหน้าที่กำลังรอพื้นที่เพิ่มขึ้น datadir นี้เป็นระบบไฟล์ที่ใช้เป็น datadir ของ mysql เท่านั้นดังนั้นจึงไม่มีสิ่งอื่นใดที่จะทำให้ว่าง ฉันมีตารางการทดสอบขนาด 4 กิ๊กที่ไม่ได้เป็นส่วนหนึ่งของกระแสข้อมูลการจำลองดังนั้นฉันจึงคิดว่าฉันลองทำบางสิ่งเพื่อดูว่ามันใช้งานได้หรือไม่และการเป็นสภาพแวดล้อมการทดสอบ นี่คือขั้นตอนที่ฉันทำ ล้างตารางที่ฉันกำลังจะย้าย วางล็อกการอ่านไว้ (แม้ว่าจะไม่มีอะไรถูกเขียนลงไปและไม่ได้อยู่ในสตรีมการจำลองแบบ) คัดลอก. frm และ. ibd ไปยังระบบไฟล์ที่มีห้องว่าง ปลดล็อกตาราง ตัดทอนตารางนั้น - ทำให้มีพื้นที่ว่างเพียงพอสำหรับการปรับให้เสร็จสมบูรณ์เมื่อการเรพลิเคทเริ่มต้นการสับอีกครั้ง หยุดทาส / ปิด mysql คัดลอกไฟล์จาก tmp กลับไปยัง data dir รีสตาร์ท mysql ไม่มีสิ่งใดปรากฏในบันทึก .err สิ่งต่าง ๆ ดูดี ฉันเชื่อมต่อและใช้ mydb; และดูตารางที่ฉันเล่นด้วยในตารางแสดง แต่ถ้าฉันลอง select * …

1
ทำซ้ำตารางไปยังชื่อฐานข้อมูลอื่น
สภาพแวดล้อมการควบคุมคุณภาพของเรามีชื่อฐานข้อมูลทั้งหมดที่ต่อท้ายด้วย "ทดสอบ" ตัวอย่างเช่น dbname1 ในการผลิตจะมี dbname1test สำรองใน QA (ส่วนใหญ่จะช่วยป้องกันการตั้งค่า prod / qa ที่ผสมกัน) มีตารางจำนวนหนึ่งที่ฉันต้องการจำลองตารางการผลิตจริงลงใน QA ฉันไม่แน่ใจว่าจะบอกให้พูดว่า "ทำซ้ำจาก dbname1 ไปยัง dbname1test ที่นั่นหรือไม่" เป็นไปได้ไหม

2
ฉันจะแยกผู้ใช้อื่นทั้งหมดออกจากฐานข้อมูล postgres ได้อย่างไร
ฉันต้องการการเข้าถึงฐานข้อมูลพิเศษ เป็นไปได้หรือไม่ที่ใช้คำสั่ง SQL เพื่อ "แยก" ผู้ใช้รายอื่นทั้งหมดจากฐานข้อมูล postgres หรืออาจปิดการเชื่อมต่ออื่น ๆ ทั้งหมดจากนั้นได้รับการเข้าถึงแบบเอกสิทธิ์ สำหรับการทดสอบหน่วยและการทดสอบนั้นจะดำเนินการด้วยตนเองเท่านั้นจึงไม่มีอันตรายใด ๆ เฉพาะการเชื่อมต่อที่ตายแล้วเท่านั้นที่จะได้รับผลกระทบ ไม่มีผู้ใช้รายอื่นเชื่อมต่อกับฐานข้อมูลที่ไม่สำคัญที่สุดเหล่านี้ การเชื่อมต่อที่ตายแล้วมาจากการพัฒนา สิ่งนี้จะเกิดขึ้นตลอดเวลาเมื่อการทดสอบที่กำลังเขียนหรือล้มเหลวไม่ออกจากการทำความสะอาด หากใครบางคนยังต้องปิดกั้นผู้ใช้คนอื่นอยู่ครู่หนึ่งหลังจากยกเลิกการเชื่อมต่อพวกเขาในสถานการณ์การผลิตดูคำตอบของ Scott Marlowe ด้านล่าง: /dba//a/6184/2024 ดูคำถามที่คล้ายกันนี้ใน dba: จะยกเลิกการเชื่อมต่อทั้งหมดไปยังฐานข้อมูลเฉพาะได้อย่างไรโดยไม่ต้องหยุดเซิร์ฟเวอร์
13 postgresql 

1
ปรับปรุงประสิทธิภาพ BCP สำหรับข้อมูล BLOB
ฉันเป็นกระบวนการในการวางแผนการโยกย้ายแบบสดของฐานข้อมูล 2TB ไปยังตารางที่แบ่งพาร์ติชัน ระบบกำลังพูดอย่างกว้างขวางในการจัดเก็บเอกสารพื้นที่ส่วนใหญ่ถูกจัดสรรให้กับ LOBs ระหว่าง 50kb และ 500kb โดยมีเปอร์เซ็นต์เล็กน้อยในช่วง 500kb ถึง 1MB ส่วนหนึ่งของการโยกย้ายจะเกี่ยวข้องกับข้อมูล BCPing จากฐานข้อมูลเก่าไปยังฐานข้อมูลใหม่ BCP เป็นวิธีการที่ต้องการเนื่องจากการแบ่งปัจจุบัน / ประวัติศาสตร์ในข้อมูลอนุญาตให้แยกข้อมูลเก่าในขั้นตอน (ในช่วงเวลาที่เงียบสงบ) ล่วงหน้าของสวิตช์สุดท้ายซึ่งช่วยลดผลกระทบต่อระบบถ่ายทอดสด ปริมาณของข้อมูลและความพร้อมของการจัดเก็บติ๊ดในแหล่งกำเนิดสร้างโครงการพาร์ทิชัน ฉันสงสัยว่าอาจมีการเพิ่มประสิทธิภาพบางอย่างจากการทดลองกับ KILOBYTES_PER_BATCH มากกว่า ROWS_PER_BATCH เนื่องจากเนื้อหา BLOB แนะนำในเอกสารคู่มือBCPที่ SQL สามารถปรับการดำเนินงานให้เหมาะสมตามค่านี้ สิ่งที่ฉันไม่สามารถหาได้คือแนวทางใด ๆ เกี่ยวกับลักษณะของการเพิ่มประสิทธิภาพเหล่านี้หรือที่ที่จะเริ่มการทดสอบของฉัน ในความไม่สมบูรณ์ของคำแนะนำฉันจะลองวิ่งระยะสั้นที่ขอบเขต 4/8/16/32 / 64mb เพื่อเริ่มต้น อาจได้ประโยชน์จากการเปลี่ยนขนาดแพ็คเก็ต (พารามิเตอร์ BCP -a แทนที่จะเป็นการตั้งค่าระดับเซิร์ฟเวอร์) แต่ฉันมีแนวโน้มที่จะชนสิ่งนี้เป็นจำนวนสูงสุด 65535 เว้นแต่ว่าใครมีวิธีการสูตรมากขึ้น

5
SentryOne Plan Explorer ทำงานหรือไม่
ไม่SentryOne แผน Explorer ในการทำงานตามที่โฆษณาและมันเป็นเรื่องที่ถูกต้อง? มี gotchas หรืออะไรที่ต้องกังวล? ดูเหมือนว่ามันจะแสดงเส้นทางร้อนในสีซึ่งเทียบกับฝันร้ายของ SSMS สำหรับแผนการดำเนินการโดยประมาณ ความกังวลของฉันคือ - มันแก้ไขข้อมูลใด ๆ ที่เป็นอันตรายหรือไม่? แก้ไข : ฉันเพิ่งได้ยินมันและไม่เคยได้ยิน บริษัท มาก่อน

2
INSERT ได้รับการกำหนดอัตโนมัติหรือไม่
แอปพลิเคชันของเรายิงแบบสอบถาม INSERT ไปยังฐานข้อมูล MySQL เพื่อเพิ่มบันทึก ฉันต้องการทราบว่าบันทึกได้รับการกำหนดอัตโนมัติหรือไม่ ถ้าฉันรันคำสั่ง ROLLBACK ฐานข้อมูลจะทำการย้อนกลับเมื่อใด การย้อนกลับเป็นไปได้หลังจากคอมมิชชันหรือไม่?
13 mysql  innodb 

5
ทางเลือกใน MySQL Workbench [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ดูแลฐานข้อมูล Exchange Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันพบปัญหาเกี่ยวกับ MySQL Workbench ที่ฉันไม่แน่ใจว่าจะสามารถแก้ไขได้ ( เช่นสิ่งที่ดูเหมือนจะเป็นข้อผิดพลาดเก่าที่อาจมีการเผยแพร่ใหม่ ) ดังนั้นฉันจึงต้องการหา สำรองข้อมูลได้ดีในกรณีที่ฉันไม่สามารถใช้งานได้ ฉันได้กรองหลายทางเลือกที่แนะนำเช่น Navicat (Navicat ไม่ฟรีสำหรับการใช้งานทางธุรกิจเพียงทดลองใช้ 30 วัน) แต่ไม่มีใครตอบสนองความต้องการในปัจจุบันของฉันได้อย่างน่าพอใจ สิ่งที่ฉันต้องการ: ใช้งานร่วมกับ Linux ได้ (เด่นกว่า Linux ดั้งเดิมฉันใช้ Ubuntu) สามารถเชื่อมต่อกับฐานข้อมูลระยะไกลผ่าน SSH tunneling ได้ ฟรีและ / หรือโอเพ่นซอร์ส (ขณะนี้ฉันไม่มีเงินที่จะใช้จ่าย $ 100 + สำหรับผลิตภัณฑ์และต้องการสนับสนุนโครงการโอเพ่นซอร์สที่ดีอยู่ดี) อย่างน้อยอินเทอร์เฟซของ Workbench (อาจเป็นเพราะฉันคุ้นเคยกับมัน แต่ฉันชอบอินเทอร์เฟซที่สะอาดมากและใช้งานง่ายกว่าแท็บอินเตอร์เฟส; ไม่ต้องเหมือนกัน) …

4
คำสั่ง SQL Server ช้าเป็นระยะ ๆ บน SQL Server 2008 R2
ในลูกค้ารายหนึ่งของเราเราพบปัญหาเกี่ยวกับประสิทธิภาพในการสมัครของเรา เป็นแอปพลิเคชั่นเว็บ. NET 3.5 ที่ใช้งานและอัพเดทข้อมูลในฐานข้อมูล SQL Server ปัจจุบันสภาพแวดล้อมการผลิตของเราประกอบด้วยเครื่อง Windows 2008 R2 เป็นส่วนหน้าและคลัสเตอร์ SQL Server 2008 R2 ที่ส่วนหลัง แอพของเราใช้ COM + และ MSDTC เพื่อเชื่อมต่อกับฐานข้อมูล นี่คือสิ่งที่เกิดขึ้น: บางครั้งผู้ใช้ของเราบ่นว่าความเชื่องช้าในแอปพลิเคชัน บางหน้าใช้เวลาโหลดมากกว่าที่คาดไว้ ในขณะที่พยายามคิดว่าเกิดอะไรขึ้นฉันพยายามหาพฤติกรรมแปลก ๆ ในด้านฐานข้อมูลที่อาจเป็นสาเหตุให้ประสิทธิภาพการทำงานลดลง ฉันสังเกตเห็นว่าบางครั้งมีคำสั่ง SQL บางคำที่ต้องใช้เวลามากในการรันสิ่งที่คาดหวัง ฉันจัดการเพื่อระบุบางส่วนของคำสั่งเหล่านี้ (ส่วนใหญ่เป็นการเรียกร้องให้บางส่วนของขั้นตอนการจัดเก็บใบสมัครของเรา) โดยใช้การติดตาม profiler (ด้วยแม่แบบ TSQL_Duration) เพื่อระบุการสืบค้นที่ใช้เวลานาน ปัญหาคือเมื่อฉันเรียกใช้ขั้นตอนการจัดเก็บเหล่านี้โดยตรงในฐานข้อมูลใน SQL Management Studio บางครั้งพวกเขาใช้เวลานาน (ประมาณ 7/8 วินาที) บางครั้งก็รวดเร็ว (น้อยกว่า 1 …

2
ตัดทอนฐานข้อมูล SQL Server ขนาดใหญ่
ฉันมีฐานข้อมูลทดสอบ SQL Server 2008 ขนาดใหญ่ (1.9TB) และฉันต้องการลดขนาดลงบนดิสก์ ฉันลบตารางที่ไม่ได้ใช้ไปแล้วและกำจัดข้อมูลจำนวนมาก แต่ขนาดของดิสก์ไม่ลดลง ฉันควรทำอย่างไรดี? ฉันได้ดูงาน Shrink ใน SSMS แล้ว แต่ตัวเลือกกำลังสับสน ฉันลดขนาดฐานข้อมูลหรือไฟล์หรือไม่? และมีตัวเลือกอะไร?
13 sql-server 

3
ฉันจะส่งออกบันทึก MySQL ไปยัง syslog ได้อย่างไร
ฉันต้องการใช้ syslog สำหรับการบันทึก MySQL (5.1.41) บน Ubuntu (10.04 LTS) ฉันพบข้อมูลที่บันทึกข้อผิดพลาดเอาต์พุตไปยัง syslog [mysqld_safe] syslog แต่ฉันต้องการใช้ syslog สำหรับการบันทึกบันทึกทั่วไปและบันทึกแบบสอบถามช้า โปรดแนะนำฉันเกี่ยวกับวิธีเขียนไฟล์ปรับแต่ง? ฉันไม่พบวิธีการทำเช่นนั้นในคู่มืออ้างอิง http://dev.mysql.com/doc/refman/5.1/en/log-destinations.html
13 mysql  logs 


6
สร้างจำนวนที่เพิ่มขึ้นในแบบสอบถาม Oracle oracle
วิธีการสร้างจำนวนที่เพิ่มขึ้นในแบบสอบถาม Oracle oracle โดยไม่ต้องสร้างตารางใด ๆ ? ฉันได้ลองใช้ประโยค "with" แต่ฉันไม่สามารถได้ผลลัพธ์ตามที่คาดหวัง ฉันใช้ oracle 10g นี่คือรหัสที่ฉันลองใช้ดูเหมือนว่าจะไม่ทำงาน: WITH TABLE3 AS ( SELECT 2008 YEARS FROM dual WHERE 1=1 union all select t3.YEARS+1 from TABLE3 t3 WHERE 1=1 AND t3.YEARS < 2011 ) select YEARS from TABLE3 ผลลัพธ์ที่ฉันต้องการคือ: 2008 2009 2010 2011
13 oracle-10g 

4
การสร้างฐานข้อมูล DBA ส่วนกลาง
เรามีเซิร์ฟเวอร์มากกว่า 200+ ตัวและฉันคิดว่าจะสร้างฐานข้อมูล DBA แบบรวมศูนย์ซึ่งมันจะทำการสำรองข้อมูลข้อผิดพลาดงานพื้นที่และสร้างรายงานบน SSRS ฉันไม่แน่ใจว่าจะเริ่มจากตรงไหนและจะขอขอบคุณสำหรับความช่วยเหลือของคุณ ขอบคุณมาก.

5
คุณลักษณะใดของออราเคิลทำให้เป็นตัวเลือกที่น่าสนใจสำหรับโครงการขนาดเล็ก
เนื่องจากการจัดการสิทธิ์ใช้งานของออราเคิล[a] (และมีค่าใช้จ่ายน้อยกว่านี้) ฉันสงสัยอยู่เสมอว่าปัจจัยในการตัดสินใจเลือกใช้ Oracle บน PostgreSQL หรือ MySQL เป็นอย่างไร บริษัท ของฉันมักจะเลือกใช้ Oracle (XE มากที่สุด) แม้จะเป็นโครงการขนาดเล็กที่มี Windows Server เพียงกล่องเดียวที่รันฐานข้อมูลโดยไม่มีการจัดการฐานข้อมูลโดยเฉพาะ (โปรดทราบว่าขนาดเล็กไม่ได้หมายความว่าข้อมูลจะพอดีกับข้อ จำกัด ขนาดเล็กของ Oracle XE เสมอ) ฉันตั้งคำถามกับตัวเลือกนี้อยู่เสมอ แต่อย่างน้อยก็มีข้อดีที่เราได้สัมผัสกับผลิตภัณฑ์ฐานข้อมูลเดียว ยังได้รับโครงการใหม่ที่คุณต้องการ RDBMS แต่โครงการและขอบเขตของฐานข้อมูลนั้นค่อนข้างเล็กโดยขึ้นอยู่กับคุณลักษณะเฉพาะของ Oracle ที่ทำงานบนกล่องเซิร์ฟเวอร์ Windows แบบง่าย ๆ (โดยไม่ต้องมีการจัดการที่เฉพาะเจาะจงมากเกินไป) อีก RDBMS? บริบทเพิ่มเติม : การปรับใช้ฐานข้อมูลจำนวนมากของเราทำงานที่ไซต์ของลูกค้าใน a ให้เรียกมันว่า "โหมดการดูแลต่ำ" นั่นคือฐานข้อมูลถูกตั้งค่าครั้งเดียว มีการทดสอบเบื้องต้นเกี่ยวกับพฤติกรรมและประสิทธิภาพที่ถูกต้องในไซต์ หลังจากนี้ฐานข้อมูลก็จะเปิดอยู่ ไม่มีการบริหารปกติทำ เฉพาะในกรณีที่มีสิ่งผิดปกติช่างเทคนิค (ไม่ใช่ DBA …

3
ประสิทธิภาพของ SQL Server ลดลงอย่างฉับพลัน
ฉันมี SQL Server 2005 ที่คาดเดาไม่ได้ว่าล่าช้าและฉันเกาหัวว่าทำไม แบบสอบถามที่ดำเนินการในไม่กี่วินาทีกำลังเปลี่ยนแผนและใช้เวลาไม่กี่นาที (สละเวลาในการสแกนเต็มตารางหรือสปูลดัชนี) ตอนนี้สิ่งแรกและชัดเจนที่สุดคือสถิติล้าสมัยทำให้เครื่องมือเพิ่มประสิทธิภาพสับสน แต่ฉันเชื่อว่านี่ไม่ใช่กรณี - ประการแรกเนื่องจากข้อมูลพื้นฐานไม่เปลี่ยนแปลงอย่างมีนัยสำคัญ (เช่นการเพิ่มข้อมูลหนึ่งวันบนข้อมูลหนึ่งปี มีอยู่ในตารางแล้ว) และอันดับที่สองเนื่องจากสถิติการสร้างอัตโนมัติและสถิติการอัปเดตอัตโนมัติเป็นจริงทั้งคู่ แต่เพิ่มประสิทธิภาพอยู่ในการสับสน; การรัน SQL ในโปรแกรมช่วยแนะนำการปรับแต่งให้CREATE STATISTICSคำสั่งหลายคอลัมน์มากมายซึ่งดูเหมือนว่าจะแก้ไขได้ ความคิดใดของกลยุทธ์ที่ฉันสามารถใช้เพื่อเข้าใกล้รากสาเหตุนี้ ทำไมสถิติ "ปกติ" ไม่เพียงพอ?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.